@@ -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
@@ -1153,64 +1151,3 @@ entry:
1153
1151
%r = urem i64 %a , %b
1154
1152
ret i64 %r
1155
1153
}
1156
-
1157
- define signext i32 @pr107414 (i32 signext %x ) {
1158
- ; LA32-LABEL: pr107414:
1159
- ; LA32: # %bb.0: # %entry
1160
- ; LA32-NEXT: addi.w $sp, $sp, -16
1161
- ; LA32-NEXT: .cfi_def_cfa_offset 16
1162
- ; LA32-NEXT: st.w $ra, $sp, 12 # 4-byte Folded Spill
1163
- ; LA32-NEXT: .cfi_offset 1, -4
1164
- ; LA32-NEXT: move $a2, $a0
1165
- ; LA32-NEXT: srai.w $a3, $a0, 31
1166
- ; LA32-NEXT: lu12i.w $a0, -266831
1167
- ; LA32-NEXT: ori $a0, $a0, 3337
1168
- ; LA32-NEXT: move $a1, $zero
1169
- ; LA32-NEXT: bl %plt(__divdi3)
1170
- ; LA32-NEXT: ld.w $ra, $sp, 12 # 4-byte Folded Reload
1171
- ; LA32-NEXT: addi.w $sp, $sp, 16
1172
- ; LA32-NEXT: ret
1173
- ;
1174
- ; LA64-LABEL: pr107414:
1175
- ; LA64: # %bb.0: # %entry
1176
- ; LA64-NEXT: lu12i.w $a1, -266831
1177
- ; LA64-NEXT: ori $a1, $a1, 3337
1178
- ; LA64-NEXT: lu32i.d $a1, 0
1179
- ; LA64-NEXT: div.d $a0, $a1, $a0
1180
- ; LA64-NEXT: addi.w $a0, $a0, 0
1181
- ; LA64-NEXT: ret
1182
- ;
1183
- ; LA32-TRAP-LABEL: pr107414:
1184
- ; LA32-TRAP: # %bb.0: # %entry
1185
- ; LA32-TRAP-NEXT: addi.w $sp, $sp, -16
1186
- ; LA32-TRAP-NEXT: .cfi_def_cfa_offset 16
1187
- ; LA32-TRAP-NEXT: st.w $ra, $sp, 12 # 4-byte Folded Spill
1188
- ; LA32-TRAP-NEXT: .cfi_offset 1, -4
1189
- ; LA32-TRAP-NEXT: move $a2, $a0
1190
- ; LA32-TRAP-NEXT: srai.w $a3, $a0, 31
1191
- ; LA32-TRAP-NEXT: lu12i.w $a0, -266831
1192
- ; LA32-TRAP-NEXT: ori $a0, $a0, 3337
1193
- ; LA32-TRAP-NEXT: move $a1, $zero
1194
- ; LA32-TRAP-NEXT: bl %plt(__divdi3)
1195
- ; LA32-TRAP-NEXT: ld.w $ra, $sp, 12 # 4-byte Folded Reload
1196
- ; LA32-TRAP-NEXT: addi.w $sp, $sp, 16
1197
- ; LA32-TRAP-NEXT: ret
1198
- ;
1199
- ; LA64-TRAP-LABEL: pr107414:
1200
- ; LA64-TRAP: # %bb.0: # %entry
1201
- ; LA64-TRAP-NEXT: lu12i.w $a1, -266831
1202
- ; LA64-TRAP-NEXT: ori $a1, $a1, 3337
1203
- ; LA64-TRAP-NEXT: lu32i.d $a1, 0
1204
- ; LA64-TRAP-NEXT: div.d $a1, $a1, $a0
1205
- ; LA64-TRAP-NEXT: bnez $a0, .LBB32_2
1206
- ; LA64-TRAP-NEXT: # %bb.1: # %entry
1207
- ; LA64-TRAP-NEXT: break 7
1208
- ; LA64-TRAP-NEXT: .LBB32_2: # %entry
1209
- ; LA64-TRAP-NEXT: addi.w $a0, $a1, 0
1210
- ; LA64-TRAP-NEXT: ret
1211
- entry:
1212
- %conv = sext i32 %x to i64
1213
- %div = sdiv i64 3202030857 , %conv
1214
- %conv1 = trunc i64 %div to i32
1215
- ret i32 %conv1
1216
- }
0 commit comments