@@ -1750,15 +1750,15 @@ define i32 @select_cst5(i1 zeroext %cond) {
1750
1750
;
1751
1751
; RV64IMXVTCONDOPS-LABEL: select_cst5:
1752
1752
; 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
1755
1755
; RV64IMXVTCONDOPS-NEXT: addi a0, a0, 2047
1756
1756
; RV64IMXVTCONDOPS-NEXT: ret
1757
1757
;
1758
1758
; CHECKZICOND-LABEL: select_cst5:
1759
1759
; 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
1762
1762
; CHECKZICOND-NEXT: addi a0, a0, 2047
1763
1763
; CHECKZICOND-NEXT: ret
1764
1764
%ret = select i1 %cond , i32 2047 , i32 2049
@@ -1826,22 +1826,22 @@ define i32 @select_cst_diff2(i1 zeroext %cond) {
1826
1826
;
1827
1827
; RV64IMXVTCONDOPS-LABEL: select_cst_diff2:
1828
1828
; 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
1831
1831
; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 120
1832
1832
; RV64IMXVTCONDOPS-NEXT: ret
1833
1833
;
1834
1834
; RV32IMZICOND-LABEL: select_cst_diff2:
1835
1835
; 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
1838
1838
; RV32IMZICOND-NEXT: addi a0, a0, 120
1839
1839
; RV32IMZICOND-NEXT: ret
1840
1840
;
1841
1841
; RV64IMZICOND-LABEL: select_cst_diff2:
1842
1842
; 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
1845
1845
; RV64IMZICOND-NEXT: addiw a0, a0, 120
1846
1846
; RV64IMZICOND-NEXT: ret
1847
1847
%ret = select i1 %cond , i32 120 , i32 122
@@ -1949,15 +1949,15 @@ define i32 @select_cst_diff4_invert(i1 zeroext %cond) {
1949
1949
;
1950
1950
; RV64IMXVTCONDOPS-LABEL: select_cst_diff4_invert:
1951
1951
; 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
1954
1954
; RV64IMXVTCONDOPS-NEXT: addi a0, a0, 6
1955
1955
; RV64IMXVTCONDOPS-NEXT: ret
1956
1956
;
1957
1957
; CHECKZICOND-LABEL: select_cst_diff4_invert:
1958
1958
; 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
1961
1961
; CHECKZICOND-NEXT: addi a0, a0, 6
1962
1962
; CHECKZICOND-NEXT: ret
1963
1963
%ret = select i1 %cond , i32 6 , i32 10
@@ -2029,22 +2029,22 @@ define i32 @select_cst_diff8_invert(i1 zeroext %cond) {
2029
2029
;
2030
2030
; RV64IMXVTCONDOPS-LABEL: select_cst_diff8_invert:
2031
2031
; 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
2034
2034
; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 6
2035
2035
; RV64IMXVTCONDOPS-NEXT: ret
2036
2036
;
2037
2037
; RV32IMZICOND-LABEL: select_cst_diff8_invert:
2038
2038
; 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
2041
2041
; RV32IMZICOND-NEXT: addi a0, a0, 6
2042
2042
; RV32IMZICOND-NEXT: ret
2043
2043
;
2044
2044
; RV64IMZICOND-LABEL: select_cst_diff8_invert:
2045
2045
; 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
2048
2048
; RV64IMZICOND-NEXT: addiw a0, a0, 6
2049
2049
; RV64IMZICOND-NEXT: ret
2050
2050
%ret = select i1 %cond , i32 6 , i32 14
@@ -2117,22 +2117,22 @@ define i32 @select_cst_diff1024_invert(i1 zeroext %cond) {
2117
2117
;
2118
2118
; RV64IMXVTCONDOPS-LABEL: select_cst_diff1024_invert:
2119
2119
; 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
2122
2122
; RV64IMXVTCONDOPS-NEXT: addiw a0, a0, 6
2123
2123
; RV64IMXVTCONDOPS-NEXT: ret
2124
2124
;
2125
2125
; RV32IMZICOND-LABEL: select_cst_diff1024_invert:
2126
2126
; 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
2129
2129
; RV32IMZICOND-NEXT: addi a0, a0, 6
2130
2130
; RV32IMZICOND-NEXT: ret
2131
2131
;
2132
2132
; RV64IMZICOND-LABEL: select_cst_diff1024_invert:
2133
2133
; 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
2136
2136
; RV64IMZICOND-NEXT: addiw a0, a0, 6
2137
2137
; RV64IMZICOND-NEXT: ret
2138
2138
%ret = select i1 %cond , i32 6 , i32 1030
0 commit comments