45 .widenScalarToNextPow2(0)
50 .widenScalarToNextPow2(0)
54 {G_ADD, G_SUB, G_MUL, G_UDIV, G_SDIV, G_UREM, G_SREM, G_AND, G_OR, G_XOR})
56 .widenScalarToNextPow2(0)
60 .legalFor({{i32, i32}, {i64, i64}})
61 .widenScalarToNextPow2(0)
66 .legalFor({{i32, i32}, {i64, i64}})
67 .widenScalarToNextPow2(1)
74 .legalFor({{i32, i32}, {i64, i64}})
75 .scalarSameSizeAs(1, 0)
82 .widenScalarToNextPow2(1)
91 .legalFor({{i64, i32}})
92 .clampScalar(0, s64, s64)
97 .clampScalar(0, s32, s32)
109 Builder.clampScalar(0, s32, s64).lower();
113 G_INTRINSIC_TRUNC, G_FNEARBYINT, G_FRINT,
114 G_INTRINSIC_ROUNDEVEN, G_FSQRT, G_FADD, G_FSUB,
116 .legalFor({f32, f64})
126 .clampScalar(0, s64, s64)
131 .clampScalar(0, s32, s32)
135 .
legalFor({{i32, f32}, {f32, i32}, {i64, f64}, {f64, i64}})
136 .clampScalar(0, s32, s64)
140 .legalForCartesianProduct({i32, i64}, {f32, f64})
141 .clampScalar(0, s32, s64)
158 .legalForCartesianProduct({f32, f64}, {i32, i64})
164 .widenScalarToNextPow2(0)
170 .clampScalar(0, p0s, p0s);
173 .clampScalar(1, p0s, p0s);
176 .legalFor({{p0, p0i}})
177 .clampScalar(1, p0s, p0s);
195 .clampScalar(0, s32, s64)
199 .legalForTypesWithMemDesc({{i32, p0, i8, 1},
205 .clampScalar(0, s32, s64)
222 .clampScalar(0, s32, s64)