Lines Matching refs:ISD
76 ISD::ArgFlagsTy ArgFlags, CCState &State) { in allocateStack()
108 setOperationAction(ISD::Constant, MVT::i32, Legal); in AMDGPUTargetLowering()
109 setOperationAction(ISD::Constant, MVT::i64, Legal); in AMDGPUTargetLowering()
110 setOperationAction(ISD::ConstantFP, MVT::f32, Legal); in AMDGPUTargetLowering()
111 setOperationAction(ISD::ConstantFP, MVT::f64, Legal); in AMDGPUTargetLowering()
113 setOperationAction(ISD::BR_JT, MVT::Other, Expand); in AMDGPUTargetLowering()
114 setOperationAction(ISD::BRIND, MVT::Other, Expand); in AMDGPUTargetLowering()
117 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom); in AMDGPUTargetLowering()
121 setOperationAction(ISD::FCEIL, MVT::f32, Legal); in AMDGPUTargetLowering()
122 setOperationAction(ISD::FEXP2, MVT::f32, Legal); in AMDGPUTargetLowering()
123 setOperationAction(ISD::FPOW, MVT::f32, Legal); in AMDGPUTargetLowering()
124 setOperationAction(ISD::FLOG2, MVT::f32, Legal); in AMDGPUTargetLowering()
125 setOperationAction(ISD::FABS, MVT::f32, Legal); in AMDGPUTargetLowering()
126 setOperationAction(ISD::FFLOOR, MVT::f32, Legal); in AMDGPUTargetLowering()
127 setOperationAction(ISD::FRINT, MVT::f32, Legal); in AMDGPUTargetLowering()
128 setOperationAction(ISD::FTRUNC, MVT::f32, Legal); in AMDGPUTargetLowering()
129 setOperationAction(ISD::FMINNUM, MVT::f32, Legal); in AMDGPUTargetLowering()
130 setOperationAction(ISD::FMAXNUM, MVT::f32, Legal); in AMDGPUTargetLowering()
132 setOperationAction(ISD::FROUND, MVT::f32, Custom); in AMDGPUTargetLowering()
133 setOperationAction(ISD::FROUND, MVT::f64, Custom); in AMDGPUTargetLowering()
135 setOperationAction(ISD::FREM, MVT::f32, Custom); in AMDGPUTargetLowering()
136 setOperationAction(ISD::FREM, MVT::f64, Custom); in AMDGPUTargetLowering()
140 setOperationAction(ISD::FMAD, MVT::f32, Legal); in AMDGPUTargetLowering()
143 setOperationAction(ISD::FSUB, MVT::f64, Expand); in AMDGPUTargetLowering()
147 setOperationAction(ISD::STORE, MVT::f32, Promote); in AMDGPUTargetLowering()
148 AddPromotedToType(ISD::STORE, MVT::f32, MVT::i32); in AMDGPUTargetLowering()
150 setOperationAction(ISD::STORE, MVT::v2f32, Promote); in AMDGPUTargetLowering()
151 AddPromotedToType(ISD::STORE, MVT::v2f32, MVT::v2i32); in AMDGPUTargetLowering()
153 setOperationAction(ISD::STORE, MVT::v4f32, Promote); in AMDGPUTargetLowering()
154 AddPromotedToType(ISD::STORE, MVT::v4f32, MVT::v4i32); in AMDGPUTargetLowering()
156 setOperationAction(ISD::STORE, MVT::v8f32, Promote); in AMDGPUTargetLowering()
157 AddPromotedToType(ISD::STORE, MVT::v8f32, MVT::v8i32); in AMDGPUTargetLowering()
159 setOperationAction(ISD::STORE, MVT::v16f32, Promote); in AMDGPUTargetLowering()
160 AddPromotedToType(ISD::STORE, MVT::v16f32, MVT::v16i32); in AMDGPUTargetLowering()
162 setOperationAction(ISD::STORE, MVT::f64, Promote); in AMDGPUTargetLowering()
163 AddPromotedToType(ISD::STORE, MVT::f64, MVT::i64); in AMDGPUTargetLowering()
165 setOperationAction(ISD::STORE, MVT::v2f64, Promote); in AMDGPUTargetLowering()
166 AddPromotedToType(ISD::STORE, MVT::v2f64, MVT::v2i64); in AMDGPUTargetLowering()
170 setOperationAction(ISD::STORE, MVT::v4i32, Custom); in AMDGPUTargetLowering()
187 setOperationAction(ISD::LOAD, MVT::f32, Promote); in AMDGPUTargetLowering()
188 AddPromotedToType(ISD::LOAD, MVT::f32, MVT::i32); in AMDGPUTargetLowering()
190 setOperationAction(ISD::LOAD, MVT::v2f32, Promote); in AMDGPUTargetLowering()
191 AddPromotedToType(ISD::LOAD, MVT::v2f32, MVT::v2i32); in AMDGPUTargetLowering()
193 setOperationAction(ISD::LOAD, MVT::v4f32, Promote); in AMDGPUTargetLowering()
194 AddPromotedToType(ISD::LOAD, MVT::v4f32, MVT::v4i32); in AMDGPUTargetLowering()
196 setOperationAction(ISD::LOAD, MVT::v8f32, Promote); in AMDGPUTargetLowering()
197 AddPromotedToType(ISD::LOAD, MVT::v8f32, MVT::v8i32); in AMDGPUTargetLowering()
199 setOperationAction(ISD::LOAD, MVT::v16f32, Promote); in AMDGPUTargetLowering()
200 AddPromotedToType(ISD::LOAD, MVT::v16f32, MVT::v16i32); in AMDGPUTargetLowering()
202 setOperationAction(ISD::LOAD, MVT::f64, Promote); in AMDGPUTargetLowering()
203 AddPromotedToType(ISD::LOAD, MVT::f64, MVT::i64); in AMDGPUTargetLowering()
205 setOperationAction(ISD::LOAD, MVT::v2f64, Promote); in AMDGPUTargetLowering()
206 AddPromotedToType(ISD::LOAD, MVT::v2f64, MVT::v2i64); in AMDGPUTargetLowering()
208 setOperationAction(ISD::CONCAT_VECTORS, MVT::v4i32, Custom); in AMDGPUTargetLowering()
209 setOperationAction(ISD::CONCAT_VECTORS, MVT::v4f32, Custom); in AMDGPUTargetLowering()
210 setOperationAction(ISD::CONCAT_VECTORS, MVT::v8i32, Custom); in AMDGPUTargetLowering()
211 setOperationAction(ISD::CONCAT_VECTORS, MVT::v8f32, Custom); in AMDGPUTargetLowering()
212 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v2f32, Custom); in AMDGPUTargetLowering()
213 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v2i32, Custom); in AMDGPUTargetLowering()
214 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v4f32, Custom); in AMDGPUTargetLowering()
215 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v4i32, Custom); in AMDGPUTargetLowering()
216 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8f32, Custom); in AMDGPUTargetLowering()
217 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8i32, Custom); in AMDGPUTargetLowering()
222 setLoadExtAction(ISD::EXTLOAD, MVT::i64, VT, Expand); in AMDGPUTargetLowering()
223 setLoadExtAction(ISD::SEXTLOAD, MVT::i64, VT, Expand); in AMDGPUTargetLowering()
224 setLoadExtAction(ISD::ZEXTLOAD, MVT::i64, VT, Expand); in AMDGPUTargetLowering()
228 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v2i8, Expand); in AMDGPUTargetLowering()
229 setLoadExtAction(ISD::SEXTLOAD, VT, MVT::v2i8, Expand); in AMDGPUTargetLowering()
230 setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::v2i8, Expand); in AMDGPUTargetLowering()
231 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v4i8, Expand); in AMDGPUTargetLowering()
232 setLoadExtAction(ISD::SEXTLOAD, VT, MVT::v4i8, Expand); in AMDGPUTargetLowering()
233 setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::v4i8, Expand); in AMDGPUTargetLowering()
234 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v2i16, Expand); in AMDGPUTargetLowering()
235 setLoadExtAction(ISD::SEXTLOAD, VT, MVT::v2i16, Expand); in AMDGPUTargetLowering()
236 setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::v2i16, Expand); in AMDGPUTargetLowering()
237 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v4i16, Expand); in AMDGPUTargetLowering()
238 setLoadExtAction(ISD::SEXTLOAD, VT, MVT::v4i16, Expand); in AMDGPUTargetLowering()
239 setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::v4i16, Expand); in AMDGPUTargetLowering()
242 setOperationAction(ISD::BR_CC, MVT::i1, Expand); in AMDGPUTargetLowering()
245 setOperationAction(ISD::FCEIL, MVT::f64, Custom); in AMDGPUTargetLowering()
246 setOperationAction(ISD::FTRUNC, MVT::f64, Custom); in AMDGPUTargetLowering()
247 setOperationAction(ISD::FRINT, MVT::f64, Custom); in AMDGPUTargetLowering()
248 setOperationAction(ISD::FFLOOR, MVT::f64, Custom); in AMDGPUTargetLowering()
253 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand); in AMDGPUTargetLowering()
254 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); in AMDGPUTargetLowering()
257 setOperationAction(ISD::FP16_TO_FP, MVT::f64, Expand); in AMDGPUTargetLowering()
259 setLoadExtAction(ISD::EXTLOAD, MVT::f32, MVT::f16, Expand); in AMDGPUTargetLowering()
260 setLoadExtAction(ISD::EXTLOAD, MVT::f64, MVT::f16, Expand); in AMDGPUTargetLowering()
266 setOperationAction(ISD::SREM, VT, Expand); in AMDGPUTargetLowering()
267 setOperationAction(ISD::SDIV, VT, Expand); in AMDGPUTargetLowering()
270 setOperationAction(ISD::SDIVREM, VT, Custom); in AMDGPUTargetLowering()
271 setOperationAction(ISD::UDIVREM, VT, Custom); in AMDGPUTargetLowering()
274 setOperationAction(ISD::SMUL_LOHI, VT, Expand); in AMDGPUTargetLowering()
275 setOperationAction(ISD::UMUL_LOHI, VT, Expand); in AMDGPUTargetLowering()
277 setOperationAction(ISD::BSWAP, VT, Expand); in AMDGPUTargetLowering()
278 setOperationAction(ISD::CTTZ, VT, Expand); in AMDGPUTargetLowering()
279 setOperationAction(ISD::CTLZ, VT, Expand); in AMDGPUTargetLowering()
283 setOperationAction(ISD::CTPOP, MVT::i32, Expand); in AMDGPUTargetLowering()
286 setOperationAction(ISD::CTPOP, MVT::i64, Expand); in AMDGPUTargetLowering()
289 setOperationAction(ISD::ROTL, MVT::i32, Expand); in AMDGPUTargetLowering()
290 setOperationAction(ISD::ROTL, MVT::i64, Expand); in AMDGPUTargetLowering()
291 setOperationAction(ISD::ROTR, MVT::i64, Expand); in AMDGPUTargetLowering()
293 setOperationAction(ISD::MUL, MVT::i64, Expand); in AMDGPUTargetLowering()
294 setOperationAction(ISD::MULHU, MVT::i64, Expand); in AMDGPUTargetLowering()
295 setOperationAction(ISD::MULHS, MVT::i64, Expand); in AMDGPUTargetLowering()
296 setOperationAction(ISD::UDIV, MVT::i32, Expand); in AMDGPUTargetLowering()
297 setOperationAction(ISD::UREM, MVT::i32, Expand); in AMDGPUTargetLowering()
298 setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom); in AMDGPUTargetLowering()
299 setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom); in AMDGPUTargetLowering()
300 setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom); in AMDGPUTargetLowering()
301 setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom); in AMDGPUTargetLowering()
302 setOperationAction(ISD::SELECT_CC, MVT::i64, Expand); in AMDGPUTargetLowering()
305 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Expand); in AMDGPUTargetLowering()
308 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Expand); in AMDGPUTargetLowering()
316 setOperationAction(ISD::ADD, VT, Expand); in AMDGPUTargetLowering()
317 setOperationAction(ISD::AND, VT, Expand); in AMDGPUTargetLowering()
318 setOperationAction(ISD::FP_TO_SINT, VT, Expand); in AMDGPUTargetLowering()
319 setOperationAction(ISD::FP_TO_UINT, VT, Expand); in AMDGPUTargetLowering()
320 setOperationAction(ISD::MUL, VT, Expand); in AMDGPUTargetLowering()
321 setOperationAction(ISD::OR, VT, Expand); in AMDGPUTargetLowering()
322 setOperationAction(ISD::SHL, VT, Expand); in AMDGPUTargetLowering()
323 setOperationAction(ISD::SRA, VT, Expand); in AMDGPUTargetLowering()
324 setOperationAction(ISD::SRL, VT, Expand); in AMDGPUTargetLowering()
325 setOperationAction(ISD::ROTL, VT, Expand); in AMDGPUTargetLowering()
326 setOperationAction(ISD::ROTR, VT, Expand); in AMDGPUTargetLowering()
327 setOperationAction(ISD::SUB, VT, Expand); in AMDGPUTargetLowering()
328 setOperationAction(ISD::SINT_TO_FP, VT, Expand); in AMDGPUTargetLowering()
329 setOperationAction(ISD::UINT_TO_FP, VT, Expand); in AMDGPUTargetLowering()
330 setOperationAction(ISD::SDIV, VT, Expand); in AMDGPUTargetLowering()
331 setOperationAction(ISD::UDIV, VT, Expand); in AMDGPUTargetLowering()
332 setOperationAction(ISD::SREM, VT, Expand); in AMDGPUTargetLowering()
333 setOperationAction(ISD::UREM, VT, Expand); in AMDGPUTargetLowering()
334 setOperationAction(ISD::SMUL_LOHI, VT, Expand); in AMDGPUTargetLowering()
335 setOperationAction(ISD::UMUL_LOHI, VT, Expand); in AMDGPUTargetLowering()
336 setOperationAction(ISD::SDIVREM, VT, Custom); in AMDGPUTargetLowering()
337 setOperationAction(ISD::UDIVREM, VT, Custom); in AMDGPUTargetLowering()
338 setOperationAction(ISD::ADDC, VT, Expand); in AMDGPUTargetLowering()
339 setOperationAction(ISD::SUBC, VT, Expand); in AMDGPUTargetLowering()
340 setOperationAction(ISD::ADDE, VT, Expand); in AMDGPUTargetLowering()
341 setOperationAction(ISD::SUBE, VT, Expand); in AMDGPUTargetLowering()
342 setOperationAction(ISD::SELECT, VT, Expand); in AMDGPUTargetLowering()
343 setOperationAction(ISD::VSELECT, VT, Expand); in AMDGPUTargetLowering()
344 setOperationAction(ISD::SELECT_CC, VT, Expand); in AMDGPUTargetLowering()
345 setOperationAction(ISD::XOR, VT, Expand); in AMDGPUTargetLowering()
346 setOperationAction(ISD::BSWAP, VT, Expand); in AMDGPUTargetLowering()
347 setOperationAction(ISD::CTPOP, VT, Expand); in AMDGPUTargetLowering()
348 setOperationAction(ISD::CTTZ, VT, Expand); in AMDGPUTargetLowering()
349 setOperationAction(ISD::CTTZ_ZERO_UNDEF, VT, Expand); in AMDGPUTargetLowering()
350 setOperationAction(ISD::CTLZ, VT, Expand); in AMDGPUTargetLowering()
351 setOperationAction(ISD::CTLZ_ZERO_UNDEF, VT, Expand); in AMDGPUTargetLowering()
352 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Expand); in AMDGPUTargetLowering()
360 setOperationAction(ISD::FABS, VT, Expand); in AMDGPUTargetLowering()
361 setOperationAction(ISD::FMINNUM, VT, Expand); in AMDGPUTargetLowering()
362 setOperationAction(ISD::FMAXNUM, VT, Expand); in AMDGPUTargetLowering()
363 setOperationAction(ISD::FADD, VT, Expand); in AMDGPUTargetLowering()
364 setOperationAction(ISD::FCEIL, VT, Expand); in AMDGPUTargetLowering()
365 setOperationAction(ISD::FCOS, VT, Expand); in AMDGPUTargetLowering()
366 setOperationAction(ISD::FDIV, VT, Expand); in AMDGPUTargetLowering()
367 setOperationAction(ISD::FEXP2, VT, Expand); in AMDGPUTargetLowering()
368 setOperationAction(ISD::FLOG2, VT, Expand); in AMDGPUTargetLowering()
369 setOperationAction(ISD::FREM, VT, Expand); in AMDGPUTargetLowering()
370 setOperationAction(ISD::FPOW, VT, Expand); in AMDGPUTargetLowering()
371 setOperationAction(ISD::FFLOOR, VT, Expand); in AMDGPUTargetLowering()
372 setOperationAction(ISD::FTRUNC, VT, Expand); in AMDGPUTargetLowering()
373 setOperationAction(ISD::FMUL, VT, Expand); in AMDGPUTargetLowering()
374 setOperationAction(ISD::FMA, VT, Expand); in AMDGPUTargetLowering()
375 setOperationAction(ISD::FRINT, VT, Expand); in AMDGPUTargetLowering()
376 setOperationAction(ISD::FNEARBYINT, VT, Expand); in AMDGPUTargetLowering()
377 setOperationAction(ISD::FSQRT, VT, Expand); in AMDGPUTargetLowering()
378 setOperationAction(ISD::FSIN, VT, Expand); in AMDGPUTargetLowering()
379 setOperationAction(ISD::FSUB, VT, Expand); in AMDGPUTargetLowering()
380 setOperationAction(ISD::FNEG, VT, Expand); in AMDGPUTargetLowering()
381 setOperationAction(ISD::SELECT, VT, Expand); in AMDGPUTargetLowering()
382 setOperationAction(ISD::VSELECT, VT, Expand); in AMDGPUTargetLowering()
383 setOperationAction(ISD::SELECT_CC, VT, Expand); in AMDGPUTargetLowering()
384 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in AMDGPUTargetLowering()
385 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Expand); in AMDGPUTargetLowering()
388 setOperationAction(ISD::FNEARBYINT, MVT::f32, Custom); in AMDGPUTargetLowering()
389 setOperationAction(ISD::FNEARBYINT, MVT::f64, Custom); in AMDGPUTargetLowering()
391 setTargetDAGCombine(ISD::MUL); in AMDGPUTargetLowering()
392 setTargetDAGCombine(ISD::SELECT); in AMDGPUTargetLowering()
393 setTargetDAGCombine(ISD::SELECT_CC); in AMDGPUTargetLowering()
394 setTargetDAGCombine(ISD::STORE); in AMDGPUTargetLowering()
396 setTargetDAGCombine(ISD::FADD); in AMDGPUTargetLowering()
397 setTargetDAGCombine(ISD::FSUB); in AMDGPUTargetLowering()
451 ISD::LoadExtType, in shouldReduceLoadWidth()
558 const SmallVectorImpl<ISD::InputArg> &Ins) const { in AnalyzeFormalArguments()
567 const SmallVectorImpl<ISD::OutputArg> &Outs, in LowerReturn()
604 case ISD::SIGN_EXTEND_INREG: return LowerSIGN_EXTEND_INREG(Op, DAG); in LowerOperation()
605 case ISD::CONCAT_VECTORS: return LowerCONCAT_VECTORS(Op, DAG); in LowerOperation()
606 case ISD::EXTRACT_SUBVECTOR: return LowerEXTRACT_SUBVECTOR(Op, DAG); in LowerOperation()
607 case ISD::FrameIndex: return LowerFrameIndex(Op, DAG); in LowerOperation()
608 case ISD::INTRINSIC_WO_CHAIN: return LowerINTRINSIC_WO_CHAIN(Op, DAG); in LowerOperation()
609 case ISD::UDIVREM: return LowerUDIVREM(Op, DAG); in LowerOperation()
610 case ISD::SDIVREM: return LowerSDIVREM(Op, DAG); in LowerOperation()
611 case ISD::FREM: return LowerFREM(Op, DAG); in LowerOperation()
612 case ISD::FCEIL: return LowerFCEIL(Op, DAG); in LowerOperation()
613 case ISD::FTRUNC: return LowerFTRUNC(Op, DAG); in LowerOperation()
614 case ISD::FRINT: return LowerFRINT(Op, DAG); in LowerOperation()
615 case ISD::FNEARBYINT: return LowerFNEARBYINT(Op, DAG); in LowerOperation()
616 case ISD::FROUND: return LowerFROUND(Op, DAG); in LowerOperation()
617 case ISD::FFLOOR: return LowerFFLOOR(Op, DAG); in LowerOperation()
618 case ISD::SINT_TO_FP: return LowerSINT_TO_FP(Op, DAG); in LowerOperation()
619 case ISD::UINT_TO_FP: return LowerUINT_TO_FP(Op, DAG); in LowerOperation()
620 case ISD::FP_TO_SINT: return LowerFP_TO_SINT(Op, DAG); in LowerOperation()
621 case ISD::FP_TO_UINT: return LowerFP_TO_UINT(Op, DAG); in LowerOperation()
630 case ISD::SIGN_EXTEND_INREG: in ReplaceNodeResults()
638 case ISD::LOAD: { in ReplaceNodeResults()
650 case ISD::STORE: { in ReplaceNodeResults()
704 SDValue Ptr = DAG.getNode(ISD::ADD, DL, PtrVT, InitPtr, Offset); in LowerConstantInitializer()
710 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chains); in LowerConstantInitializer()
728 SDValue Ptr = DAG.getNode(ISD::ADD, DL, PtrVT, InitPtr, Offset); in LowerConstantInitializer()
734 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chains); in LowerConstantInitializer()
814 if (I->getOpcode() != AMDGPUISD::REGISTER_LOAD && I->getOpcode() != ISD::LOAD) in LowerGlobalAddress()
848 return DAG.getNode(ISD::BUILD_VECTOR, SDLoc(Op), Op.getValueType(), Args); in LowerCONCAT_VECTORS()
860 return DAG.getNode(ISD::BUILD_VECTOR, SDLoc(Op), Op.getValueType(), Args); in LowerEXTRACT_SUBVECTOR()
947 SDValue Tmp = DAG.getNode(ISD::FMINNUM, DL, VT, Rsq, in LowerINTRINSIC_WO_CHAIN()
949 return DAG.getNode(ISD::FMAXNUM, DL, VT, Tmp, in LowerINTRINSIC_WO_CHAIN()
1031 return DAG.getNode(ISD::FEXP2, DL, VT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
1034 return DAG.getNode(ISD::FRINT, DL, VT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
1036 return DAG.getNode(ISD::FTRUNC, DL, VT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
1045 SDValue Neg = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, VT), in LowerIntrinsicIABS()
1057 SDValue OneSubA = DAG.getNode(ISD::FSUB, DL, VT, in LowerIntrinsicLRP()
1060 SDValue OneSubAC = DAG.getNode(ISD::FMUL, DL, VT, OneSubA, in LowerIntrinsicLRP()
1062 return DAG.getNode(ISD::FADD, DL, VT, in LowerIntrinsicLRP()
1063 DAG.getNode(ISD::FMUL, DL, VT, Op.getOperand(1), Op.getOperand(2)), in LowerIntrinsicLRP()
1083 ISD::CondCode CCOpcode = cast<CondCodeSDNode>(CC)->get(); in CombineFMinMaxLegacy()
1085 case ISD::SETOEQ: in CombineFMinMaxLegacy()
1086 case ISD::SETONE: in CombineFMinMaxLegacy()
1087 case ISD::SETUNE: in CombineFMinMaxLegacy()
1088 case ISD::SETNE: in CombineFMinMaxLegacy()
1089 case ISD::SETUEQ: in CombineFMinMaxLegacy()
1090 case ISD::SETEQ: in CombineFMinMaxLegacy()
1091 case ISD::SETFALSE: in CombineFMinMaxLegacy()
1092 case ISD::SETFALSE2: in CombineFMinMaxLegacy()
1093 case ISD::SETTRUE: in CombineFMinMaxLegacy()
1094 case ISD::SETTRUE2: in CombineFMinMaxLegacy()
1095 case ISD::SETUO: in CombineFMinMaxLegacy()
1096 case ISD::SETO: in CombineFMinMaxLegacy()
1098 case ISD::SETULE: in CombineFMinMaxLegacy()
1099 case ISD::SETULT: { in CombineFMinMaxLegacy()
1104 case ISD::SETOLE: in CombineFMinMaxLegacy()
1105 case ISD::SETOLT: in CombineFMinMaxLegacy()
1106 case ISD::SETLE: in CombineFMinMaxLegacy()
1107 case ISD::SETLT: { in CombineFMinMaxLegacy()
1123 case ISD::SETUGE: in CombineFMinMaxLegacy()
1124 case ISD::SETUGT: { in CombineFMinMaxLegacy()
1129 case ISD::SETGT: in CombineFMinMaxLegacy()
1130 case ISD::SETGE: in CombineFMinMaxLegacy()
1131 case ISD::SETOGE: in CombineFMinMaxLegacy()
1132 case ISD::SETOGT: { in CombineFMinMaxLegacy()
1141 case ISD::SETCC_INVALID: in CombineFMinMaxLegacy()
1159 ISD::CondCode CCOpcode = cast<CondCodeSDNode>(CC)->get(); in CombineIMinMax()
1161 case ISD::SETULE: in CombineIMinMax()
1162 case ISD::SETULT: { in CombineIMinMax()
1166 case ISD::SETLE: in CombineIMinMax()
1167 case ISD::SETLT: { in CombineIMinMax()
1171 case ISD::SETGT: in CombineIMinMax()
1172 case ISD::SETGE: { in CombineIMinMax()
1176 case ISD::SETUGE: in CombineIMinMax()
1177 case ISD::SETUGT: { in CombineIMinMax()
1205 SDValue Ptr = DAG.getNode(ISD::ADD, SL, PtrVT, Load->getBasePtr(), in ScalarizeVectorLoad()
1219 DAG.getNode(ISD::BUILD_VECTOR, SL, LoadVT, Loads), in ScalarizeVectorLoad()
1220 DAG.getNode(ISD::TokenFactor, SL, MVT::Other, Chains) in ScalarizeVectorLoad()
1256 SDValue HiPtr = DAG.getNode(ISD::ADD, SL, PtrVT, BasePtr, in SplitVectorLoad()
1267 DAG.getNode(ISD::CONCAT_VECTORS, SL, VT, LoLoad, HiLoad), in SplitVectorLoad()
1268 DAG.getNode(ISD::TokenFactor, SL, MVT::Other, in SplitVectorLoad()
1303 SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ElemVT, Value, in MergeVectorStore()
1306 Elt = DAG.getNode(ISD::AND, DL, MVT::i32, Elt, Mask); // getZeroExtendInReg in MergeVectorStore()
1309 Elt = DAG.getNode(ISD::SHL, DL, MVT::i32, Elt, Shift); in MergeVectorStore()
1314 PackedValue = DAG.getNode(ISD::OR, DL, MVT::i32, PackedValue, Elt); in MergeVectorStore()
1348 SDValue Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, EltVT, in ScalarizeVectorStore()
1353 SDValue Ptr = DAG.getNode(ISD::ADD, SL, PtrVT, Store->getBasePtr(), Offset); in ScalarizeVectorStore()
1362 return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, Chains); in ScalarizeVectorStore()
1390 SDValue HiPtr = DAG.getNode(ISD::ADD, SL, PtrVT, BasePtr, in SplitVectorStore()
1411 return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, LoStore, HiStore); in SplitVectorStore()
1418 ISD::LoadExtType ExtType = Load->getExtensionType(); in LowerLOAD()
1422 if (ExtType == ISD::NON_EXTLOAD && VT.getSizeInBits() < 32) { in LowerLOAD()
1431 SDValue NewLD = DAG.getExtLoad(ISD::EXTLOAD, DL, MVT::i32, Chain, in LowerLOAD()
1435 DAG.getNode(ISD::TRUNCATE, DL, VT, NewLD), in LowerLOAD()
1444 ExtType == ISD::NON_EXTLOAD || Load->getMemoryVT().bitsGE(MVT::i32)) in LowerLOAD()
1448 SDValue Ptr = DAG.getNode(ISD::SRL, DL, MVT::i32, Load->getBasePtr(), in LowerLOAD()
1454 SDValue ByteIdx = DAG.getNode(ISD::AND, DL, MVT::i32, in LowerLOAD()
1457 SDValue ShiftAmt = DAG.getNode(ISD::SHL, DL, MVT::i32, ByteIdx, in LowerLOAD()
1460 Ret = DAG.getNode(ISD::SRL, DL, MVT::i32, Ret, ShiftAmt); in LowerLOAD()
1463 if (ExtType == ISD::SEXTLOAD) { in LowerLOAD()
1467 DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, MVT::i32, Ret, MemEltVTNode), in LowerLOAD()
1507 SDValue Ptr = DAG.getNode(ISD::SRL, DL, MVT::i32, BasePtr, in LowerSTORE()
1512 SDValue ByteIdx = DAG.getNode(ISD::AND, DL, MVT::i32, BasePtr, in LowerSTORE()
1515 SDValue ShiftAmt = DAG.getNode(ISD::SHL, DL, MVT::i32, ByteIdx, in LowerSTORE()
1518 SDValue SExtValue = DAG.getNode(ISD::SIGN_EXTEND, DL, MVT::i32, in LowerSTORE()
1523 SDValue ShiftedValue = DAG.getNode(ISD::SHL, DL, MVT::i32, in LowerSTORE()
1526 SDValue DstMask = DAG.getNode(ISD::SHL, DL, MVT::i32, DAG.getConstant(Mask, MVT::i32), in LowerSTORE()
1528 DstMask = DAG.getNode(ISD::XOR, DL, MVT::i32, DstMask, in LowerSTORE()
1530 Dst = DAG.getNode(ISD::AND, DL, MVT::i32, Dst, DstMask); in LowerSTORE()
1532 SDValue Value = DAG.getNode(ISD::OR, DL, MVT::i32, Dst, ShiftedValue); in LowerSTORE()
1550 ISD::NodeType ToFp = sign ? ISD::SINT_TO_FP : ISD::UINT_TO_FP; in LowerDIVREM24()
1551 ISD::NodeType ToInt = sign ? ISD::FP_TO_SINT : ISD::FP_TO_UINT; in LowerDIVREM24()
1565 jq = DAG.getNode(ISD::XOR, DL, VT, LHS, RHS); in LowerDIVREM24()
1568 jq = DAG.getNode(ISD::SRA, DL, VT, jq, DAG.getConstant(BitSize - 2, VT)); in LowerDIVREM24()
1571 jq = DAG.getNode(ISD::OR, DL, VT, jq, DAG.getConstant(1, VT)); in LowerDIVREM24()
1592 SDValue fq = DAG.getNode(ISD::FMUL, DL, FltVT, in LowerDIVREM24()
1596 fq = DAG.getNode(ISD::FTRUNC, DL, FltVT, fq); in LowerDIVREM24()
1599 SDValue fqneg = DAG.getNode(ISD::FNEG, DL, FltVT, fq); in LowerDIVREM24()
1602 SDValue fr = DAG.getNode(ISD::FADD, DL, FltVT, in LowerDIVREM24()
1603 DAG.getNode(ISD::FMUL, DL, FltVT, fqneg, fb), fa); in LowerDIVREM24()
1609 fr = DAG.getNode(ISD::FABS, DL, FltVT, fr); in LowerDIVREM24()
1612 fb = DAG.getNode(ISD::FABS, DL, FltVT, fb); in LowerDIVREM24()
1617 SDValue cv = DAG.getSetCC(DL, SetCCVT, fr, fb, ISD::SETOGE); in LowerDIVREM24()
1620 jq = DAG.getNode(ISD::SELECT, DL, VT, cv, jq, DAG.getConstant(0, VT)); in LowerDIVREM24()
1626 SDValue Div = DAG.getNode(ISD::ADD, DL, VT, iq, jq); in LowerDIVREM24()
1629 SDValue Rem = DAG.getNode(ISD::MUL, DL, VT, Div, RHS); in LowerDIVREM24()
1630 Rem = DAG.getNode(ISD::SUB, DL, VT, LHS, Rem); in LowerDIVREM24()
1653 SDValue LHS_Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, LHS, zero); in LowerUDIVREM64()
1654 SDValue LHS_Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, LHS, one); in LowerUDIVREM64()
1657 SDValue RHS_Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, RHS, zero); in LowerUDIVREM64()
1658 SDValue RHS_Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, RHS, one); in LowerUDIVREM64()
1664 SDValue Res = DAG.getNode(ISD::UDIVREM, DL, DAG.getVTList(HalfVT, HalfVT), in LowerUDIVREM64()
1667 SDValue DIV = DAG.getNode(ISD::BUILD_PAIR, DL, VT, Res.getValue(0), zero); in LowerUDIVREM64()
1668 SDValue REM = DAG.getNode(ISD::BUILD_PAIR, DL, VT, Res.getValue(1), zero); in LowerUDIVREM64()
1675 SDValue DIV_Part = DAG.getNode(ISD::UDIV, DL, HalfVT, LHS_Hi, RHS_Lo); in LowerUDIVREM64()
1676 SDValue REM_Part = DAG.getNode(ISD::UREM, DL, HalfVT, LHS_Hi, RHS_Lo); in LowerUDIVREM64()
1678 SDValue REM_Lo = DAG.getSelectCC(DL, RHS_Hi, zero, REM_Part, LHS_Hi, ISD::SETEQ); in LowerUDIVREM64()
1679 SDValue REM = DAG.getNode(ISD::BUILD_PAIR, DL, VT, REM_Lo, zero); in LowerUDIVREM64()
1681 SDValue DIV_Hi = DAG.getSelectCC(DL, RHS_Hi, zero, DIV_Part, zero, ISD::SETEQ); in LowerUDIVREM64()
1690 SDValue HBit = DAG.getNode(ISD::SRL, DL, HalfVT, LHS_Lo, POS); in LowerUDIVREM64()
1691 HBit = DAG.getNode(ISD::AND, DL, HalfVT, HBit, one); in LowerUDIVREM64()
1692 HBit = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, HBit); in LowerUDIVREM64()
1695 REM = DAG.getNode(ISD::SHL, DL, VT, REM, DAG.getConstant(1, VT)); in LowerUDIVREM64()
1697 REM = DAG.getNode(ISD::OR, DL, VT, REM, HBit); in LowerUDIVREM64()
1700 SDValue realBIT = DAG.getSelectCC(DL, REM, RHS, BIT, zero, ISD::SETUGE); in LowerUDIVREM64()
1702 DIV_Lo = DAG.getNode(ISD::OR, DL, HalfVT, DIV_Lo, realBIT); in LowerUDIVREM64()
1705 SDValue REM_sub = DAG.getNode(ISD::SUB, DL, VT, REM, RHS); in LowerUDIVREM64()
1706 REM = DAG.getSelectCC(DL, REM, RHS, REM_sub, REM, ISD::SETUGE); in LowerUDIVREM64()
1709 SDValue DIV = DAG.getNode(ISD::BUILD_PAIR, DL, VT, DIV_Lo, DIV_Hi); in LowerUDIVREM64()
1743 SDValue RCP_LO = DAG.getNode(ISD::MUL, DL, VT, RCP, Den); in LowerUDIVREM()
1746 SDValue RCP_HI = DAG.getNode(ISD::MULHU, DL, VT, RCP, Den); in LowerUDIVREM()
1749 SDValue NEG_RCP_LO = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, VT), in LowerUDIVREM()
1755 ISD::SETEQ); in LowerUDIVREM()
1758 SDValue E = DAG.getNode(ISD::MULHU, DL, VT, ABS_RCP_LO, RCP); in LowerUDIVREM()
1761 SDValue RCP_A_E = DAG.getNode(ISD::ADD, DL, VT, RCP, E); in LowerUDIVREM()
1764 SDValue RCP_S_E = DAG.getNode(ISD::SUB, DL, VT, RCP, E); in LowerUDIVREM()
1769 ISD::SETEQ); in LowerUDIVREM()
1771 SDValue Quotient = DAG.getNode(ISD::MULHU, DL, VT, Tmp0, Num); in LowerUDIVREM()
1774 SDValue Num_S_Remainder = DAG.getNode(ISD::MUL, DL, VT, Quotient, Den); in LowerUDIVREM()
1777 SDValue Remainder = DAG.getNode(ISD::SUB, DL, VT, Num, Num_S_Remainder); in LowerUDIVREM()
1783 ISD::SETUGE); in LowerUDIVREM()
1789 ISD::SETUGE); in LowerUDIVREM()
1791 SDValue Tmp1 = DAG.getNode(ISD::AND, DL, VT, Remainder_GE_Den, in LowerUDIVREM()
1797 SDValue Quotient_A_One = DAG.getNode(ISD::ADD, DL, VT, Quotient, in LowerUDIVREM()
1801 SDValue Quotient_S_One = DAG.getNode(ISD::SUB, DL, VT, Quotient, in LowerUDIVREM()
1806 Quotient, Quotient_A_One, ISD::SETEQ); in LowerUDIVREM()
1810 Quotient_S_One, Div, ISD::SETEQ); in LowerUDIVREM()
1815 SDValue Remainder_S_Den = DAG.getNode(ISD::SUB, DL, VT, Remainder, Den); in LowerUDIVREM()
1818 SDValue Remainder_A_Den = DAG.getNode(ISD::ADD, DL, VT, Remainder, Den); in LowerUDIVREM()
1822 Remainder, Remainder_S_Den, ISD::SETEQ); in LowerUDIVREM()
1826 Remainder_A_Den, Rem, ISD::SETEQ); in LowerUDIVREM()
1856 SDValue LHS_Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, LHS, Zero); in LowerSDIVREM()
1857 SDValue RHS_Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, RHS, Zero); in LowerSDIVREM()
1858 SDValue DIVREM = DAG.getNode(ISD::SDIVREM, DL, DAG.getVTList(HalfVT, HalfVT), in LowerSDIVREM()
1861 DAG.getNode(ISD::SIGN_EXTEND, DL, VT, DIVREM.getValue(0)), in LowerSDIVREM()
1862 DAG.getNode(ISD::SIGN_EXTEND, DL, VT, DIVREM.getValue(1)) in LowerSDIVREM()
1867 SDValue LHSign = DAG.getSelectCC(DL, LHS, Zero, NegOne, Zero, ISD::SETLT); in LowerSDIVREM()
1868 SDValue RHSign = DAG.getSelectCC(DL, RHS, Zero, NegOne, Zero, ISD::SETLT); in LowerSDIVREM()
1869 SDValue DSign = DAG.getNode(ISD::XOR, DL, VT, LHSign, RHSign); in LowerSDIVREM()
1872 LHS = DAG.getNode(ISD::ADD, DL, VT, LHS, LHSign); in LowerSDIVREM()
1873 RHS = DAG.getNode(ISD::ADD, DL, VT, RHS, RHSign); in LowerSDIVREM()
1875 LHS = DAG.getNode(ISD::XOR, DL, VT, LHS, LHSign); in LowerSDIVREM()
1876 RHS = DAG.getNode(ISD::XOR, DL, VT, RHS, RHSign); in LowerSDIVREM()
1878 SDValue Div = DAG.getNode(ISD::UDIVREM, DL, DAG.getVTList(VT, VT), LHS, RHS); in LowerSDIVREM()
1881 Div = DAG.getNode(ISD::XOR, DL, VT, Div, DSign); in LowerSDIVREM()
1882 Rem = DAG.getNode(ISD::XOR, DL, VT, Rem, RSign); in LowerSDIVREM()
1884 Div = DAG.getNode(ISD::SUB, DL, VT, Div, DSign); in LowerSDIVREM()
1885 Rem = DAG.getNode(ISD::SUB, DL, VT, Rem, RSign); in LowerSDIVREM()
1901 SDValue Div = DAG.getNode(ISD::FDIV, SL, VT, X, Y); in LowerFREM()
1902 SDValue Floor = DAG.getNode(ISD::FTRUNC, SL, VT, Div); in LowerFREM()
1903 SDValue Mul = DAG.getNode(ISD::FMUL, SL, VT, Floor, Y); in LowerFREM()
1905 return DAG.getNode(ISD::FSUB, SL, VT, X, Mul); in LowerFREM()
1916 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFCEIL()
1923 SDValue Lt0 = DAG.getSetCC(SL, SetCCVT, Src, Zero, ISD::SETOGT); in LowerFCEIL()
1924 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFCEIL()
1925 SDValue And = DAG.getNode(ISD::AND, SL, SetCCVT, Lt0, NeTrunc); in LowerFCEIL()
1927 SDValue Add = DAG.getNode(ISD::SELECT, SL, MVT::f64, And, One, Zero); in LowerFCEIL()
1928 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFCEIL()
1939 SDValue Exp = DAG.getNode(ISD::SUB, SL, MVT::i32, ExpPart, in extractF64Exponent()
1954 SDValue VecSrc = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, Src); in LowerFTRUNC()
1958 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, VecSrc, One); in LowerFTRUNC()
1966 SDValue SignBit = DAG.getNode(ISD::AND, SL, MVT::i32, Hi, SignBitMask); in LowerFTRUNC()
1969 SDValue SignBit64 = DAG.getNode(ISD::BUILD_VECTOR, SL, MVT::v2i32, in LowerFTRUNC()
1971 SignBit64 = DAG.getNode(ISD::BITCAST, SL, MVT::i64, SignBit64); in LowerFTRUNC()
1973 SDValue BcInt = DAG.getNode(ISD::BITCAST, SL, MVT::i64, Src); in LowerFTRUNC()
1977 SDValue Shr = DAG.getNode(ISD::SRA, SL, MVT::i64, FractMask, Exp); in LowerFTRUNC()
1979 SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, BcInt, Not); in LowerFTRUNC()
1985 SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT); in LowerFTRUNC()
1986 SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT); in LowerFTRUNC()
1988 SDValue Tmp1 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpLt0, SignBit64, Tmp0); in LowerFTRUNC()
1989 SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpGt51, BcInt, Tmp1); in LowerFTRUNC()
1991 return DAG.getNode(ISD::BITCAST, SL, MVT::f64, Tmp2); in LowerFTRUNC()
2002 SDValue CopySign = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, C1, Src); in LowerFRINT()
2004 SDValue Tmp1 = DAG.getNode(ISD::FADD, SL, MVT::f64, Src, CopySign); in LowerFRINT()
2005 SDValue Tmp2 = DAG.getNode(ISD::FSUB, SL, MVT::f64, Tmp1, CopySign); in LowerFRINT()
2007 SDValue Fabs = DAG.getNode(ISD::FABS, SL, MVT::f64, Src); in LowerFRINT()
2013 SDValue Cond = DAG.getSetCC(SL, SetCCVT, Fabs, C2, ISD::SETOGT); in LowerFRINT()
2022 return DAG.getNode(ISD::FRINT, SDLoc(Op), Op.getValueType(), Op.getOperand(0)); in LowerFNEARBYINT()
2030 SDValue T = DAG.getNode(ISD::FTRUNC, SL, MVT::f32, X); in LowerFROUND32()
2032 SDValue Diff = DAG.getNode(ISD::FSUB, SL, MVT::f32, X, T); in LowerFROUND32()
2034 SDValue AbsDiff = DAG.getNode(ISD::FABS, SL, MVT::f32, Diff); in LowerFROUND32()
2040 SDValue SignOne = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f32, One, X); in LowerFROUND32()
2044 SDValue Cmp = DAG.getSetCC(SL, SetCCVT, AbsDiff, Half, ISD::SETOGE); in LowerFROUND32()
2046 SDValue Sel = DAG.getNode(ISD::SELECT, SL, MVT::f32, Cmp, SignOne, Zero); in LowerFROUND32()
2048 return DAG.getNode(ISD::FADD, SL, MVT::f32, T, Sel); in LowerFROUND32()
2055 SDValue L = DAG.getNode(ISD::BITCAST, SL, MVT::i64, X); in LowerFROUND64()
2064 SDValue BC = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, X); in LowerFROUND64()
2066 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC, One); in LowerFROUND64()
2072 SDValue M = DAG.getNode(ISD::SRA, SL, MVT::i64, Mask, Exp); in LowerFROUND64()
2073 SDValue D = DAG.getNode(ISD::SRA, SL, MVT::i64, in LowerFROUND64()
2077 SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, L, M); in LowerFROUND64()
2080 ISD::SETNE); in LowerFROUND64()
2082 SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, Tmp1, in LowerFROUND64()
2084 SDValue K = DAG.getNode(ISD::ADD, SL, MVT::i64, L, Tmp2); in LowerFROUND64()
2086 K = DAG.getNode(ISD::AND, SL, MVT::i64, K, DAG.getNOT(SL, M, MVT::i64)); in LowerFROUND64()
2087 K = DAG.getNode(ISD::BITCAST, SL, MVT::f64, K); in LowerFROUND64()
2089 SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT); in LowerFROUND64()
2090 SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT); in LowerFROUND64()
2091 SDValue ExpEqNegOne = DAG.getSetCC(SL, SetCCVT, NegOne, Exp, ISD::SETEQ); in LowerFROUND64()
2093 SDValue Mag = DAG.getNode(ISD::SELECT, SL, MVT::f64, in LowerFROUND64()
2098 SDValue S = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, Mag, X); in LowerFROUND64()
2100 K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpLt0, S, K); in LowerFROUND64()
2101 K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpGt51, X, K); in LowerFROUND64()
2126 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFFLOOR()
2133 SDValue Lt0 = DAG.getSetCC(SL, SetCCVT, Src, Zero, ISD::SETOLT); in LowerFFLOOR()
2134 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFFLOOR()
2135 SDValue And = DAG.getNode(ISD::AND, SL, SetCCVT, Lt0, NeTrunc); in LowerFFLOOR()
2137 SDValue Add = DAG.getNode(ISD::SELECT, SL, MVT::f64, And, NegOne, Zero); in LowerFFLOOR()
2138 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFFLOOR()
2146 SDValue BC = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, Src); in LowerINT_TO_FP64()
2148 SDValue Lo = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC, in LowerINT_TO_FP64()
2150 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC, in LowerINT_TO_FP64()
2153 SDValue CvtHi = DAG.getNode(Signed ? ISD::SINT_TO_FP : ISD::UINT_TO_FP, in LowerINT_TO_FP64()
2156 SDValue CvtLo = DAG.getNode(ISD::UINT_TO_FP, SL, MVT::f64, Lo); in LowerINT_TO_FP64()
2161 return DAG.getNode(ISD::FADD, SL, MVT::f64, LdExp, CvtLo); in LowerINT_TO_FP64()
2179 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i32, S0, in LowerUINT_TO_FP()
2181 SDValue FloatLo = DAG.getNode(ISD::UINT_TO_FP, DL, MVT::f32, Lo); in LowerUINT_TO_FP()
2182 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i32, S0, in LowerUINT_TO_FP()
2184 SDValue FloatHi = DAG.getNode(ISD::UINT_TO_FP, DL, MVT::f32, Hi); in LowerUINT_TO_FP()
2185 FloatHi = DAG.getNode(ISD::FMUL, DL, MVT::f32, FloatHi, in LowerUINT_TO_FP()
2187 return DAG.getNode(ISD::FADD, DL, MVT::f32, FloatLo, FloatHi); in LowerUINT_TO_FP()
2205 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFP64_TO_INT()
2212 SDValue Mul = DAG.getNode(ISD::FMUL, SL, MVT::f64, Trunc, K0); in LowerFP64_TO_INT()
2214 SDValue FloorMul = DAG.getNode(ISD::FFLOOR, SL, MVT::f64, Mul); in LowerFP64_TO_INT()
2217 SDValue Fma = DAG.getNode(ISD::FMA, SL, MVT::f64, FloorMul, K1, Trunc); in LowerFP64_TO_INT()
2219 SDValue Hi = DAG.getNode(Signed ? ISD::FP_TO_SINT : ISD::FP_TO_UINT, SL, in LowerFP64_TO_INT()
2221 SDValue Lo = DAG.getNode(ISD::FP_TO_UINT, SL, MVT::i32, Fma); in LowerFP64_TO_INT()
2223 SDValue Result = DAG.getNode(ISD::BUILD_VECTOR, SL, MVT::v2i32, Lo, Hi); in LowerFP64_TO_INT()
2225 return DAG.getNode(ISD::BITCAST, SL, MVT::i64, Result); in LowerFP64_TO_INT()
2267 Args[I] = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, ScalarVT, Args[I], VTOp); in LowerSIGN_EXTEND_INREG()
2269 return DAG.getNode(ISD::BUILD_VECTOR, DL, VT, Args); in LowerSIGN_EXTEND_INREG()
2321 if (!ISD::isNormalStore(*I)) in usesAllNormalStores()
2342 !ISD::isNormalLoad(Value.getNode()) || VT.getSizeInBits() < 8) in performStoreCombine()
2355 SDValue NewLoad = DAG.getLoad(ISD::UNINDEXED, ISD::NON_EXTLOAD, in performStoreCombine()
2363 SDValue CastLoad = DAG.getNode(ISD::BITCAST, SL, VT, NewLoad.getValue(0)); in performStoreCombine()
2408 case ISD::MUL: in PerformDAGCombine()
2418 case ISD::SELECT: { in PerformDAGCombine()
2420 if (Cond.getOpcode() == ISD::SETCC && Cond.hasOneUse()) { in PerformDAGCombine()
2479 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, MVT::i32, BitsFrom, in PerformDAGCombine()
2502 return DAG.getNode(Signed ? ISD::SRA : ISD::SRL, DL, MVT::i32, in PerformDAGCombine()
2525 case ISD::STORE: in PerformDAGCombine()
2538 const SmallVectorImpl<ISD::InputArg> &Ins, in getOriginalFunctionArgs()
2539 SmallVectorImpl<ISD::InputArg> &OrigIns) const { in getOriginalFunctionArgs()
2561 ISD::InputArg Arg(Ins[i].Flags, VT, VT, Ins[i].Used, in getOriginalFunctionArgs()
2742 case ISD::INTRINSIC_WO_CHAIN: { in computeKnownBitsForTargetNode()