diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td index 6cf3dbda5b016..6e5ee8043e929 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td @@ -1683,7 +1683,7 @@ let Constraints = "@earlyclobber $vd", RVVConstraint = Vcompress in { defm VCOMPRESS_V : VCPR_MV_Mask<"vcompress", 0b010111>; } // Constraints = "@earlyclobber $vd", RVVConstraint = Vcompress -let hasSideEffects = 0, mayLoad = 0, mayStore = 0, +let hasSideEffects = 0, mayLoad = 0, mayStore = 0, isMoveReg = 1, RVVConstraint = NoConstraint in { // A future extension may relax the vector register alignment restrictions. foreach n = [1, 2, 4, 8] in { diff --git a/llvm/test/CodeGen/RISCV/rvv/copyprop.mir b/llvm/test/CodeGen/RISCV/rvv/copyprop.mir index 7c9429906ab61..eb4c8bfdd67f9 100644 --- a/llvm/test/CodeGen/RISCV/rvv/copyprop.mir +++ b/llvm/test/CodeGen/RISCV/rvv/copyprop.mir @@ -23,8 +23,7 @@ ; CHECK-NEXT: li a2, 128 ; CHECK-NEXT: bgeu a0, a2, .LBB0_2 ; CHECK-NEXT: .LBB0_4: # %entry - ; CHECK-NEXT: vmv1r.v v8, v9 - ; CHECK-NEXT: vse64.v v8, (a1) + ; CHECK-NEXT: vse64.v v9, (a1) ; CHECK-NEXT: ret entry: ret void