@@ -22,7 +22,7 @@ define signext i16 @sh1add(i64 %0, ptr %1) {
2222;
2323; RV32XANDESPERF-LABEL: sh1add:
2424; RV32XANDESPERF: # %bb.0:
25- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a2
25+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a2, a0
2626; RV32XANDESPERF-NEXT: lh a0, 0(a0)
2727; RV32XANDESPERF-NEXT: ret
2828 %3 = getelementptr inbounds i16 , ptr %1 , i64 %0
@@ -46,7 +46,7 @@ define i32 @sh2add(i64 %0, ptr %1) {
4646;
4747; RV32XANDESPERF-LABEL: sh2add:
4848; RV32XANDESPERF: # %bb.0:
49- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a2
49+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a2, a0
5050; RV32XANDESPERF-NEXT: lw a0, 0(a0)
5151; RV32XANDESPERF-NEXT: ret
5252 %3 = getelementptr inbounds i32 , ptr %1 , i64 %0
@@ -72,7 +72,7 @@ define i64 @sh3add(i64 %0, ptr %1) {
7272;
7373; RV32XANDESPERF-LABEL: sh3add:
7474; RV32XANDESPERF: # %bb.0:
75- ; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a2
75+ ; RV32XANDESPERF-NEXT: nds.lea.d a1, a2, a0
7676; RV32XANDESPERF-NEXT: lw a0, 0(a1)
7777; RV32XANDESPERF-NEXT: lw a1, 4(a1)
7878; RV32XANDESPERF-NEXT: ret
@@ -99,7 +99,7 @@ define i32 @addmul6(i32 %a, i32 %b) {
9999; RV32XANDESPERF-LABEL: addmul6:
100100; RV32XANDESPERF: # %bb.0:
101101; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a0
102- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
102+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
103103; RV32XANDESPERF-NEXT: ret
104104 %c = mul i32 %a , 6
105105 %d = add i32 %c , %b
@@ -123,7 +123,7 @@ define i32 @addmul10(i32 %a, i32 %b) {
123123; RV32XANDESPERF-LABEL: addmul10:
124124; RV32XANDESPERF: # %bb.0:
125125; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a0
126- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
126+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
127127; RV32XANDESPERF-NEXT: ret
128128 %c = mul i32 %a , 10
129129 %d = add i32 %c , %b
@@ -148,7 +148,7 @@ define i32 @addmul12(i32 %a, i32 %b) {
148148; RV32XANDESPERF-LABEL: addmul12:
149149; RV32XANDESPERF: # %bb.0:
150150; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a0
151- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
151+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
152152; RV32XANDESPERF-NEXT: ret
153153 %c = mul i32 %a , 12
154154 %d = add i32 %c , %b
@@ -172,7 +172,7 @@ define i32 @addmul18(i32 %a, i32 %b) {
172172; RV32XANDESPERF-LABEL: addmul18:
173173; RV32XANDESPERF: # %bb.0:
174174; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a0
175- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
175+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
176176; RV32XANDESPERF-NEXT: ret
177177 %c = mul i32 %a , 18
178178 %d = add i32 %c , %b
@@ -196,7 +196,7 @@ define i32 @addmul20(i32 %a, i32 %b) {
196196; RV32XANDESPERF-LABEL: addmul20:
197197; RV32XANDESPERF: # %bb.0:
198198; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a0
199- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
199+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
200200; RV32XANDESPERF-NEXT: ret
201201 %c = mul i32 %a , 20
202202 %d = add i32 %c , %b
@@ -221,7 +221,7 @@ define i32 @addmul24(i32 %a, i32 %b) {
221221; RV32XANDESPERF-LABEL: addmul24:
222222; RV32XANDESPERF: # %bb.0:
223223; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a0
224- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
224+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
225225; RV32XANDESPERF-NEXT: ret
226226 %c = mul i32 %a , 24
227227 %d = add i32 %c , %b
@@ -245,7 +245,7 @@ define i32 @addmul36(i32 %a, i32 %b) {
245245; RV32XANDESPERF-LABEL: addmul36:
246246; RV32XANDESPERF: # %bb.0:
247247; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a0
248- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
248+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
249249; RV32XANDESPERF-NEXT: ret
250250 %c = mul i32 %a , 36
251251 %d = add i32 %c , %b
@@ -269,7 +269,7 @@ define i32 @addmul40(i32 %a, i32 %b) {
269269; RV32XANDESPERF-LABEL: addmul40:
270270; RV32XANDESPERF: # %bb.0:
271271; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a0
272- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
272+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
273273; RV32XANDESPERF-NEXT: ret
274274 %c = mul i32 %a , 40
275275 %d = add i32 %c , %b
@@ -293,7 +293,7 @@ define i32 @addmul72(i32 %a, i32 %b) {
293293; RV32XANDESPERF-LABEL: addmul72:
294294; RV32XANDESPERF: # %bb.0:
295295; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a0
296- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
296+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
297297; RV32XANDESPERF-NEXT: ret
298298 %c = mul i32 %a , 72
299299 %d = add i32 %c , %b
@@ -383,7 +383,7 @@ define i32 @mul258(i32 %a) {
383383; RV32XANDESPERF-LABEL: mul258:
384384; RV32XANDESPERF: # %bb.0:
385385; RV32XANDESPERF-NEXT: slli a1, a0, 8
386- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
386+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
387387; RV32XANDESPERF-NEXT: ret
388388 %c = mul i32 %a , 258
389389 ret i32 %c
@@ -405,7 +405,7 @@ define i32 @mul260(i32 %a) {
405405; RV32XANDESPERF-LABEL: mul260:
406406; RV32XANDESPERF: # %bb.0:
407407; RV32XANDESPERF-NEXT: slli a1, a0, 8
408- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
408+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
409409; RV32XANDESPERF-NEXT: ret
410410 %c = mul i32 %a , 260
411411 ret i32 %c
@@ -427,7 +427,7 @@ define i32 @mul264(i32 %a) {
427427; RV32XANDESPERF-LABEL: mul264:
428428; RV32XANDESPERF: # %bb.0:
429429; RV32XANDESPERF-NEXT: slli a1, a0, 8
430- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
430+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
431431; RV32XANDESPERF-NEXT: ret
432432 %c = mul i32 %a , 264
433433 ret i32 %c
@@ -449,7 +449,7 @@ define i32 @mul11(i32 %a) {
449449; RV32XANDESPERF-LABEL: mul11:
450450; RV32XANDESPERF: # %bb.0:
451451; RV32XANDESPERF-NEXT: nds.lea.w a1, a0, a0
452- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
452+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
453453; RV32XANDESPERF-NEXT: ret
454454 %c = mul i32 %a , 11
455455 ret i32 %c
@@ -471,7 +471,7 @@ define i32 @mul19(i32 %a) {
471471; RV32XANDESPERF-LABEL: mul19:
472472; RV32XANDESPERF: # %bb.0:
473473; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a0
474- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
474+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
475475; RV32XANDESPERF-NEXT: ret
476476 %c = mul i32 %a , 19
477477 ret i32 %c
@@ -493,7 +493,7 @@ define i32 @mul13(i32 %a) {
493493; RV32XANDESPERF-LABEL: mul13:
494494; RV32XANDESPERF: # %bb.0:
495495; RV32XANDESPERF-NEXT: nds.lea.h a1, a0, a0
496- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
496+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
497497; RV32XANDESPERF-NEXT: ret
498498 %c = mul i32 %a , 13
499499 ret i32 %c
@@ -515,7 +515,7 @@ define i32 @mul21(i32 %a) {
515515; RV32XANDESPERF-LABEL: mul21:
516516; RV32XANDESPERF: # %bb.0:
517517; RV32XANDESPERF-NEXT: nds.lea.w a1, a0, a0
518- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
518+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
519519; RV32XANDESPERF-NEXT: ret
520520 %c = mul i32 %a , 21
521521 ret i32 %c
@@ -537,7 +537,7 @@ define i32 @mul37(i32 %a) {
537537; RV32XANDESPERF-LABEL: mul37:
538538; RV32XANDESPERF: # %bb.0:
539539; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a0
540- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
540+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
541541; RV32XANDESPERF-NEXT: ret
542542 %c = mul i32 %a , 37
543543 ret i32 %c
@@ -581,7 +581,7 @@ define i32 @mul41(i32 %a) {
581581; RV32XANDESPERF-LABEL: mul41:
582582; RV32XANDESPERF: # %bb.0:
583583; RV32XANDESPERF-NEXT: nds.lea.w a1, a0, a0
584- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
584+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
585585; RV32XANDESPERF-NEXT: ret
586586 %c = mul i32 %a , 41
587587 ret i32 %c
@@ -603,7 +603,7 @@ define i32 @mul73(i32 %a) {
603603; RV32XANDESPERF-LABEL: mul73:
604604; RV32XANDESPERF: # %bb.0:
605605; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a0
606- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
606+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
607607; RV32XANDESPERF-NEXT: ret
608608 %c = mul i32 %a , 73
609609 ret i32 %c
@@ -692,7 +692,7 @@ define i32 @mul4098(i32 %a) {
692692; RV32XANDESPERF-LABEL: mul4098:
693693; RV32XANDESPERF: # %bb.0:
694694; RV32XANDESPERF-NEXT: slli a1, a0, 12
695- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
695+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
696696; RV32XANDESPERF-NEXT: ret
697697 %c = mul i32 %a , 4098
698698 ret i32 %c
@@ -715,7 +715,7 @@ define i32 @mul4100(i32 %a) {
715715; RV32XANDESPERF-LABEL: mul4100:
716716; RV32XANDESPERF: # %bb.0:
717717; RV32XANDESPERF-NEXT: slli a1, a0, 12
718- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
718+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
719719; RV32XANDESPERF-NEXT: ret
720720 %c = mul i32 %a , 4100
721721 ret i32 %c
@@ -738,7 +738,7 @@ define i32 @mul4104(i32 %a) {
738738; RV32XANDESPERF-LABEL: mul4104:
739739; RV32XANDESPERF: # %bb.0:
740740; RV32XANDESPERF-NEXT: slli a1, a0, 12
741- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
741+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
742742; RV32XANDESPERF-NEXT: ret
743743 %c = mul i32 %a , 4104
744744 ret i32 %c
@@ -761,7 +761,7 @@ define i32 @add4104(i32 %a) {
761761; RV32XANDESPERF-LABEL: add4104:
762762; RV32XANDESPERF: # %bb.0:
763763; RV32XANDESPERF-NEXT: li a1, 1026
764- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
764+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
765765; RV32XANDESPERF-NEXT: ret
766766 %c = add i32 %a , 4104
767767 ret i32 %c
@@ -784,7 +784,7 @@ define i32 @add8208(i32 %a) {
784784; RV32XANDESPERF-LABEL: add8208:
785785; RV32XANDESPERF: # %bb.0:
786786; RV32XANDESPERF-NEXT: li a1, 1026
787- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
787+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
788788; RV32XANDESPERF-NEXT: ret
789789 %c = add i32 %a , 8208
790790 ret i32 %c
@@ -816,7 +816,7 @@ define i32 @addshl_5_6(i32 %a, i32 %b) {
816816;
817817; RV32XANDESPERF-LABEL: addshl_5_6:
818818; RV32XANDESPERF: # %bb.0:
819- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
819+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
820820; RV32XANDESPERF-NEXT: slli a0, a0, 5
821821; RV32XANDESPERF-NEXT: ret
822822 %c = shl i32 %a , 5
@@ -841,7 +841,7 @@ define i32 @addshl_5_7(i32 %a, i32 %b) {
841841;
842842; RV32XANDESPERF-LABEL: addshl_5_7:
843843; RV32XANDESPERF: # %bb.0:
844- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
844+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
845845; RV32XANDESPERF-NEXT: slli a0, a0, 5
846846; RV32XANDESPERF-NEXT: ret
847847 %c = shl i32 %a , 5
@@ -866,7 +866,7 @@ define i32 @addshl_5_8(i32 %a, i32 %b) {
866866;
867867; RV32XANDESPERF-LABEL: addshl_5_8:
868868; RV32XANDESPERF: # %bb.0:
869- ; RV32XANDESPERF-NEXT: nds.lea.d a0, a1, a0
869+ ; RV32XANDESPERF-NEXT: nds.lea.d a0, a0, a1
870870; RV32XANDESPERF-NEXT: slli a0, a0, 5
871871; RV32XANDESPERF-NEXT: ret
872872 %c = shl i32 %a , 5
@@ -894,7 +894,7 @@ define i32 @srli_1_sh2add(ptr %0, i32 %1) {
894894; RV32XANDESPERF-LABEL: srli_1_sh2add:
895895; RV32XANDESPERF: # %bb.0:
896896; RV32XANDESPERF-NEXT: srli a1, a1, 1
897- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
897+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
898898; RV32XANDESPERF-NEXT: lw a0, 0(a0)
899899; RV32XANDESPERF-NEXT: ret
900900 %3 = lshr i32 %1 , 1
@@ -924,7 +924,7 @@ define i64 @srli_2_sh3add(ptr %0, i32 %1) {
924924; RV32XANDESPERF-LABEL: srli_2_sh3add:
925925; RV32XANDESPERF: # %bb.0:
926926; RV32XANDESPERF-NEXT: srli a1, a1, 2
927- ; RV32XANDESPERF-NEXT: nds.lea.d a1, a1, a0
927+ ; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a1
928928; RV32XANDESPERF-NEXT: lw a0, 0(a1)
929929; RV32XANDESPERF-NEXT: lw a1, 4(a1)
930930; RV32XANDESPERF-NEXT: ret
@@ -953,7 +953,7 @@ define signext i16 @srli_2_sh1add(ptr %0, i32 %1) {
953953; RV32XANDESPERF-LABEL: srli_2_sh1add:
954954; RV32XANDESPERF: # %bb.0:
955955; RV32XANDESPERF-NEXT: srli a1, a1, 2
956- ; RV32XANDESPERF-NEXT: nds.lea.h a0, a1, a0
956+ ; RV32XANDESPERF-NEXT: nds.lea.h a0, a0, a1
957957; RV32XANDESPERF-NEXT: lh a0, 0(a0)
958958; RV32XANDESPERF-NEXT: ret
959959 %3 = lshr i32 %1 , 2
@@ -981,7 +981,7 @@ define i32 @srli_3_sh2add(ptr %0, i32 %1) {
981981; RV32XANDESPERF-LABEL: srli_3_sh2add:
982982; RV32XANDESPERF: # %bb.0:
983983; RV32XANDESPERF-NEXT: srli a1, a1, 3
984- ; RV32XANDESPERF-NEXT: nds.lea.w a0, a1, a0
984+ ; RV32XANDESPERF-NEXT: nds.lea.w a0, a0, a1
985985; RV32XANDESPERF-NEXT: lw a0, 0(a0)
986986; RV32XANDESPERF-NEXT: ret
987987 %3 = lshr i32 %1 , 3
@@ -1011,7 +1011,7 @@ define i64 @srli_4_sh3add(ptr %0, i32 %1) {
10111011; RV32XANDESPERF-LABEL: srli_4_sh3add:
10121012; RV32XANDESPERF: # %bb.0:
10131013; RV32XANDESPERF-NEXT: srli a1, a1, 4
1014- ; RV32XANDESPERF-NEXT: nds.lea.d a1, a1, a0
1014+ ; RV32XANDESPERF-NEXT: nds.lea.d a1, a0, a1
10151015; RV32XANDESPERF-NEXT: lw a0, 0(a1)
10161016; RV32XANDESPERF-NEXT: lw a1, 4(a1)
10171017; RV32XANDESPERF-NEXT: ret
0 commit comments