@@ -302,56 +302,56 @@ define i128 @abs128(i128 %x) {
302
302
; RV32I-LABEL: abs128:
303
303
; RV32I: # %bb.0:
304
304
; RV32I-NEXT: lw a2, 12(a1)
305
- ; RV32I-NEXT: lw a3, 4 (a1)
306
- ; RV32I-NEXT: lw a4, 0 (a1)
305
+ ; RV32I-NEXT: lw a3, 0 (a1)
306
+ ; RV32I-NEXT: lw a4, 4 (a1)
307
307
; RV32I-NEXT: lw a1, 8(a1)
308
308
; RV32I-NEXT: bgez a2, .LBB8_2
309
309
; RV32I-NEXT: # %bb.1:
310
310
; RV32I-NEXT: neg a5, a1
311
- ; RV32I-NEXT: or a6, a4, a3
312
- ; RV32I-NEXT: snez a6, a6
313
- ; RV32I-NEXT: sltu a7, a5, a6
311
+ ; RV32I-NEXT: snez a6, a4
312
+ ; RV32I-NEXT: snez a7, a3
313
+ ; RV32I-NEXT: or a6, a7, a6
314
+ ; RV32I-NEXT: sltu t0, a5, a6
314
315
; RV32I-NEXT: snez a1, a1
315
316
; RV32I-NEXT: add a1, a2, a1
316
317
; RV32I-NEXT: neg a1, a1
317
- ; RV32I-NEXT: sub a2, a1, a7
318
+ ; RV32I-NEXT: sub a2, a1, t0
318
319
; RV32I-NEXT: sub a1, a5, a6
319
- ; RV32I-NEXT: snez a5, a4
320
- ; RV32I-NEXT: neg a3, a3
321
- ; RV32I-NEXT: sub a3, a3, a5
322
320
; RV32I-NEXT: neg a4, a4
321
+ ; RV32I-NEXT: sub a4, a4, a7
322
+ ; RV32I-NEXT: neg a3, a3
323
323
; RV32I-NEXT: .LBB8_2:
324
- ; RV32I-NEXT: sw a4, 0(a0)
324
+ ; RV32I-NEXT: sw a3, 0(a0)
325
+ ; RV32I-NEXT: sw a4, 4(a0)
325
326
; RV32I-NEXT: sw a1, 8(a0)
326
- ; RV32I-NEXT: sw a3, 4(a0)
327
327
; RV32I-NEXT: sw a2, 12(a0)
328
328
; RV32I-NEXT: ret
329
329
;
330
330
; RV32ZBB-LABEL: abs128:
331
331
; RV32ZBB: # %bb.0:
332
332
; RV32ZBB-NEXT: lw a2, 12(a1)
333
- ; RV32ZBB-NEXT: lw a3, 4 (a1)
334
- ; RV32ZBB-NEXT: lw a4, 0 (a1)
333
+ ; RV32ZBB-NEXT: lw a3, 0 (a1)
334
+ ; RV32ZBB-NEXT: lw a4, 4 (a1)
335
335
; RV32ZBB-NEXT: lw a1, 8(a1)
336
336
; RV32ZBB-NEXT: bgez a2, .LBB8_2
337
337
; RV32ZBB-NEXT: # %bb.1:
338
338
; RV32ZBB-NEXT: neg a5, a1
339
- ; RV32ZBB-NEXT: or a6, a4, a3
340
- ; RV32ZBB-NEXT: snez a6, a6
341
- ; RV32ZBB-NEXT: sltu a7, a5, a6
339
+ ; RV32ZBB-NEXT: snez a6, a4
340
+ ; RV32ZBB-NEXT: snez a7, a3
341
+ ; RV32ZBB-NEXT: or a6, a7, a6
342
+ ; RV32ZBB-NEXT: sltu t0, a5, a6
342
343
; RV32ZBB-NEXT: snez a1, a1
343
344
; RV32ZBB-NEXT: add a1, a2, a1
344
345
; RV32ZBB-NEXT: neg a1, a1
345
- ; RV32ZBB-NEXT: sub a2, a1, a7
346
+ ; RV32ZBB-NEXT: sub a2, a1, t0
346
347
; RV32ZBB-NEXT: sub a1, a5, a6
347
- ; RV32ZBB-NEXT: snez a5, a4
348
- ; RV32ZBB-NEXT: neg a3, a3
349
- ; RV32ZBB-NEXT: sub a3, a3, a5
350
348
; RV32ZBB-NEXT: neg a4, a4
349
+ ; RV32ZBB-NEXT: sub a4, a4, a7
350
+ ; RV32ZBB-NEXT: neg a3, a3
351
351
; RV32ZBB-NEXT: .LBB8_2:
352
- ; RV32ZBB-NEXT: sw a4, 0(a0)
352
+ ; RV32ZBB-NEXT: sw a3, 0(a0)
353
+ ; RV32ZBB-NEXT: sw a4, 4(a0)
353
354
; RV32ZBB-NEXT: sw a1, 8(a0)
354
- ; RV32ZBB-NEXT: sw a3, 4(a0)
355
355
; RV32ZBB-NEXT: sw a2, 12(a0)
356
356
; RV32ZBB-NEXT: ret
357
357
;
@@ -384,56 +384,56 @@ define i128 @select_abs128(i128 %x) {
384
384
; RV32I-LABEL: select_abs128:
385
385
; RV32I: # %bb.0:
386
386
; RV32I-NEXT: lw a2, 12(a1)
387
- ; RV32I-NEXT: lw a3, 4 (a1)
388
- ; RV32I-NEXT: lw a4, 0 (a1)
387
+ ; RV32I-NEXT: lw a3, 0 (a1)
388
+ ; RV32I-NEXT: lw a4, 4 (a1)
389
389
; RV32I-NEXT: lw a1, 8(a1)
390
390
; RV32I-NEXT: bgez a2, .LBB9_2
391
391
; RV32I-NEXT: # %bb.1:
392
392
; RV32I-NEXT: neg a5, a1
393
- ; RV32I-NEXT: or a6, a4, a3
394
- ; RV32I-NEXT: snez a6, a6
395
- ; RV32I-NEXT: sltu a7, a5, a6
393
+ ; RV32I-NEXT: snez a6, a4
394
+ ; RV32I-NEXT: snez a7, a3
395
+ ; RV32I-NEXT: or a6, a7, a6
396
+ ; RV32I-NEXT: sltu t0, a5, a6
396
397
; RV32I-NEXT: snez a1, a1
397
398
; RV32I-NEXT: add a1, a2, a1
398
399
; RV32I-NEXT: neg a1, a1
399
- ; RV32I-NEXT: sub a2, a1, a7
400
+ ; RV32I-NEXT: sub a2, a1, t0
400
401
; RV32I-NEXT: sub a1, a5, a6
401
- ; RV32I-NEXT: snez a5, a4
402
- ; RV32I-NEXT: neg a3, a3
403
- ; RV32I-NEXT: sub a3, a3, a5
404
402
; RV32I-NEXT: neg a4, a4
403
+ ; RV32I-NEXT: sub a4, a4, a7
404
+ ; RV32I-NEXT: neg a3, a3
405
405
; RV32I-NEXT: .LBB9_2:
406
- ; RV32I-NEXT: sw a4, 0(a0)
406
+ ; RV32I-NEXT: sw a3, 0(a0)
407
+ ; RV32I-NEXT: sw a4, 4(a0)
407
408
; RV32I-NEXT: sw a1, 8(a0)
408
- ; RV32I-NEXT: sw a3, 4(a0)
409
409
; RV32I-NEXT: sw a2, 12(a0)
410
410
; RV32I-NEXT: ret
411
411
;
412
412
; RV32ZBB-LABEL: select_abs128:
413
413
; RV32ZBB: # %bb.0:
414
414
; RV32ZBB-NEXT: lw a2, 12(a1)
415
- ; RV32ZBB-NEXT: lw a3, 4 (a1)
416
- ; RV32ZBB-NEXT: lw a4, 0 (a1)
415
+ ; RV32ZBB-NEXT: lw a3, 0 (a1)
416
+ ; RV32ZBB-NEXT: lw a4, 4 (a1)
417
417
; RV32ZBB-NEXT: lw a1, 8(a1)
418
418
; RV32ZBB-NEXT: bgez a2, .LBB9_2
419
419
; RV32ZBB-NEXT: # %bb.1:
420
420
; RV32ZBB-NEXT: neg a5, a1
421
- ; RV32ZBB-NEXT: or a6, a4, a3
422
- ; RV32ZBB-NEXT: snez a6, a6
423
- ; RV32ZBB-NEXT: sltu a7, a5, a6
421
+ ; RV32ZBB-NEXT: snez a6, a4
422
+ ; RV32ZBB-NEXT: snez a7, a3
423
+ ; RV32ZBB-NEXT: or a6, a7, a6
424
+ ; RV32ZBB-NEXT: sltu t0, a5, a6
424
425
; RV32ZBB-NEXT: snez a1, a1
425
426
; RV32ZBB-NEXT: add a1, a2, a1
426
427
; RV32ZBB-NEXT: neg a1, a1
427
- ; RV32ZBB-NEXT: sub a2, a1, a7
428
+ ; RV32ZBB-NEXT: sub a2, a1, t0
428
429
; RV32ZBB-NEXT: sub a1, a5, a6
429
- ; RV32ZBB-NEXT: snez a5, a4
430
- ; RV32ZBB-NEXT: neg a3, a3
431
- ; RV32ZBB-NEXT: sub a3, a3, a5
432
430
; RV32ZBB-NEXT: neg a4, a4
431
+ ; RV32ZBB-NEXT: sub a4, a4, a7
432
+ ; RV32ZBB-NEXT: neg a3, a3
433
433
; RV32ZBB-NEXT: .LBB9_2:
434
- ; RV32ZBB-NEXT: sw a4, 0(a0)
434
+ ; RV32ZBB-NEXT: sw a3, 0(a0)
435
+ ; RV32ZBB-NEXT: sw a4, 4(a0)
435
436
; RV32ZBB-NEXT: sw a1, 8(a0)
436
- ; RV32ZBB-NEXT: sw a3, 4(a0)
437
437
; RV32ZBB-NEXT: sw a2, 12(a0)
438
438
; RV32ZBB-NEXT: ret
439
439
;
0 commit comments