@@ -1750,15 +1750,15 @@ define i32 @select_cst5(i1 zeroext %cond) {
17501750;
17511751; RV64IMXVTCONDOPS-LABEL: select_cst5:
17521752; RV64IMXVTCONDOPS: # %bb.0:
1753- ; RV64IMXVTCONDOPS-NEXT: li a1, 2
1754- ; RV64IMXVTCONDOPS-NEXT: vt.maskcn a0, a1, a0
1753+ ; RV64IMXVTCONDOPS-NEXT: xori a0, a0, 1
1754+ ; RV64IMXVTCONDOPS-NEXT: slli a0, a0, 1
17551755; RV64IMXVTCONDOPS-NEXT: addi a0, a0, 2047
17561756; RV64IMXVTCONDOPS-NEXT: ret
17571757;
17581758; CHECKZICOND-LABEL: select_cst5:
17591759; CHECKZICOND: # %bb.0:
1760- ; CHECKZICOND-NEXT: li a1, 2
1761- ; CHECKZICOND-NEXT: czero.nez a0, a1, a0
1760+ ; CHECKZICOND-NEXT: xori a0, a0, 1
1761+ ; CHECKZICOND-NEXT: slli a0, a0, 1
17621762; CHECKZICOND-NEXT: addi a0, a0, 2047
17631763; CHECKZICOND-NEXT: ret
17641764 %ret = select i1 %cond , i32 2047 , i32 2049
@@ -1826,22 +1826,22 @@ define i32 @select_cst_diff2(i1 zeroext %cond) {
18261826;
18271827; RV64IMXVTCONDOPS-LABEL: select_cst_diff2:
18281828; RV64IMXVTCONDOPS: # %bb.0:
1829- ; RV64IMXVTCONDOPS-NEXT: li a1, 2
1830- ; RV64IMXVTCONDOPS-NEXT: vt.maskcn a0, a1, a0
1829+ ; RV64IMXVTCONDOPS-NEXT: xori a0, a0, 1
1830+ ; RV64IMXVTCONDOPS-NEXT: slli a0, a0, 1
18311831; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 120
18321832; RV64IMXVTCONDOPS-NEXT: ret
18331833;
18341834; RV32IMZICOND-LABEL: select_cst_diff2:
18351835; RV32IMZICOND: # %bb.0:
1836- ; RV32IMZICOND-NEXT: li a1, 2
1837- ; RV32IMZICOND-NEXT: czero.nez a0, a1, a0
1836+ ; RV32IMZICOND-NEXT: xori a0, a0, 1
1837+ ; RV32IMZICOND-NEXT: slli a0, a0, 1
18381838; RV32IMZICOND-NEXT: addi a0, a0, 120
18391839; RV32IMZICOND-NEXT: ret
18401840;
18411841; RV64IMZICOND-LABEL: select_cst_diff2:
18421842; RV64IMZICOND: # %bb.0:
1843- ; RV64IMZICOND-NEXT: li a1, 2
1844- ; RV64IMZICOND-NEXT: czero.nez a0, a1, a0
1843+ ; RV64IMZICOND-NEXT: xori a0, a0, 1
1844+ ; RV64IMZICOND-NEXT: slli a0, a0, 1
18451845; RV64IMZICOND-NEXT: addiw a0, a0, 120
18461846; RV64IMZICOND-NEXT: ret
18471847 %ret = select i1 %cond , i32 120 , i32 122
@@ -1949,15 +1949,15 @@ define i32 @select_cst_diff4_invert(i1 zeroext %cond) {
19491949;
19501950; RV64IMXVTCONDOPS-LABEL: select_cst_diff4_invert:
19511951; RV64IMXVTCONDOPS: # %bb.0:
1952- ; RV64IMXVTCONDOPS-NEXT: li a1, 4
1953- ; RV64IMXVTCONDOPS-NEXT: vt.maskcn a0, a1, a0
1952+ ; RV64IMXVTCONDOPS-NEXT: xori a0, a0, 1
1953+ ; RV64IMXVTCONDOPS-NEXT: slli a0, a0, 2
19541954; RV64IMXVTCONDOPS-NEXT: addi a0, a0, 6
19551955; RV64IMXVTCONDOPS-NEXT: ret
19561956;
19571957; CHECKZICOND-LABEL: select_cst_diff4_invert:
19581958; CHECKZICOND: # %bb.0:
1959- ; CHECKZICOND-NEXT: li a1, 4
1960- ; CHECKZICOND-NEXT: czero.nez a0, a1, a0
1959+ ; CHECKZICOND-NEXT: xori a0, a0, 1
1960+ ; CHECKZICOND-NEXT: slli a0, a0, 2
19611961; CHECKZICOND-NEXT: addi a0, a0, 6
19621962; CHECKZICOND-NEXT: ret
19631963 %ret = select i1 %cond , i32 6 , i32 10
@@ -2029,22 +2029,22 @@ define i32 @select_cst_diff8_invert(i1 zeroext %cond) {
20292029;
20302030; RV64IMXVTCONDOPS-LABEL: select_cst_diff8_invert:
20312031; RV64IMXVTCONDOPS: # %bb.0:
2032- ; RV64IMXVTCONDOPS-NEXT: li a1, 8
2033- ; RV64IMXVTCONDOPS-NEXT: vt.maskcn a0, a1, a0
2032+ ; RV64IMXVTCONDOPS-NEXT: xori a0, a0, 1
2033+ ; RV64IMXVTCONDOPS-NEXT: slli a0, a0, 3
20342034; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 6
20352035; RV64IMXVTCONDOPS-NEXT: ret
20362036;
20372037; RV32IMZICOND-LABEL: select_cst_diff8_invert:
20382038; RV32IMZICOND: # %bb.0:
2039- ; RV32IMZICOND-NEXT: li a1, 8
2040- ; RV32IMZICOND-NEXT: czero.nez a0, a1, a0
2039+ ; RV32IMZICOND-NEXT: xori a0, a0, 1
2040+ ; RV32IMZICOND-NEXT: slli a0, a0, 3
20412041; RV32IMZICOND-NEXT: addi a0, a0, 6
20422042; RV32IMZICOND-NEXT: ret
20432043;
20442044; RV64IMZICOND-LABEL: select_cst_diff8_invert:
20452045; RV64IMZICOND: # %bb.0:
2046- ; RV64IMZICOND-NEXT: li a1, 8
2047- ; RV64IMZICOND-NEXT: czero.nez a0, a1, a0
2046+ ; RV64IMZICOND-NEXT: xori a0, a0, 1
2047+ ; RV64IMZICOND-NEXT: slli a0, a0, 3
20482048; RV64IMZICOND-NEXT: addiw a0, a0, 6
20492049; RV64IMZICOND-NEXT: ret
20502050 %ret = select i1 %cond , i32 6 , i32 14
@@ -2117,22 +2117,22 @@ define i32 @select_cst_diff1024_invert(i1 zeroext %cond) {
21172117;
21182118; RV64IMXVTCONDOPS-LABEL: select_cst_diff1024_invert:
21192119; RV64IMXVTCONDOPS: # %bb.0:
2120- ; RV64IMXVTCONDOPS-NEXT: li a1, 1024
2121- ; RV64IMXVTCONDOPS-NEXT: vt.maskcn a0, a1, a0
2120+ ; RV64IMXVTCONDOPS-NEXT: xori a0, a0, 1
2121+ ; RV64IMXVTCONDOPS-NEXT: slli a0, a0, 10
21222122; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 6
21232123; RV64IMXVTCONDOPS-NEXT: ret
21242124;
21252125; RV32IMZICOND-LABEL: select_cst_diff1024_invert:
21262126; RV32IMZICOND: # %bb.0:
2127- ; RV32IMZICOND-NEXT: li a1, 1024
2128- ; RV32IMZICOND-NEXT: czero.nez a0, a1, a0
2127+ ; RV32IMZICOND-NEXT: xori a0, a0, 1
2128+ ; RV32IMZICOND-NEXT: slli a0, a0, 10
21292129; RV32IMZICOND-NEXT: addi a0, a0, 6
21302130; RV32IMZICOND-NEXT: ret
21312131;
21322132; RV64IMZICOND-LABEL: select_cst_diff1024_invert:
21332133; RV64IMZICOND: # %bb.0:
2134- ; RV64IMZICOND-NEXT: li a1, 1024
2135- ; RV64IMZICOND-NEXT: czero.nez a0, a1, a0
2134+ ; RV64IMZICOND-NEXT: xori a0, a0, 1
2135+ ; RV64IMZICOND-NEXT: slli a0, a0, 10
21362136; RV64IMZICOND-NEXT: addiw a0, a0, 6
21372137; RV64IMZICOND-NEXT: ret
21382138 %ret = select i1 %cond , i32 6 , i32 1030
0 commit comments