@@ -1445,10 +1445,9 @@ define <2 x i64> @vadd_vx_v2i64_to_sub(<2 x i64> %va, <2 x i1> %m, i32 zeroext %
14451445; RV64-LABEL: vadd_vx_v2i64_to_sub:
14461446; RV64: # %bb.0:
14471447; RV64-NEXT: li a1, -1
1448- ; RV64-NEXT: slli a1, a1, 40
1449- ; RV64-NEXT: addi a1, a1, 1
1448+ ; RV64-NEXT: srli a1, a1, 24
14501449; RV64-NEXT: vsetvli zero, a0, e64, m1, ta, ma
1451- ; RV64-NEXT: vadd .vx v8, v8, a1, v0.t
1450+ ; RV64-NEXT: vsub .vx v8, v8, a1, v0.t
14521451; RV64-NEXT: ret
14531452 %v = call <2 x i64 > @llvm.vp.add.v2i64 (<2 x i64 > splat (i64 -1099511627775 ), <2 x i64 > %va , <2 x i1 > %m , i32 %evl )
14541453 ret <2 x i64 > %v
@@ -1473,10 +1472,9 @@ define <2 x i64> @vadd_vx_v2i64_to_sub_swapped(<2 x i64> %va, <2 x i1> %m, i32 z
14731472; RV64-LABEL: vadd_vx_v2i64_to_sub_swapped:
14741473; RV64: # %bb.0:
14751474; RV64-NEXT: li a1, -1
1476- ; RV64-NEXT: slli a1, a1, 40
1477- ; RV64-NEXT: addi a1, a1, 1
1475+ ; RV64-NEXT: srli a1, a1, 24
14781476; RV64-NEXT: vsetvli zero, a0, e64, m1, ta, ma
1479- ; RV64-NEXT: vadd .vx v8, v8, a1, v0.t
1477+ ; RV64-NEXT: vsub .vx v8, v8, a1, v0.t
14801478; RV64-NEXT: ret
14811479 %v = call <2 x i64 > @llvm.vp.add.v2i64 (<2 x i64 > %va , <2 x i64 > splat (i64 -1099511627775 ), <2 x i1 > %m , i32 %evl )
14821480 ret <2 x i64 > %v
0 commit comments