Lines Matching defs:Query
86 .legalIf([=](const LegalityQuery &Query) -> bool {
90 return typeInSet(0, {p0, s1, s8, s16, s32, s64})(Query) ||
91 (Is64Bit && typeInSet(0, {s128})(Query));
95 .legalIf([=](const LegalityQuery &Query) -> bool {
96 return typeInSet(0, {p0, s8, s16, s32})(Query) ||
97 (Is64Bit && typeInSet(0, {s64})(Query));
139 .legalIf([=](const LegalityQuery &Query) -> bool {
140 if (typeInSet(0, {s8, s16, s32})(Query))
142 if (Is64Bit && typeInSet(0, {s64})(Query))
144 if (HasSSE2 && typeInSet(0, {v16s8, v8s16, v4s32, v2s64})(Query))
146 if (HasAVX2 && typeInSet(0, {v32s8, v16s16, v8s32, v4s64})(Query))
148 if (HasAVX512 && typeInSet(0, {v16s32, v8s64})(Query))
150 if (HasBWI && typeInSet(0, {v64s8, v32s16})(Query))
167 .legalIf([=](const LegalityQuery &Query) -> bool {
168 return typePairInSet(0, 1, {{s8, s1}, {s16, s1}, {s32, s1}})(Query) ||
169 (Is64Bit && typePairInSet(0, 1, {{s64, s1}})(Query));
178 .legalIf([=](const LegalityQuery &Query) -> bool {
179 if (typeInSet(0, {s8, s16, s32})(Query))
181 if (Is64Bit && typeInSet(0, {s64})(Query))
183 if (HasSSE2 && typeInSet(0, {v8s16})(Query))
185 if (HasSSE41 && typeInSet(0, {v4s32})(Query))
187 if (HasAVX2 && typeInSet(0, {v16s16, v8s32})(Query))
189 if (HasAVX512 && typeInSet(0, {v16s32})(Query))
191 if (HasDQI && typeInSet(0, {v8s64})(Query))
193 if (HasDQI && HasVLX && typeInSet(0, {v2s64, v4s64})(Query))
195 if (HasBWI && typeInSet(0, {v32s16})(Query))
210 .legalIf([=](const LegalityQuery &Query) -> bool {
211 return typeInSet(0, {s8, s16, s32})(Query) ||
212 (Is64Bit && typeInSet(0, {s64})(Query));
220 .legalIf([=](const LegalityQuery &Query) -> bool {
221 return typeInSet(0, {s8, s16, s32})(Query) ||
222 (Is64Bit && typeInSet(0, {s64})(Query));
229 .legalIf([=](const LegalityQuery &Query) -> bool {
230 return typePairInSet(0, 1, {{s8, s8}, {s16, s8}, {s32, s8}})(Query) ||
231 (Is64Bit && typePairInSet(0, 1, {{s64, s8}})(Query));
238 .legalIf([=](const LegalityQuery &Query) -> bool {
239 if (typeInSet(0, {s8, s16, s32})(Query))
241 if (Is64Bit && typeInSet(0, {s64})(Query))
243 if (HasSSE2 && typeInSet(0, {v16s8, v8s16, v4s32, v2s64})(Query))
245 if (HasAVX && typeInSet(0, {v32s8, v16s16, v8s32, v4s64})(Query))
247 if (HasAVX512 && typeInSet(0, {v64s8, v32s16, v16s32, v8s64})(Query))
274 .legalIf([=](const LegalityQuery &Query) {
275 return Query.Types[0] == s32 ||
276 (Subtarget.is64Bit() && Query.Types[0] == s64);
283 .legalIf([=](const LegalityQuery &Query) -> bool {
285 (typePairInSet(0, 1, {{s16, s16}, {s32, s32}})(Query) ||
286 (Is64Bit && typePairInSet(0, 1, {{s64, s64}})(Query)));
294 .legalIf([=](const LegalityQuery &Query) -> bool {
296 (typePairInSet(0, 1, {{s16, s16}, {s32, s32}})(Query) ||
297 (Is64Bit && typePairInSet(0, 1, {{s64, s64}})(Query)));
305 .legalIf([=](const LegalityQuery &Query) -> bool {
306 return (Query.Opcode == G_CTTZ_ZERO_UNDEF || Subtarget.hasBMI()) &&
307 (typePairInSet(0, 1, {{s16, s16}, {s32, s32}})(Query) ||
308 (Is64Bit && typePairInSet(0, 1, {{s64, s64}})(Query)));
316 .legalIf([=](const LegalityQuery &Query) -> bool {
317 return typeInSet(0, {s8, s16, s32, p0})(Query) ||
318 (Is64Bit && typeInSet(0, {s64})(Query)) ||
319 (HasSSE1 && typeInSet(0, {v16s8, v8s16, v4s32, v2s64})(Query)) ||
320 (HasAVX && typeInSet(0, {v32s8, v16s16, v8s32, v4s64})(Query)) ||
322 typeInSet(0, {v64s8, v32s16, v16s32, v8s64})(Query));
352 .legalIf([=](const LegalityQuery &Query) -> bool {
353 return typePairInSet(0, 1, {{p0, s32}})(Query) ||
354 (Is64Bit && typePairInSet(0, 1, {{p0, s64}})(Query));
417 .legalIf([=](const LegalityQuery &Query) {
418 return typeInSet(0, {s8, s16, s32})(Query) ||
419 (Query.Opcode == G_ANYEXT && Query.Types[0] == s128) ||
420 (Is64Bit && Query.Types[0] == s64);
432 .legalIf([=](const LegalityQuery &Query) -> bool {
433 return (typeInSet(0, {s32, s64})(Query)) ||
434 (UseX87 && typeInSet(0, {s80})(Query));
439 .legalIf([=](const LegalityQuery &Query) {
440 return (typeInSet(0, {s32, s64})(Query)) ||
441 (HasSSE1 && typeInSet(0, {v4s32})(Query)) ||
442 (HasSSE2 && typeInSet(0, {v2s64})(Query)) ||
443 (HasAVX && typeInSet(0, {v8s32, v4s64})(Query)) ||
444 (HasAVX512 && typeInSet(0, {v16s32, v8s64})(Query)) ||
445 (UseX87 && typeInSet(0, {s80})(Query));
450 .legalIf([=](const LegalityQuery &Query) {
451 return (HasSSE1 && typePairInSet(0, 1, {{s8, s32}})(Query)) ||
452 (HasSSE2 && typePairInSet(0, 1, {{s8, s64}})(Query));
459 getActionDefinitionsBuilder(G_FPEXT).legalIf([=](const LegalityQuery &Query) {
460 return (HasSSE2 && typePairInSet(0, 1, {{s64, s32}})(Query)) ||
461 (HasAVX && typePairInSet(0, 1, {{v4s64, v4s32}})(Query)) ||
462 (HasAVX512 && typePairInSet(0, 1, {{v8s64, v8s32}})(Query));
466 [=](const LegalityQuery &Query) {
467 return (HasSSE2 && typePairInSet(0, 1, {{s32, s64}})(Query)) ||
468 (HasAVX && typePairInSet(0, 1, {{v4s32, v4s64}})(Query)) ||
469 (HasAVX512 && typePairInSet(0, 1, {{v8s32, v8s64}})(Query));
473 .legalIf([=](const LegalityQuery &Query) {
475 (typePairInSet(0, 1, {{s32, s32}})(Query) ||
476 (Is64Bit && typePairInSet(0, 1, {{s32, s64}})(Query)))) ||
478 (typePairInSet(0, 1, {{s64, s32}})(Query) ||
479 (Is64Bit && typePairInSet(0, 1, {{s64, s64}})(Query))));
487 .legalIf([=](const LegalityQuery &Query) {
489 (typePairInSet(0, 1, {{s32, s32}})(Query) ||
490 (Is64Bit && typePairInSet(0, 1, {{s64, s32}})(Query)))) ||
492 (typePairInSet(0, 1, {{s32, s64}})(Query) ||
493 (Is64Bit && typePairInSet(0, 1, {{s64, s64}})(Query))));
502 .customIf([=](const LegalityQuery &Query) {
503 return (HasSSE1 && typeInSet(0, {v4s32})(Query)) ||
504 (HasSSE2 && typeInSet(0, {v2s64, v8s16, v16s8})(Query)) ||
505 (HasAVX && typeInSet(0, {v4s64, v8s32, v16s16, v32s8})(Query)) ||
515 .legalIf([=](const LegalityQuery &Query) {
516 unsigned SubIdx = Query.Opcode == G_EXTRACT ? 0 : 1;
517 unsigned FullIdx = Query.Opcode == G_EXTRACT ? 1 : 0;
522 {v2s64, v4s64}})(Query)) ||
531 {v4s64, v8s64}})(Query));
536 .legalIf([=](const LegalityQuery &Query) {
541 {v2s64, v4s64}})(Query)) ||
550 {v4s64, v8s64}})(Query));