Lines Matching refs:setOperationAction
77 setOperationAction(ISD::SHL_PARTS, GRLenVT, Custom); in LoongArchTargetLowering()
78 setOperationAction(ISD::SRA_PARTS, GRLenVT, Custom); in LoongArchTargetLowering()
79 setOperationAction(ISD::SRL_PARTS, GRLenVT, Custom); in LoongArchTargetLowering()
80 setOperationAction(ISD::FP_TO_SINT, GRLenVT, Custom); in LoongArchTargetLowering()
81 setOperationAction(ISD::ROTL, GRLenVT, Expand); in LoongArchTargetLowering()
82 setOperationAction(ISD::CTPOP, GRLenVT, Expand); in LoongArchTargetLowering()
84 setOperationAction({ISD::GlobalAddress, ISD::BlockAddress, ISD::ConstantPool, in LoongArchTargetLowering()
88 setOperationAction(ISD::EH_DWARF_CFA, GRLenVT, Custom); in LoongArchTargetLowering()
90 setOperationAction(ISD::DYNAMIC_STACKALLOC, GRLenVT, Expand); in LoongArchTargetLowering()
91 setOperationAction({ISD::STACKSAVE, ISD::STACKRESTORE}, MVT::Other, Expand); in LoongArchTargetLowering()
92 setOperationAction(ISD::VASTART, MVT::Other, Custom); in LoongArchTargetLowering()
93 setOperationAction({ISD::VAARG, ISD::VACOPY, ISD::VAEND}, MVT::Other, Expand); in LoongArchTargetLowering()
95 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal); in LoongArchTargetLowering()
96 setOperationAction(ISD::TRAP, MVT::Other, Legal); in LoongArchTargetLowering()
98 setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom); in LoongArchTargetLowering()
99 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom); in LoongArchTargetLowering()
100 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom); in LoongArchTargetLowering()
104 setOperationAction(ISD::BITREVERSE, MVT::i8, Custom); in LoongArchTargetLowering()
105 setOperationAction(ISD::BITREVERSE, GRLenVT, Legal); in LoongArchTargetLowering()
110 setOperationAction(ISD::BSWAP, MVT::i16, Custom); in LoongArchTargetLowering()
112 setOperationAction(ISD::BR_JT, MVT::Other, Expand); in LoongArchTargetLowering()
113 setOperationAction(ISD::BR_CC, GRLenVT, Expand); in LoongArchTargetLowering()
114 setOperationAction(ISD::SELECT_CC, GRLenVT, Expand); in LoongArchTargetLowering()
115 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1, Expand); in LoongArchTargetLowering()
116 setOperationAction({ISD::SMUL_LOHI, ISD::UMUL_LOHI}, GRLenVT, Expand); in LoongArchTargetLowering()
118 setOperationAction(ISD::FP_TO_UINT, GRLenVT, Custom); in LoongArchTargetLowering()
119 setOperationAction(ISD::UINT_TO_FP, GRLenVT, Expand); in LoongArchTargetLowering()
124 setOperationAction(ISD::ADD, MVT::i32, Custom); in LoongArchTargetLowering()
125 setOperationAction(ISD::SUB, MVT::i32, Custom); in LoongArchTargetLowering()
126 setOperationAction(ISD::SHL, MVT::i32, Custom); in LoongArchTargetLowering()
127 setOperationAction(ISD::SRA, MVT::i32, Custom); in LoongArchTargetLowering()
128 setOperationAction(ISD::SRL, MVT::i32, Custom); in LoongArchTargetLowering()
129 setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom); in LoongArchTargetLowering()
130 setOperationAction(ISD::BITCAST, MVT::i32, Custom); in LoongArchTargetLowering()
131 setOperationAction(ISD::ROTR, MVT::i32, Custom); in LoongArchTargetLowering()
132 setOperationAction(ISD::ROTL, MVT::i32, Custom); in LoongArchTargetLowering()
133 setOperationAction(ISD::CTTZ, MVT::i32, Custom); in LoongArchTargetLowering()
134 setOperationAction(ISD::CTLZ, MVT::i32, Custom); in LoongArchTargetLowering()
135 setOperationAction(ISD::EH_DWARF_CFA, MVT::i32, Custom); in LoongArchTargetLowering()
136 setOperationAction(ISD::READ_REGISTER, MVT::i32, Custom); in LoongArchTargetLowering()
137 setOperationAction(ISD::WRITE_REGISTER, MVT::i32, Custom); in LoongArchTargetLowering()
138 setOperationAction(ISD::INTRINSIC_VOID, MVT::i32, Custom); in LoongArchTargetLowering()
139 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i32, Custom); in LoongArchTargetLowering()
140 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i32, Custom); in LoongArchTargetLowering()
142 setOperationAction(ISD::BITREVERSE, MVT::i32, Custom); in LoongArchTargetLowering()
143 setOperationAction(ISD::BSWAP, MVT::i32, Custom); in LoongArchTargetLowering()
144 setOperationAction({ISD::UDIV, ISD::UREM}, MVT::i32, Custom); in LoongArchTargetLowering()
150 setOperationAction(ISD::READ_REGISTER, MVT::i64, Custom); in LoongArchTargetLowering()
151 setOperationAction(ISD::WRITE_REGISTER, MVT::i64, Custom); in LoongArchTargetLowering()
152 setOperationAction(ISD::INTRINSIC_VOID, MVT::i64, Custom); in LoongArchTargetLowering()
153 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i64, Custom); in LoongArchTargetLowering()
154 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i64, Custom); in LoongArchTargetLowering()
157 setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom); in LoongArchTargetLowering()
170 setOperationAction(ISD::SELECT_CC, MVT::f32, Expand); in LoongArchTargetLowering()
171 setOperationAction(ISD::BR_CC, MVT::f32, Expand); in LoongArchTargetLowering()
172 setOperationAction(ISD::FMA, MVT::f32, Legal); in LoongArchTargetLowering()
173 setOperationAction(ISD::FMINNUM_IEEE, MVT::f32, Legal); in LoongArchTargetLowering()
174 setOperationAction(ISD::FMAXNUM_IEEE, MVT::f32, Legal); in LoongArchTargetLowering()
175 setOperationAction(ISD::STRICT_FSETCCS, MVT::f32, Legal); in LoongArchTargetLowering()
176 setOperationAction(ISD::STRICT_FSETCC, MVT::f32, Legal); in LoongArchTargetLowering()
177 setOperationAction(ISD::IS_FPCLASS, MVT::f32, Legal); in LoongArchTargetLowering()
178 setOperationAction(ISD::FSIN, MVT::f32, Expand); in LoongArchTargetLowering()
179 setOperationAction(ISD::FCOS, MVT::f32, Expand); in LoongArchTargetLowering()
180 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in LoongArchTargetLowering()
181 setOperationAction(ISD::FPOW, MVT::f32, Expand); in LoongArchTargetLowering()
182 setOperationAction(ISD::FREM, MVT::f32, Expand); in LoongArchTargetLowering()
183 setOperationAction(ISD::FP16_TO_FP, MVT::f32, Expand); in LoongArchTargetLowering()
184 setOperationAction(ISD::FP_TO_FP16, MVT::f32, Expand); in LoongArchTargetLowering()
187 setOperationAction(ISD::FRINT, MVT::f32, Legal); in LoongArchTargetLowering()
190 setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom); in LoongArchTargetLowering()
192 setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom); in LoongArchTargetLowering()
193 setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom); in LoongArchTargetLowering()
207 setOperationAction(ISD::SELECT_CC, MVT::f64, Expand); in LoongArchTargetLowering()
208 setOperationAction(ISD::BR_CC, MVT::f64, Expand); in LoongArchTargetLowering()
209 setOperationAction(ISD::STRICT_FSETCCS, MVT::f64, Legal); in LoongArchTargetLowering()
210 setOperationAction(ISD::STRICT_FSETCC, MVT::f64, Legal); in LoongArchTargetLowering()
211 setOperationAction(ISD::FMA, MVT::f64, Legal); in LoongArchTargetLowering()
212 setOperationAction(ISD::FMINNUM_IEEE, MVT::f64, Legal); in LoongArchTargetLowering()
213 setOperationAction(ISD::FMAXNUM_IEEE, MVT::f64, Legal); in LoongArchTargetLowering()
214 setOperationAction(ISD::IS_FPCLASS, MVT::f64, Legal); in LoongArchTargetLowering()
215 setOperationAction(ISD::FSIN, MVT::f64, Expand); in LoongArchTargetLowering()
216 setOperationAction(ISD::FCOS, MVT::f64, Expand); in LoongArchTargetLowering()
217 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in LoongArchTargetLowering()
218 setOperationAction(ISD::FPOW, MVT::f64, Expand); in LoongArchTargetLowering()
219 setOperationAction(ISD::FREM, MVT::f64, Expand); in LoongArchTargetLowering()
220 setOperationAction(ISD::FP16_TO_FP, MVT::f64, Expand); in LoongArchTargetLowering()
221 setOperationAction(ISD::FP_TO_FP16, MVT::f64, Expand); in LoongArchTargetLowering()
224 setOperationAction(ISD::FRINT, MVT::f64, Legal); in LoongArchTargetLowering()
241 setOperationAction(Op, VT, Expand); in LoongArchTargetLowering()
245 setOperationAction({ISD::LOAD, ISD::STORE}, VT, Legal); in LoongArchTargetLowering()
246 setOperationAction(ISD::BITCAST, VT, Legal); in LoongArchTargetLowering()
247 setOperationAction(ISD::UNDEF, VT, Legal); in LoongArchTargetLowering()
249 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in LoongArchTargetLowering()
250 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Legal); in LoongArchTargetLowering()
251 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in LoongArchTargetLowering()
253 setOperationAction(ISD::SETCC, VT, Legal); in LoongArchTargetLowering()
254 setOperationAction(ISD::VSELECT, VT, Legal); in LoongArchTargetLowering()
255 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in LoongArchTargetLowering()
258 setOperationAction({ISD::ADD, ISD::SUB}, VT, Legal); in LoongArchTargetLowering()
259 setOperationAction({ISD::UMAX, ISD::UMIN, ISD::SMAX, ISD::SMIN}, VT, in LoongArchTargetLowering()
261 setOperationAction({ISD::MUL, ISD::SDIV, ISD::SREM, ISD::UDIV, ISD::UREM}, in LoongArchTargetLowering()
263 setOperationAction({ISD::AND, ISD::OR, ISD::XOR}, VT, Legal); in LoongArchTargetLowering()
264 setOperationAction({ISD::SHL, ISD::SRA, ISD::SRL}, VT, Legal); in LoongArchTargetLowering()
265 setOperationAction({ISD::CTPOP, ISD::CTLZ}, VT, Legal); in LoongArchTargetLowering()
266 setOperationAction({ISD::MULHS, ISD::MULHU}, VT, Legal); in LoongArchTargetLowering()
272 setOperationAction({ISD::SINT_TO_FP, ISD::UINT_TO_FP}, VT, Legal); in LoongArchTargetLowering()
273 setOperationAction({ISD::FP_TO_SINT, ISD::FP_TO_UINT}, VT, Legal); in LoongArchTargetLowering()
276 setOperationAction({ISD::FADD, ISD::FSUB}, VT, Legal); in LoongArchTargetLowering()
277 setOperationAction({ISD::FMUL, ISD::FDIV}, VT, Legal); in LoongArchTargetLowering()
278 setOperationAction(ISD::FMA, VT, Legal); in LoongArchTargetLowering()
279 setOperationAction(ISD::FSQRT, VT, Legal); in LoongArchTargetLowering()
280 setOperationAction(ISD::FNEG, VT, Legal); in LoongArchTargetLowering()
291 setOperationAction({ISD::LOAD, ISD::STORE}, VT, Legal); in LoongArchTargetLowering()
292 setOperationAction(ISD::BITCAST, VT, Legal); in LoongArchTargetLowering()
293 setOperationAction(ISD::UNDEF, VT, Legal); in LoongArchTargetLowering()
295 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in LoongArchTargetLowering()
296 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in LoongArchTargetLowering()
297 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in LoongArchTargetLowering()
298 setOperationAction(ISD::CONCAT_VECTORS, VT, Legal); in LoongArchTargetLowering()
300 setOperationAction(ISD::SETCC, VT, Legal); in LoongArchTargetLowering()
301 setOperationAction(ISD::VSELECT, VT, Legal); in LoongArchTargetLowering()
302 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in LoongArchTargetLowering()
305 setOperationAction({ISD::ADD, ISD::SUB}, VT, Legal); in LoongArchTargetLowering()
306 setOperationAction({ISD::UMAX, ISD::UMIN, ISD::SMAX, ISD::SMIN}, VT, in LoongArchTargetLowering()
308 setOperationAction({ISD::MUL, ISD::SDIV, ISD::SREM, ISD::UDIV, ISD::UREM}, in LoongArchTargetLowering()
310 setOperationAction({ISD::AND, ISD::OR, ISD::XOR}, VT, Legal); in LoongArchTargetLowering()
311 setOperationAction({ISD::SHL, ISD::SRA, ISD::SRL}, VT, Legal); in LoongArchTargetLowering()
312 setOperationAction({ISD::CTPOP, ISD::CTLZ}, VT, Legal); in LoongArchTargetLowering()
313 setOperationAction({ISD::MULHS, ISD::MULHU}, VT, Legal); in LoongArchTargetLowering()
319 setOperationAction({ISD::SINT_TO_FP, ISD::UINT_TO_FP}, VT, Legal); in LoongArchTargetLowering()
320 setOperationAction({ISD::FP_TO_SINT, ISD::FP_TO_UINT}, VT, Legal); in LoongArchTargetLowering()
323 setOperationAction({ISD::FADD, ISD::FSUB}, VT, Legal); in LoongArchTargetLowering()
324 setOperationAction({ISD::FMUL, ISD::FDIV}, VT, Legal); in LoongArchTargetLowering()
325 setOperationAction(ISD::FMA, VT, Legal); in LoongArchTargetLowering()
326 setOperationAction(ISD::FSQRT, VT, Legal); in LoongArchTargetLowering()
327 setOperationAction(ISD::FNEG, VT, Legal); in LoongArchTargetLowering()