39 .widenScalarToNextPow2(0)
43 G_UREM, G_SREM, G_AND, G_OR, G_XOR})
45 .widenScalarToNextPow2(0)
49 .legalFor({{i32, i32}, {i64, i64}})
50 .widenScalarToNextPow2(0)
55 .legalFor({{i32, i32}, {i64, i64}})
56 .widenScalarToNextPow2(1)
63 .legalFor({{i32, i32}, {i64, i64}})
64 .scalarSameSizeAs(1, 0)
70 .legalFor({{i64, i32}})
71 .clampScalar(0, s64, s64)
76 .clampScalar(0, s32, s32)
85 G_INTRINSIC_TRUNC, G_FNEARBYINT, G_FRINT,
86 G_INTRINSIC_ROUNDEVEN, G_FSQRT, G_FADD, G_FSUB,
98 .clampScalar(0, s64, s64)
103 .clampScalar(0, s32, s32)
LLVM_ABI LegalizeResult lower(MachineInstr &MI, unsigned TypeIdx, LLT Ty)
Legalize an instruction by splitting it into simpler parts, hopefully understood by the target.