@@ -445,98 +445,38 @@ define i32 @select_ne_10001_10002(i32 signext %a, i32 signext %b) {
445445}
446446
447447define 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
483454;
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
491461 %cmp = icmp slt i32 %x , 0
492462 %cond = select i1 %cmp , i32 7 , i32 -3
493463 ret i32 %cond
494464}
495465
496466define 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
532473;
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
540480 %cmp = icmp sgt i32 %x , -1
541481 %cond = select i1 %cmp , i32 7 , i32 -3
542482 ret i32 %cond
0 commit comments