@@ -445,98 +445,38 @@ define i32 @select_ne_10001_10002(i32 signext %a, i32 signext %b) {
445
445
}
446
446
447
447
define i32 @select_slt_zero_constant1_constant2 (i32 signext %x ) {
448
- ; RV32I-LABEL: select_slt_zero_constant1_constant2:
449
- ; RV32I: # %bb.0:
450
- ; RV32I-NEXT: srai a0, a0, 31
451
- ; RV32I-NEXT: andi a0, a0, 10
452
- ; RV32I-NEXT: addi a0, a0, -3
453
- ; RV32I-NEXT: ret
454
- ;
455
- ; RV32IF-LABEL: select_slt_zero_constant1_constant2:
456
- ; RV32IF: # %bb.0:
457
- ; RV32IF-NEXT: srai a0, a0, 31
458
- ; RV32IF-NEXT: andi a0, a0, 10
459
- ; RV32IF-NEXT: addi a0, a0, -3
460
- ; RV32IF-NEXT: ret
461
- ;
462
- ; RV32ZICOND-LABEL: select_slt_zero_constant1_constant2:
463
- ; RV32ZICOND: # %bb.0:
464
- ; RV32ZICOND-NEXT: slti a0, a0, 0
465
- ; RV32ZICOND-NEXT: li a1, -10
466
- ; RV32ZICOND-NEXT: czero.nez a0, a1, a0
467
- ; RV32ZICOND-NEXT: addi a0, a0, 7
468
- ; RV32ZICOND-NEXT: ret
469
- ;
470
- ; RV64I-LABEL: select_slt_zero_constant1_constant2:
471
- ; RV64I: # %bb.0:
472
- ; RV64I-NEXT: srai a0, a0, 63
473
- ; RV64I-NEXT: andi a0, a0, 10
474
- ; RV64I-NEXT: addi a0, a0, -3
475
- ; RV64I-NEXT: ret
476
- ;
477
- ; RV64IFD-LABEL: select_slt_zero_constant1_constant2:
478
- ; RV64IFD: # %bb.0:
479
- ; RV64IFD-NEXT: srai a0, a0, 63
480
- ; RV64IFD-NEXT: andi a0, a0, 10
481
- ; RV64IFD-NEXT: addi a0, a0, -3
482
- ; RV64IFD-NEXT: ret
448
+ ; RV32-LABEL: select_slt_zero_constant1_constant2:
449
+ ; RV32: # %bb.0:
450
+ ; RV32-NEXT: srai a0, a0, 31
451
+ ; RV32-NEXT: andi a0, a0, 10
452
+ ; RV32-NEXT: addi a0, a0, -3
453
+ ; RV32-NEXT: ret
483
454
;
484
- ; RV64ZICOND-LABEL: select_slt_zero_constant1_constant2:
485
- ; RV64ZICOND: # %bb.0:
486
- ; RV64ZICOND-NEXT: slti a0, a0, 0
487
- ; RV64ZICOND-NEXT: li a1, -10
488
- ; RV64ZICOND-NEXT: czero.nez a0, a1, a0
489
- ; RV64ZICOND-NEXT: addi a0, a0, 7
490
- ; RV64ZICOND-NEXT: ret
455
+ ; RV64-LABEL: select_slt_zero_constant1_constant2:
456
+ ; RV64: # %bb.0:
457
+ ; RV64-NEXT: srai a0, a0, 63
458
+ ; RV64-NEXT: andi a0, a0, 10
459
+ ; RV64-NEXT: addi a0, a0, -3
460
+ ; RV64-NEXT: ret
491
461
%cmp = icmp slt i32 %x , 0
492
462
%cond = select i1 %cmp , i32 7 , i32 -3
493
463
ret i32 %cond
494
464
}
495
465
496
466
define i32 @select_sgt_negative_one_constant1_constant2 (i32 signext %x ) {
497
- ; RV32I-LABEL: select_sgt_negative_one_constant1_constant2:
498
- ; RV32I: # %bb.0:
499
- ; RV32I-NEXT: srai a0, a0, 31
500
- ; RV32I-NEXT: andi a0, a0, -10
501
- ; RV32I-NEXT: addi a0, a0, 7
502
- ; RV32I-NEXT: ret
503
- ;
504
- ; RV32IF-LABEL: select_sgt_negative_one_constant1_constant2:
505
- ; RV32IF: # %bb.0:
506
- ; RV32IF-NEXT: srai a0, a0, 31
507
- ; RV32IF-NEXT: andi a0, a0, -10
508
- ; RV32IF-NEXT: addi a0, a0, 7
509
- ; RV32IF-NEXT: ret
510
- ;
511
- ; RV32ZICOND-LABEL: select_sgt_negative_one_constant1_constant2:
512
- ; RV32ZICOND: # %bb.0:
513
- ; RV32ZICOND-NEXT: slti a0, a0, 0
514
- ; RV32ZICOND-NEXT: li a1, -10
515
- ; RV32ZICOND-NEXT: czero.eqz a0, a1, a0
516
- ; RV32ZICOND-NEXT: addi a0, a0, 7
517
- ; RV32ZICOND-NEXT: ret
518
- ;
519
- ; RV64I-LABEL: select_sgt_negative_one_constant1_constant2:
520
- ; RV64I: # %bb.0:
521
- ; RV64I-NEXT: srai a0, a0, 63
522
- ; RV64I-NEXT: andi a0, a0, -10
523
- ; RV64I-NEXT: addi a0, a0, 7
524
- ; RV64I-NEXT: ret
525
- ;
526
- ; RV64IFD-LABEL: select_sgt_negative_one_constant1_constant2:
527
- ; RV64IFD: # %bb.0:
528
- ; RV64IFD-NEXT: srai a0, a0, 63
529
- ; RV64IFD-NEXT: andi a0, a0, -10
530
- ; RV64IFD-NEXT: addi a0, a0, 7
531
- ; RV64IFD-NEXT: ret
467
+ ; RV32-LABEL: select_sgt_negative_one_constant1_constant2:
468
+ ; RV32: # %bb.0:
469
+ ; RV32-NEXT: srai a0, a0, 31
470
+ ; RV32-NEXT: andi a0, a0, -10
471
+ ; RV32-NEXT: addi a0, a0, 7
472
+ ; RV32-NEXT: ret
532
473
;
533
- ; RV64ZICOND-LABEL: select_sgt_negative_one_constant1_constant2:
534
- ; RV64ZICOND: # %bb.0:
535
- ; RV64ZICOND-NEXT: slti a0, a0, 0
536
- ; RV64ZICOND-NEXT: li a1, -10
537
- ; RV64ZICOND-NEXT: czero.eqz a0, a1, a0
538
- ; RV64ZICOND-NEXT: addi a0, a0, 7
539
- ; RV64ZICOND-NEXT: ret
474
+ ; RV64-LABEL: select_sgt_negative_one_constant1_constant2:
475
+ ; RV64: # %bb.0:
476
+ ; RV64-NEXT: srai a0, a0, 63
477
+ ; RV64-NEXT: andi a0, a0, -10
478
+ ; RV64-NEXT: addi a0, a0, 7
479
+ ; RV64-NEXT: ret
540
480
%cmp = icmp sgt i32 %x , -1
541
481
%cond = select i1 %cmp , i32 7 , i32 -3
542
482
ret i32 %cond
0 commit comments