55define signext i32 @rotl_32 (i32 signext %x , i32 signext %y ) nounwind {
66; LA32-LABEL: rotl_32:
77; LA32: # %bb.0:
8- ; LA32-NEXT: ori $a2, $zero, 32
9- ; LA32-NEXT: sub.w $a1, $a2, $a1
8+ ; LA32-NEXT: sub.w $a1, $zero, $a1
109; LA32-NEXT: rotr.w $a0, $a0, $a1
1110; LA32-NEXT: ret
1211;
1312; LA64-LABEL: rotl_32:
1413; LA64: # %bb.0:
15- ; LA64-NEXT: ori $a2, $zero, 32
16- ; LA64-NEXT: sub.d $a1, $a2, $a1
14+ ; LA64-NEXT: sub.d $a1, $zero, $a1
1715; LA64-NEXT: rotr.w $a0, $a0, $a1
1816; LA64-NEXT: ret
1917 %z = sub i32 32 , %y
@@ -80,8 +78,7 @@ define i64 @rotl_64(i64 %x, i64 %y) nounwind {
8078;
8179; LA64-LABEL: rotl_64:
8280; LA64: # %bb.0:
83- ; LA64-NEXT: ori $a2, $zero, 64
84- ; LA64-NEXT: sub.d $a1, $a2, $a1
81+ ; LA64-NEXT: sub.d $a1, $zero, $a1
8582; LA64-NEXT: rotr.d $a0, $a0, $a1
8683; LA64-NEXT: ret
8784 %z = sub i64 64 , %y
@@ -149,8 +146,7 @@ define signext i32 @rotl_32_mask(i32 signext %x, i32 signext %y) nounwind {
149146;
150147; LA64-LABEL: rotl_32_mask:
151148; LA64: # %bb.0:
152- ; LA64-NEXT: ori $a2, $zero, 32
153- ; LA64-NEXT: sub.d $a1, $a2, $a1
149+ ; LA64-NEXT: sub.d $a1, $zero, $a1
154150; LA64-NEXT: rotr.w $a0, $a0, $a1
155151; LA64-NEXT: ret
156152 %z = sub i32 0 , %y
@@ -170,8 +166,7 @@ define signext i32 @rotl_32_mask_and_63_and_31(i32 signext %x, i32 signext %y) n
170166;
171167; LA64-LABEL: rotl_32_mask_and_63_and_31:
172168; LA64: # %bb.0:
173- ; LA64-NEXT: ori $a2, $zero, 32
174- ; LA64-NEXT: sub.d $a1, $a2, $a1
169+ ; LA64-NEXT: sub.d $a1, $zero, $a1
175170; LA64-NEXT: rotr.w $a0, $a0, $a1
176171; LA64-NEXT: ret
177172 %a = and i32 %y , 63
@@ -192,8 +187,7 @@ define signext i32 @rotl_32_mask_or_64_or_32(i32 signext %x, i32 signext %y) nou
192187;
193188; LA64-LABEL: rotl_32_mask_or_64_or_32:
194189; LA64: # %bb.0:
195- ; LA64-NEXT: ori $a2, $zero, 32
196- ; LA64-NEXT: sub.d $a1, $a2, $a1
190+ ; LA64-NEXT: sub.d $a1, $zero, $a1
197191; LA64-NEXT: rotr.w $a0, $a0, $a1
198192; LA64-NEXT: ret
199193 %a = or i32 %y , 64
0 commit comments