Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 1,107 Lines • ▼ Show 20 Lines | #endif | ||||
case ISD::USHLSAT: | case ISD::USHLSAT: | ||||
case ISD::ROTL: | case ISD::ROTL: | ||||
case ISD::ROTR: | case ISD::ROTR: | ||||
case ISD::VP_FCOPYSIGN: | case ISD::VP_FCOPYSIGN: | ||||
SplitVecRes_BinOp(N, Lo, Hi); | SplitVecRes_BinOp(N, Lo, Hi); | ||||
break; | break; | ||||
case ISD::FMA: case ISD::VP_FMA: | case ISD::FMA: case ISD::VP_FMA: | ||||
case ISD::FSHL: | case ISD::FSHL: | ||||
case ISD::VP_FSHL: | |||||
case ISD::FSHR: | case ISD::FSHR: | ||||
case ISD::VP_FSHR: | |||||
SplitVecRes_TernaryOp(N, Lo, Hi); | SplitVecRes_TernaryOp(N, Lo, Hi); | ||||
break; | break; | ||||
#define DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) \ | #define DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) \ | ||||
case ISD::STRICT_##DAGN: | case ISD::STRICT_##DAGN: | ||||
#include "llvm/IR/ConstrainedOps.def" | #include "llvm/IR/ConstrainedOps.def" | ||||
SplitVecRes_StrictFPOp(N, Lo, Hi); | SplitVecRes_StrictFPOp(N, Lo, Hi); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 2,983 Lines • ▼ Show 20 Lines | #include "llvm/IR/ConstrainedOps.def" | ||||
case ISD::VP_FROUNDTOZERO: | case ISD::VP_FROUNDTOZERO: | ||||
case ISD::FREEZE: | case ISD::FREEZE: | ||||
case ISD::ARITH_FENCE: | case ISD::ARITH_FENCE: | ||||
case ISD::FCANONICALIZE: | case ISD::FCANONICALIZE: | ||||
Res = WidenVecRes_Unary(N); | Res = WidenVecRes_Unary(N); | ||||
break; | break; | ||||
case ISD::FMA: case ISD::VP_FMA: | case ISD::FMA: case ISD::VP_FMA: | ||||
case ISD::FSHL: | case ISD::FSHL: | ||||
case ISD::VP_FSHL: | |||||
case ISD::FSHR: | case ISD::FSHR: | ||||
case ISD::VP_FSHR: | |||||
Res = WidenVecRes_Ternary(N); | Res = WidenVecRes_Ternary(N); | ||||
break; | break; | ||||
} | } | ||||
// If Res is null, the sub-method took care of registering the result. | // If Res is null, the sub-method took care of registering the result. | ||||
if (Res.getNode()) | if (Res.getNode()) | ||||
SetWidenedVector(SDValue(N, ResNo), Res); | SetWidenedVector(SDValue(N, ResNo), Res); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 2,954 Lines • Show Last 20 Lines |