@@ -481,131 +481,3 @@ define i32 @select_sgt_negative_one_constant1_constant2(i32 signext %x) {
481
481
%cond = select i1 %cmp , i32 7 , i32 -3
482
482
ret i32 %cond
483
483
}
484
-
485
- define i32 @select_nonnegative_lui_addi (i32 signext %x ) {
486
- ; RV32I-LABEL: select_nonnegative_lui_addi:
487
- ; RV32I: # %bb.0:
488
- ; RV32I-NEXT: mv a1, a0
489
- ; RV32I-NEXT: lui a0, 4
490
- ; RV32I-NEXT: bgez a1, .LBB21_2
491
- ; RV32I-NEXT: # %bb.1:
492
- ; RV32I-NEXT: li a0, 25
493
- ; RV32I-NEXT: .LBB21_2:
494
- ; RV32I-NEXT: ret
495
- ;
496
- ; RV32IF-LABEL: select_nonnegative_lui_addi:
497
- ; RV32IF: # %bb.0:
498
- ; RV32IF-NEXT: mv a1, a0
499
- ; RV32IF-NEXT: lui a0, 4
500
- ; RV32IF-NEXT: bgez a1, .LBB21_2
501
- ; RV32IF-NEXT: # %bb.1:
502
- ; RV32IF-NEXT: li a0, 25
503
- ; RV32IF-NEXT: .LBB21_2:
504
- ; RV32IF-NEXT: ret
505
- ;
506
- ; RV32ZICOND-LABEL: select_nonnegative_lui_addi:
507
- ; RV32ZICOND: # %bb.0:
508
- ; RV32ZICOND-NEXT: slti a0, a0, 0
509
- ; RV32ZICOND-NEXT: lui a1, 1048572
510
- ; RV32ZICOND-NEXT: addi a1, a1, 25
511
- ; RV32ZICOND-NEXT: czero.eqz a0, a1, a0
512
- ; RV32ZICOND-NEXT: lui a1, 4
513
- ; RV32ZICOND-NEXT: add a0, a0, a1
514
- ; RV32ZICOND-NEXT: ret
515
- ;
516
- ; RV64I-LABEL: select_nonnegative_lui_addi:
517
- ; RV64I: # %bb.0:
518
- ; RV64I-NEXT: mv a1, a0
519
- ; RV64I-NEXT: lui a0, 4
520
- ; RV64I-NEXT: bgez a1, .LBB21_2
521
- ; RV64I-NEXT: # %bb.1:
522
- ; RV64I-NEXT: li a0, 25
523
- ; RV64I-NEXT: .LBB21_2:
524
- ; RV64I-NEXT: ret
525
- ;
526
- ; RV64IFD-LABEL: select_nonnegative_lui_addi:
527
- ; RV64IFD: # %bb.0:
528
- ; RV64IFD-NEXT: mv a1, a0
529
- ; RV64IFD-NEXT: lui a0, 4
530
- ; RV64IFD-NEXT: bgez a1, .LBB21_2
531
- ; RV64IFD-NEXT: # %bb.1:
532
- ; RV64IFD-NEXT: li a0, 25
533
- ; RV64IFD-NEXT: .LBB21_2:
534
- ; RV64IFD-NEXT: ret
535
- ;
536
- ; RV64ZICOND-LABEL: select_nonnegative_lui_addi:
537
- ; RV64ZICOND: # %bb.0:
538
- ; RV64ZICOND-NEXT: slti a0, a0, 0
539
- ; RV64ZICOND-NEXT: lui a1, 1048572
540
- ; RV64ZICOND-NEXT: addi a1, a1, 25
541
- ; RV64ZICOND-NEXT: czero.eqz a0, a1, a0
542
- ; RV64ZICOND-NEXT: lui a1, 4
543
- ; RV64ZICOND-NEXT: add a0, a0, a1
544
- ; RV64ZICOND-NEXT: ret
545
- %cmp = icmp sgt i32 %x , -1
546
- %cond = select i1 %cmp , i32 16384 , i32 25
547
- ret i32 %cond
548
- }
549
-
550
- define i32 @select_nonnegative_lui_addi_swapped (i32 signext %x ) {
551
- ; RV32I-LABEL: select_nonnegative_lui_addi_swapped:
552
- ; RV32I: # %bb.0:
553
- ; RV32I-NEXT: bgez a0, .LBB22_2
554
- ; RV32I-NEXT: # %bb.1:
555
- ; RV32I-NEXT: lui a0, 4
556
- ; RV32I-NEXT: ret
557
- ; RV32I-NEXT: .LBB22_2:
558
- ; RV32I-NEXT: li a0, 25
559
- ; RV32I-NEXT: ret
560
- ;
561
- ; RV32IF-LABEL: select_nonnegative_lui_addi_swapped:
562
- ; RV32IF: # %bb.0:
563
- ; RV32IF-NEXT: bgez a0, .LBB22_2
564
- ; RV32IF-NEXT: # %bb.1:
565
- ; RV32IF-NEXT: lui a0, 4
566
- ; RV32IF-NEXT: ret
567
- ; RV32IF-NEXT: .LBB22_2:
568
- ; RV32IF-NEXT: li a0, 25
569
- ; RV32IF-NEXT: ret
570
- ;
571
- ; RV32ZICOND-LABEL: select_nonnegative_lui_addi_swapped:
572
- ; RV32ZICOND: # %bb.0:
573
- ; RV32ZICOND-NEXT: slti a0, a0, 0
574
- ; RV32ZICOND-NEXT: lui a1, 4
575
- ; RV32ZICOND-NEXT: addi a1, a1, -25
576
- ; RV32ZICOND-NEXT: czero.eqz a0, a1, a0
577
- ; RV32ZICOND-NEXT: addi a0, a0, 25
578
- ; RV32ZICOND-NEXT: ret
579
- ;
580
- ; RV64I-LABEL: select_nonnegative_lui_addi_swapped:
581
- ; RV64I: # %bb.0:
582
- ; RV64I-NEXT: bgez a0, .LBB22_2
583
- ; RV64I-NEXT: # %bb.1:
584
- ; RV64I-NEXT: lui a0, 4
585
- ; RV64I-NEXT: ret
586
- ; RV64I-NEXT: .LBB22_2:
587
- ; RV64I-NEXT: li a0, 25
588
- ; RV64I-NEXT: ret
589
- ;
590
- ; RV64IFD-LABEL: select_nonnegative_lui_addi_swapped:
591
- ; RV64IFD: # %bb.0:
592
- ; RV64IFD-NEXT: bgez a0, .LBB22_2
593
- ; RV64IFD-NEXT: # %bb.1:
594
- ; RV64IFD-NEXT: lui a0, 4
595
- ; RV64IFD-NEXT: ret
596
- ; RV64IFD-NEXT: .LBB22_2:
597
- ; RV64IFD-NEXT: li a0, 25
598
- ; RV64IFD-NEXT: ret
599
- ;
600
- ; RV64ZICOND-LABEL: select_nonnegative_lui_addi_swapped:
601
- ; RV64ZICOND: # %bb.0:
602
- ; RV64ZICOND-NEXT: slti a0, a0, 0
603
- ; RV64ZICOND-NEXT: lui a1, 4
604
- ; RV64ZICOND-NEXT: addi a1, a1, -25
605
- ; RV64ZICOND-NEXT: czero.eqz a0, a1, a0
606
- ; RV64ZICOND-NEXT: addi a0, a0, 25
607
- ; RV64ZICOND-NEXT: ret
608
- %cmp = icmp sgt i32 %x , -1
609
- %cond = select i1 %cmp , i32 25 , i32 16384
610
- ret i32 %cond
611
- }
0 commit comments