@@ -191,8 +191,7 @@ define signext i32 @sdiv_si32_ui32_ui32(i32 %a, i32 %b) {
191
191
; LA64: # %bb.0: # %entry
192
192
; LA64-NEXT: addi.w $a1, $a1, 0
193
193
; LA64-NEXT: addi.w $a0, $a0, 0
194
- ; LA64-NEXT: div.d $a0, $a0, $a1
195
- ; LA64-NEXT: addi.w $a0, $a0, 0
194
+ ; LA64-NEXT: div.w $a0, $a0, $a1
196
195
; LA64-NEXT: ret
197
196
;
198
197
; LA32-TRAP-LABEL: sdiv_si32_ui32_ui32:
@@ -208,12 +207,11 @@ define signext i32 @sdiv_si32_ui32_ui32(i32 %a, i32 %b) {
208
207
; LA64-TRAP: # %bb.0: # %entry
209
208
; LA64-TRAP-NEXT: addi.w $a1, $a1, 0
210
209
; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
211
- ; LA64-TRAP-NEXT: div.d $a0, $a0, $a1
210
+ ; LA64-TRAP-NEXT: div.w $a0, $a0, $a1
212
211
; LA64-TRAP-NEXT: bnez $a1, .LBB5_2
213
212
; LA64-TRAP-NEXT: # %bb.1: # %entry
214
213
; LA64-TRAP-NEXT: break 7
215
214
; LA64-TRAP-NEXT: .LBB5_2: # %entry
216
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
217
215
; LA64-TRAP-NEXT: ret
218
216
entry:
219
217
%r = sdiv i32 %a , %b
@@ -228,8 +226,7 @@ define signext i32 @sdiv_si32_si32_si32(i32 signext %a, i32 signext %b) {
228
226
;
229
227
; LA64-LABEL: sdiv_si32_si32_si32:
230
228
; LA64: # %bb.0: # %entry
231
- ; LA64-NEXT: div.d $a0, $a0, $a1
232
- ; LA64-NEXT: addi.w $a0, $a0, 0
229
+ ; LA64-NEXT: div.w $a0, $a0, $a1
233
230
; LA64-NEXT: ret
234
231
;
235
232
; LA32-TRAP-LABEL: sdiv_si32_si32_si32:
@@ -243,12 +240,11 @@ define signext i32 @sdiv_si32_si32_si32(i32 signext %a, i32 signext %b) {
243
240
;
244
241
; LA64-TRAP-LABEL: sdiv_si32_si32_si32:
245
242
; LA64-TRAP: # %bb.0: # %entry
246
- ; LA64-TRAP-NEXT: div.d $a0, $a0, $a1
243
+ ; LA64-TRAP-NEXT: div.w $a0, $a0, $a1
247
244
; LA64-TRAP-NEXT: bnez $a1, .LBB6_2
248
245
; LA64-TRAP-NEXT: # %bb.1: # %entry
249
246
; LA64-TRAP-NEXT: break 7
250
247
; LA64-TRAP-NEXT: .LBB6_2: # %entry
251
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
252
248
; LA64-TRAP-NEXT: ret
253
249
entry:
254
250
%r = sdiv i32 %a , %b
@@ -483,8 +479,7 @@ define signext i32 @udiv_si32_ui32_ui32(i32 %a, i32 %b) {
483
479
; LA64: # %bb.0: # %entry
484
480
; LA64-NEXT: bstrpick.d $a1, $a1, 31, 0
485
481
; LA64-NEXT: bstrpick.d $a0, $a0, 31, 0
486
- ; LA64-NEXT: div.du $a0, $a0, $a1
487
- ; LA64-NEXT: addi.w $a0, $a0, 0
482
+ ; LA64-NEXT: div.wu $a0, $a0, $a1
488
483
; LA64-NEXT: ret
489
484
;
490
485
; LA32-TRAP-LABEL: udiv_si32_ui32_ui32:
@@ -500,12 +495,11 @@ define signext i32 @udiv_si32_ui32_ui32(i32 %a, i32 %b) {
500
495
; LA64-TRAP: # %bb.0: # %entry
501
496
; LA64-TRAP-NEXT: bstrpick.d $a1, $a1, 31, 0
502
497
; LA64-TRAP-NEXT: bstrpick.d $a0, $a0, 31, 0
503
- ; LA64-TRAP-NEXT: div.du $a0, $a0, $a1
498
+ ; LA64-TRAP-NEXT: div.wu $a0, $a0, $a1
504
499
; LA64-TRAP-NEXT: bnez $a1, .LBB13_2
505
500
; LA64-TRAP-NEXT: # %bb.1: # %entry
506
501
; LA64-TRAP-NEXT: break 7
507
502
; LA64-TRAP-NEXT: .LBB13_2: # %entry
508
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
509
503
; LA64-TRAP-NEXT: ret
510
504
entry:
511
505
%r = udiv i32 %a , %b
@@ -522,8 +516,7 @@ define signext i32 @udiv_si32_si32_si32(i32 signext %a, i32 signext %b) {
522
516
; LA64: # %bb.0: # %entry
523
517
; LA64-NEXT: bstrpick.d $a1, $a1, 31, 0
524
518
; LA64-NEXT: bstrpick.d $a0, $a0, 31, 0
525
- ; LA64-NEXT: div.du $a0, $a0, $a1
526
- ; LA64-NEXT: addi.w $a0, $a0, 0
519
+ ; LA64-NEXT: div.wu $a0, $a0, $a1
527
520
; LA64-NEXT: ret
528
521
;
529
522
; LA32-TRAP-LABEL: udiv_si32_si32_si32:
@@ -539,12 +532,11 @@ define signext i32 @udiv_si32_si32_si32(i32 signext %a, i32 signext %b) {
539
532
; LA64-TRAP: # %bb.0: # %entry
540
533
; LA64-TRAP-NEXT: bstrpick.d $a1, $a1, 31, 0
541
534
; LA64-TRAP-NEXT: bstrpick.d $a0, $a0, 31, 0
542
- ; LA64-TRAP-NEXT: div.du $a0, $a0, $a1
535
+ ; LA64-TRAP-NEXT: div.wu $a0, $a0, $a1
543
536
; LA64-TRAP-NEXT: bnez $a1, .LBB14_2
544
537
; LA64-TRAP-NEXT: # %bb.1: # %entry
545
538
; LA64-TRAP-NEXT: break 7
546
539
; LA64-TRAP-NEXT: .LBB14_2: # %entry
547
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
548
540
; LA64-TRAP-NEXT: ret
549
541
entry:
550
542
%r = udiv i32 %a , %b
@@ -1071,8 +1063,7 @@ define signext i32 @urem_si32_ui32_ui32(i32 %a, i32 %b) {
1071
1063
; LA64: # %bb.0: # %entry
1072
1064
; LA64-NEXT: bstrpick.d $a1, $a1, 31, 0
1073
1065
; LA64-NEXT: bstrpick.d $a0, $a0, 31, 0
1074
- ; LA64-NEXT: mod.du $a0, $a0, $a1
1075
- ; LA64-NEXT: addi.w $a0, $a0, 0
1066
+ ; LA64-NEXT: mod.wu $a0, $a0, $a1
1076
1067
; LA64-NEXT: ret
1077
1068
;
1078
1069
; LA32-TRAP-LABEL: urem_si32_ui32_ui32:
@@ -1088,12 +1079,11 @@ define signext i32 @urem_si32_ui32_ui32(i32 %a, i32 %b) {
1088
1079
; LA64-TRAP: # %bb.0: # %entry
1089
1080
; LA64-TRAP-NEXT: bstrpick.d $a1, $a1, 31, 0
1090
1081
; LA64-TRAP-NEXT: bstrpick.d $a0, $a0, 31, 0
1091
- ; LA64-TRAP-NEXT: mod.du $a0, $a0, $a1
1082
+ ; LA64-TRAP-NEXT: mod.wu $a0, $a0, $a1
1092
1083
; LA64-TRAP-NEXT: bnez $a1, .LBB29_2
1093
1084
; LA64-TRAP-NEXT: # %bb.1: # %entry
1094
1085
; LA64-TRAP-NEXT: break 7
1095
1086
; LA64-TRAP-NEXT: .LBB29_2: # %entry
1096
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
1097
1087
; LA64-TRAP-NEXT: ret
1098
1088
entry:
1099
1089
%r = urem i32 %a , %b
@@ -1110,8 +1100,7 @@ define signext i32 @urem_si32_si32_si32(i32 signext %a, i32 signext %b) {
1110
1100
; LA64: # %bb.0: # %entry
1111
1101
; LA64-NEXT: bstrpick.d $a1, $a1, 31, 0
1112
1102
; LA64-NEXT: bstrpick.d $a0, $a0, 31, 0
1113
- ; LA64-NEXT: mod.du $a0, $a0, $a1
1114
- ; LA64-NEXT: addi.w $a0, $a0, 0
1103
+ ; LA64-NEXT: mod.wu $a0, $a0, $a1
1115
1104
; LA64-NEXT: ret
1116
1105
;
1117
1106
; LA32-TRAP-LABEL: urem_si32_si32_si32:
@@ -1127,12 +1116,11 @@ define signext i32 @urem_si32_si32_si32(i32 signext %a, i32 signext %b) {
1127
1116
; LA64-TRAP: # %bb.0: # %entry
1128
1117
; LA64-TRAP-NEXT: bstrpick.d $a1, $a1, 31, 0
1129
1118
; LA64-TRAP-NEXT: bstrpick.d $a0, $a0, 31, 0
1130
- ; LA64-TRAP-NEXT: mod.du $a0, $a0, $a1
1119
+ ; LA64-TRAP-NEXT: mod.wu $a0, $a0, $a1
1131
1120
; LA64-TRAP-NEXT: bnez $a1, .LBB30_2
1132
1121
; LA64-TRAP-NEXT: # %bb.1: # %entry
1133
1122
; LA64-TRAP-NEXT: break 7
1134
1123
; LA64-TRAP-NEXT: .LBB30_2: # %entry
1135
- ; LA64-TRAP-NEXT: addi.w $a0, $a0, 0
1136
1124
; LA64-TRAP-NEXT: ret
1137
1125
entry:
1138
1126
%r = urem i32 %a , %b
0 commit comments