@@ -481,131 +481,3 @@ define i32 @select_sgt_negative_one_constant1_constant2(i32 signext %x) {
481481 %cond = select i1 %cmp , i32 7 , i32 -3
482482 ret i32 %cond
483483}
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