diff --git a/src/cmd/asm/internal/asm/testdata/riscv64.s b/src/cmd/asm/internal/asm/testdata/riscv64.s
index a9447861bd4c8a5338125687d923a0b3d0b94429..0db846a3a1243c9f3e46d3b68e6eba8978134794 100644
--- a/src/cmd/asm/internal/asm/testdata/riscv64.s
+++ b/src/cmd/asm/internal/asm/testdata/riscv64.s
@@ -438,9 +438,9 @@ start:
 	VSETVLI	X10, E32, M2, TA, MA, X12		// 5776150d
 	VSETVLI	X10, E32, M4, TA, MA, X12		// 5776250d
 	VSETVLI	X10, E32, M8, TA, MA, X12		// 5776350d
-	VSETVLI	X10, E32, MF2, TA, MA, X12		// 5776550d
+	VSETVLI	X10, E32, MF8, TA, MA, X12		// 5776550d
 	VSETVLI	X10, E32, MF4, TA, MA, X12		// 5776650d
-	VSETVLI	X10, E32, MF8, TA, MA, X12		// 5776750d
+	VSETVLI	X10, E32, MF2, TA, MA, X12		// 5776750d
 	VSETVLI	X10, E32, M1, TA, MA, X12		// 5776050d
 	VSETVLI	$15, E32, M1, TA, MA, X12		// 57f607cd
 	VSETIVLI $0, E32, M1, TA, MA, X12		// 577600cd
diff --git a/src/cmd/internal/obj/riscv/cpu.go b/src/cmd/internal/obj/riscv/cpu.go
index d87b6b1efbd4e05d1ce1d177f28706c8cb92d96a..382c08a9d96f5f76b38c17cfa5d0a3a4966c7b37 100644
--- a/src/cmd/internal/obj/riscv/cpu.go
+++ b/src/cmd/internal/obj/riscv/cpu.go
@@ -1297,9 +1297,9 @@ var specialOperands = map[SpecialOperand]struct {
 	SPOP_M2:  {encoding: 1, name: "M2"},
 	SPOP_M4:  {encoding: 2, name: "M4"},
 	SPOP_M8:  {encoding: 3, name: "M8"},
-	SPOP_MF2: {encoding: 5, name: "MF2"},
+	SPOP_MF8: {encoding: 5, name: "MF8"},
 	SPOP_MF4: {encoding: 6, name: "MF4"},
-	SPOP_MF8: {encoding: 7, name: "MF8"},
+	SPOP_MF2: {encoding: 7, name: "MF2"},
 
 	SPOP_E8:  {encoding: 0, name: "E8"},
 	SPOP_E16: {encoding: 1, name: "E16"},