Lines Matching refs:Legal
193 // f32 and f64 cases are Legal, f80 case is not
211 // are Legal, f80 is custom lowered.
217 // f32 and f64 cases are Legal, f80 case is not
279 // (low) operations are left as Legal, as there are single-result
305 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal);
306 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16 , Legal);
307 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal);
323 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i16 , Legal);
324 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32 , Legal);
327 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Legal);
433 setOperationAction(ISD::PREFETCH , MVT::Other, Legal);
465 setOperationAction(ISD::TRAP, MVT::Other, Legal);
466 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
749 setOperationAction(ISD::MULHU, MVT::v8i16, Legal);
750 setOperationAction(ISD::MULHS, MVT::v8i16, Legal);
751 setOperationAction(ISD::MUL, MVT::v8i16, Legal);
755 setOperationAction(ISD::SMAX, MVT::v8i16, Legal);
756 setOperationAction(ISD::UMAX, MVT::v16i8, Legal);
757 setOperationAction(ISD::SMIN, MVT::v8i16, Legal);
758 setOperationAction(ISD::UMIN, MVT::v16i8, Legal);
830 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal);
831 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal);
846 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v2f32, Legal);
881 setOperationAction(ISD::FFLOOR, RoundedTy, Legal);
882 setOperationAction(ISD::FCEIL, RoundedTy, Legal);
883 setOperationAction(ISD::FTRUNC, RoundedTy, Legal);
884 setOperationAction(ISD::FRINT, RoundedTy, Legal);
885 setOperationAction(ISD::FNEARBYINT, RoundedTy, Legal);
888 setOperationAction(ISD::SMAX, MVT::v16i8, Legal);
889 setOperationAction(ISD::SMAX, MVT::v4i32, Legal);
890 setOperationAction(ISD::UMAX, MVT::v8i16, Legal);
891 setOperationAction(ISD::UMAX, MVT::v4i32, Legal);
892 setOperationAction(ISD::SMIN, MVT::v16i8, Legal);
893 setOperationAction(ISD::SMIN, MVT::v4i32, Legal);
894 setOperationAction(ISD::UMIN, MVT::v8i16, Legal);
895 setOperationAction(ISD::UMIN, MVT::v4i32, Legal);
898 setOperationAction(ISD::MUL, MVT::v4i32, Legal);
902 setOperationAction(ISD::VSELECT, MVT::v16i8, Legal);
913 setLoadExtAction(ISD::SEXTLOAD, MVT::v8i16, MVT::v8i8, Legal);
914 setLoadExtAction(ISD::SEXTLOAD, MVT::v4i32, MVT::v4i8, Legal);
915 setLoadExtAction(ISD::SEXTLOAD, MVT::v2i64, MVT::v2i8, Legal);
916 setLoadExtAction(ISD::SEXTLOAD, MVT::v4i32, MVT::v4i16, Legal);
917 setLoadExtAction(ISD::SEXTLOAD, MVT::v2i64, MVT::v2i16, Legal);
918 setLoadExtAction(ISD::SEXTLOAD, MVT::v2i64, MVT::v2i32, Legal);
920 setLoadExtAction(ISD::ZEXTLOAD, MVT::v8i16, MVT::v8i8, Legal);
921 setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i32, MVT::v4i8, Legal);
922 setLoadExtAction(ISD::ZEXTLOAD, MVT::v2i64, MVT::v2i8, Legal);
923 setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i32, MVT::v4i16, Legal);
924 setLoadExtAction(ISD::ZEXTLOAD, MVT::v2i64, MVT::v2i16, Legal);
925 setLoadExtAction(ISD::ZEXTLOAD, MVT::v2i64, MVT::v2i32, Legal);
957 setOperationAction(ISD::FFLOOR, VT, Legal);
958 setOperationAction(ISD::FCEIL, VT, Legal);
959 setOperationAction(ISD::FTRUNC, VT, Legal);
960 setOperationAction(ISD::FRINT, VT, Legal);
961 setOperationAction(ISD::FNEARBYINT, VT, Legal);
970 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Legal);
973 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal);
974 setOperationAction(ISD::FP_ROUND, MVT::v4f32, Legal);
980 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v4f32, Legal);
1028 setOperationAction(ISD::FMA, VT, Legal);
1032 setOperationAction(ISD::ADD, VT, HasInt256 ? Legal : Custom);
1033 setOperationAction(ISD::SUB, VT, HasInt256 ? Legal : Custom);
1037 setOperationAction(ISD::MUL, MVT::v8i32, HasInt256 ? Legal : Custom);
1038 setOperationAction(ISD::MUL, MVT::v16i16, HasInt256 ? Legal : Custom);
1044 setOperationAction(ISD::MULHU, MVT::v16i16, HasInt256 ? Legal : Custom);
1045 setOperationAction(ISD::MULHS, MVT::v16i16, HasInt256 ? Legal : Custom);
1050 setOperationAction(ISD::SMAX, VT, HasInt256 ? Legal : Custom);
1051 setOperationAction(ISD::UMAX, VT, HasInt256 ? Legal : Custom);
1052 setOperationAction(ISD::SMIN, VT, HasInt256 ? Legal : Custom);
1053 setOperationAction(ISD::UMIN, VT, HasInt256 ? Legal : Custom);
1066 setLoadExtAction(ISD::SEXTLOAD, MVT::v16i16, MVT::v16i8, Legal);
1067 setLoadExtAction(ISD::SEXTLOAD, MVT::v8i32, MVT::v8i8, Legal);
1068 setLoadExtAction(ISD::SEXTLOAD, MVT::v4i64, MVT::v4i8, Legal);
1069 setLoadExtAction(ISD::SEXTLOAD, MVT::v8i32, MVT::v8i16, Legal);
1070 setLoadExtAction(ISD::SEXTLOAD, MVT::v4i64, MVT::v4i16, Legal);
1071 setLoadExtAction(ISD::SEXTLOAD, MVT::v4i64, MVT::v4i32, Legal);
1073 setLoadExtAction(ISD::ZEXTLOAD, MVT::v16i16, MVT::v16i8, Legal);
1074 setLoadExtAction(ISD::ZEXTLOAD, MVT::v8i32, MVT::v8i8, Legal);
1075 setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i64, MVT::v4i8, Legal);
1076 setLoadExtAction(ISD::ZEXTLOAD, MVT::v8i32, MVT::v8i16, Legal);
1077 setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i64, MVT::v4i16, Legal);
1078 setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i64, MVT::v4i32, Legal);
1091 setOperationAction(ISD::MLOAD, VT, Legal);
1092 setOperationAction(ISD::MSTORE, VT, Legal);
1116 setOperationAction(ISD::VSELECT, MVT::v32i8, Legal);
1139 setLoadExtAction(ISD::EXTLOAD, VT, MVT::v8f32, Legal);
1142 setLoadExtAction(ExtType, MVT::v16i32, MVT::v16i8, Legal);
1143 setLoadExtAction(ExtType, MVT::v16i32, MVT::v16i16, Legal);
1144 setLoadExtAction(ExtType, MVT::v32i16, MVT::v32i8, Legal);
1145 setLoadExtAction(ExtType, MVT::v8i64, MVT::v8i8, Legal);
1146 setLoadExtAction(ExtType, MVT::v8i64, MVT::v8i16, Legal);
1147 setLoadExtAction(ExtType, MVT::v8i64, MVT::v8i32, Legal);
1153 setOperationAction(ISD::XOR, MVT::i1, Legal);
1154 setOperationAction(ISD::OR, MVT::i1, Legal);
1155 setOperationAction(ISD::AND, MVT::i1, Legal);
1173 setOperationAction(ISD::FMA, VT, Legal);
1176 setOperationAction(ISD::FP_TO_SINT, MVT::v16i32, Legal);
1177 setOperationAction(ISD::FP_TO_UINT, MVT::v16i32, Legal);
1178 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Legal);
1179 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal);
1180 setOperationAction(ISD::SINT_TO_FP, MVT::v16i32, Legal);
1185 setOperationAction(ISD::UINT_TO_FP, MVT::v16i32, Legal);
1186 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Legal);
1187 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal);
1190 setOperationAction(ISD::FP_ROUND, MVT::v8f32, Legal);
1191 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Legal);
1193 setTruncStoreAction(MVT::v8i64, MVT::v8i8, Legal);
1194 setTruncStoreAction(MVT::v8i64, MVT::v8i16, Legal);
1195 setTruncStoreAction(MVT::v8i64, MVT::v8i32, Legal);
1196 setTruncStoreAction(MVT::v16i32, MVT::v16i8, Legal);
1197 setTruncStoreAction(MVT::v16i32, MVT::v16i16, Legal);
1199 setTruncStoreAction(MVT::v4i64, MVT::v4i8, Legal);
1200 setTruncStoreAction(MVT::v4i64, MVT::v4i16, Legal);
1201 setTruncStoreAction(MVT::v4i64, MVT::v4i32, Legal);
1202 setTruncStoreAction(MVT::v8i32, MVT::v8i8, Legal);
1203 setTruncStoreAction(MVT::v8i32, MVT::v8i16, Legal);
1205 setTruncStoreAction(MVT::v2i64, MVT::v2i8, Legal);
1206 setTruncStoreAction(MVT::v2i64, MVT::v2i16, Legal);
1207 setTruncStoreAction(MVT::v2i64, MVT::v2i32, Legal);
1208 setTruncStoreAction(MVT::v4i32, MVT::v4i8, Legal);
1209 setTruncStoreAction(MVT::v4i32, MVT::v4i16, Legal);
1224 setOperationAction(ISD::SINT_TO_FP, MVT::v8i64, Legal);
1225 setOperationAction(ISD::UINT_TO_FP, MVT::v8i64, Legal);
1226 setOperationAction(ISD::FP_TO_SINT, MVT::v8i64, Legal);
1227 setOperationAction(ISD::FP_TO_UINT, MVT::v8i64, Legal);
1229 setOperationAction(ISD::SINT_TO_FP, MVT::v4i64, Legal);
1230 setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Legal);
1231 setOperationAction(ISD::UINT_TO_FP, MVT::v4i64, Legal);
1232 setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Legal);
1233 setOperationAction(ISD::FP_TO_SINT, MVT::v4i64, Legal);
1234 setOperationAction(ISD::FP_TO_SINT, MVT::v2i64, Legal);
1235 setOperationAction(ISD::FP_TO_UINT, MVT::v4i64, Legal);
1236 setOperationAction(ISD::FP_TO_UINT, MVT::v2i64, Legal);
1240 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal);
1241 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Legal);
1242 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Legal);
1243 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Legal);
1244 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal);
1245 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal);
1246 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal);
1247 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal);
1252 setLoadExtAction(ISD::EXTLOAD, MVT::v8i32, MVT::v8i8, Legal);
1253 setLoadExtAction(ISD::EXTLOAD, MVT::v8i32, MVT::v8i16, Legal);
1254 setLoadExtAction(ISD::EXTLOAD, MVT::v4i32, MVT::v4i8, Legal);
1255 setLoadExtAction(ISD::EXTLOAD, MVT::v4i32, MVT::v4i16, Legal);
1256 setLoadExtAction(ISD::EXTLOAD, MVT::v4i64, MVT::v4i8, Legal);
1257 setLoadExtAction(ISD::EXTLOAD, MVT::v4i64, MVT::v4i16, Legal);
1258 setLoadExtAction(ISD::EXTLOAD, MVT::v4i64, MVT::v4i32, Legal);
1259 setLoadExtAction(ISD::EXTLOAD, MVT::v2i64, MVT::v2i8, Legal);
1260 setLoadExtAction(ISD::EXTLOAD, MVT::v2i64, MVT::v2i16, Legal);
1261 setLoadExtAction(ISD::EXTLOAD, MVT::v2i64, MVT::v2i32, Legal);
1281 setOperationAction(ISD::FFLOOR, VT, Legal);
1282 setOperationAction(ISD::FCEIL, VT, Legal);
1283 setOperationAction(ISD::FTRUNC, VT, Legal);
1284 setOperationAction(ISD::FRINT, VT, Legal);
1285 setOperationAction(ISD::FNEARBYINT, VT, Legal);
1312 setOperationAction(ISD::SMAX, MVT::v16i32, Legal);
1313 setOperationAction(ISD::SMAX, MVT::v8i64, Legal);
1314 setOperationAction(ISD::UMAX, MVT::v16i32, Legal);
1315 setOperationAction(ISD::UMAX, MVT::v8i64, Legal);
1316 setOperationAction(ISD::SMIN, MVT::v16i32, Legal);
1317 setOperationAction(ISD::SMIN, MVT::v8i64, Legal);
1318 setOperationAction(ISD::UMIN, MVT::v16i32, Legal);
1319 setOperationAction(ISD::UMIN, MVT::v8i64, Legal);
1328 setOperationAction(ISD::MUL, MVT::v16i32, Legal);
1334 setOperationAction(ISD::AND, VT, Legal);
1335 setOperationAction(ISD::OR, VT, Legal);
1336 setOperationAction(ISD::XOR, VT, Legal);
1342 setOperationAction(ISD::CTLZ, MVT::v8i64, Legal);
1343 setOperationAction(ISD::CTLZ, MVT::v16i32, Legal);
1354 setOperationAction(ISD::CTLZ, MVT::v4i64, Legal);
1355 setOperationAction(ISD::CTLZ, MVT::v8i32, Legal);
1356 setOperationAction(ISD::CTLZ, MVT::v2i64, Legal);
1357 setOperationAction(ISD::CTLZ, MVT::v4i32, Legal);
1373 setOperationAction(ISD::MUL, MVT::v2i64, Legal);
1374 setOperationAction(ISD::MUL, MVT::v4i64, Legal);
1376 setOperationAction(ISD::MUL, MVT::v8i64, Legal);
1392 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal);
1398 setOperationAction(ISD::VSELECT, VT, Legal);
1402 setOperationAction(ISD::MLOAD, VT, Legal);
1403 setOperationAction(ISD::MSTORE, VT, Legal);
1404 setOperationAction(ISD::MGATHER, VT, Legal);
1428 setOperationAction(ISD::MUL, MVT::v32i16, Legal);
1430 setOperationAction(ISD::MULHS, MVT::v32i16, Legal);
1431 setOperationAction(ISD::MULHU, MVT::v32i16, Legal);
1459 setOperationAction(ISD::VSELECT, MVT::v32i16, Legal);
1460 setOperationAction(ISD::VSELECT, MVT::v64i8, Legal);
1472 setOperationAction(ISD::SMAX, MVT::v64i8, Legal);
1473 setOperationAction(ISD::SMAX, MVT::v32i16, Legal);
1474 setOperationAction(ISD::UMAX, MVT::v64i8, Legal);
1475 setOperationAction(ISD::UMAX, MVT::v32i16, Legal);
1476 setOperationAction(ISD::SMIN, MVT::v64i8, Legal);
1477 setOperationAction(ISD::SMIN, MVT::v32i16, Legal);
1478 setOperationAction(ISD::UMIN, MVT::v64i8, Legal);
1479 setOperationAction(ISD::UMIN, MVT::v32i16, Legal);
1481 setTruncStoreAction(MVT::v32i16, MVT::v32i8, Legal);
1482 setTruncStoreAction(MVT::v16i16, MVT::v16i8, Legal);
1484 setTruncStoreAction(MVT::v8i16, MVT::v8i8, Legal);
1486 LegalizeAction Action = Subtarget.hasVLX() ? Legal : Custom;
1499 setOperationAction(ISD::VSELECT, VT, Legal);
1503 setOperationAction(ISD::MLOAD, VT, Legal);
1504 setOperationAction(ISD::MSTORE, VT, Legal);
1514 setLoadExtAction(ExtType, MVT::v32i16, MVT::v32i8, Legal);
1517 setLoadExtAction(ExtType, MVT::v16i16, MVT::v16i8, Legal);
1518 setLoadExtAction(ExtType, MVT::v8i16, MVT::v8i8, Legal);
1552 setOperationAction(ISD::AND, VT, Legal);
1553 setOperationAction(ISD::OR, VT, Legal);
1554 setOperationAction(ISD::XOR, VT, Legal);
1558 setOperationAction(ISD::SMAX, VT, Legal);
1559 setOperationAction(ISD::UMAX, VT, Legal);
1560 setOperationAction(ISD::SMIN, VT, Legal);
1561 setOperationAction(ISD::UMIN, VT, Legal);
13359 // These are really Legal; return the operand so the caller accepts it as
13360 // Legal.
13832 // These are really Legal.
14251 // If FP_TO_INTHelper failed, the node is actually supposed to be Legal.
14270 // If FP_TO_INTHelper failed, the node is actually supposed to be Legal.
17245 // We can't use ISD::VSELECT here because it is not always "Legal"
20814 // i64 <=> MMX conversions are Legal.
20819 // MMX <=> MMX conversions are Legal.
27962 VT != MVT::v4i32 && VT != MVT::v8i32) // Legal with VLX