@@ -17,8 +17,7 @@ define i8 @abs8(i8 %x) {
1717; RV32I-LABEL: abs8:
1818; RV32I: # %bb.0:
1919; RV32I-NEXT: slli a1, a0, 24
20- ; RV32I-NEXT: srai a1, a1, 24
21- ; RV32I-NEXT: srai a1, a1, 7
20+ ; RV32I-NEXT: srai a1, a1, 31
2221; RV32I-NEXT: add a0, a0, a1
2322; RV32I-NEXT: xor a0, a0, a1
2423; RV32I-NEXT: ret
@@ -33,8 +32,7 @@ define i8 @abs8(i8 %x) {
3332; RV64I-LABEL: abs8:
3433; RV64I: # %bb.0:
3534; RV64I-NEXT: slli a1, a0, 24
36- ; RV64I-NEXT: sraiw a1, a1, 24
37- ; RV64I-NEXT: sraiw a1, a1, 7
35+ ; RV64I-NEXT: sraiw a1, a1, 31
3836; RV64I-NEXT: addw a0, a0, a1
3937; RV64I-NEXT: xor a0, a0, a1
4038; RV64I-NEXT: ret
@@ -53,8 +51,7 @@ define i16 @abs16(i16 %x) {
5351; RV32I-LABEL: abs16:
5452; RV32I: # %bb.0:
5553; RV32I-NEXT: slli a1, a0, 16
56- ; RV32I-NEXT: srai a1, a1, 16
57- ; RV32I-NEXT: srai a1, a1, 15
54+ ; RV32I-NEXT: srai a1, a1, 31
5855; RV32I-NEXT: add a0, a0, a1
5956; RV32I-NEXT: xor a0, a0, a1
6057; RV32I-NEXT: ret
@@ -69,8 +66,7 @@ define i16 @abs16(i16 %x) {
6966; RV64I-LABEL: abs16:
7067; RV64I: # %bb.0:
7168; RV64I-NEXT: slli a1, a0, 16
72- ; RV64I-NEXT: sraiw a1, a1, 16
73- ; RV64I-NEXT: sraiw a1, a1, 15
69+ ; RV64I-NEXT: sraiw a1, a1, 31
7470; RV64I-NEXT: addw a0, a0, a1
7571; RV64I-NEXT: xor a0, a0, a1
7672; RV64I-NEXT: ret
0 commit comments