@@ -267,9 +267,9 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
267
267
getActionDefinitionsBuilder ({G_CTTZ_ZERO_UNDEF, G_CTTZ})
268
268
.legalIf ([=](const LegalityQuery &Query) -> bool {
269
269
return (Query.Opcode == G_CTTZ_ZERO_UNDEF || Subtarget.hasBMI ()) &&
270
- (typePairInSet (0 , 1 , {{s16, s16}, {s32, s32}})(Query) ||
271
- (Is64Bit && typePairInSet (0 , 1 , {{s64, s64}})(Query)));
270
+ (typePairInSet (0 , 1 , {{s16, s16}, {s32, s32}})(Query));
272
271
})
272
+ .legalFor (Is64Bit, {{s64, s64}})
273
273
.widenScalarToNextPow2 (1 , /* Min=*/ 16 )
274
274
.clampScalar (1 , s16, sMaxScalar )
275
275
.scalarSameSizeAs (0 , 1 );
@@ -380,10 +380,10 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
380
380
381
381
// sext, zext, and anyext
382
382
getActionDefinitionsBuilder ({G_SEXT, G_ZEXT, G_ANYEXT})
383
+ .legalFor ({s8, s16, s32})
384
+ .legalFor (Is64Bit, {s64})
383
385
.legalIf ([=](const LegalityQuery &Query) {
384
- return typeInSet (0 , {s8, s16, s32})(Query) ||
385
- (Query.Opcode == G_ANYEXT && Query.Types [0 ] == s128) ||
386
- (Is64Bit && Query.Types [0 ] == s64);
386
+ return Query.Opcode == G_ANYEXT && Query.Types [0 ] == s128;
387
387
})
388
388
.widenScalarToNextPow2 (0 , /* Min=*/ 8 )
389
389
.clampScalar (0 , s8, sMaxScalar )
0 commit comments