@@ -21011,6 +21011,9 @@ fn analyzeMinMax(
|
||||
|
||||
if (rhs_val.isUndef()) return sema.addConstUndef(simd_op.result_ty);
|
||||
|
||||
try sema.resolveLazyValue(lhs_val);
|
||||
try sema.resolveLazyValue(rhs_val);
|
||||
|
||||
const opFunc = switch (air_tag) {
|
||||
.min => Value.numberMin,
|
||||
.max => Value.numberMax,
|
||||
|
||||
@@ -95,3 +95,10 @@ test "@min for vectors" {
|
||||
try S.doTheTest();
|
||||
comptime try S.doTheTest();
|
||||
}
|
||||
|
||||
test "@min/@max on lazy values" {
|
||||
const A = extern struct { u8_4: [4]u8 };
|
||||
const B = extern struct { u8_16: [16]u8 };
|
||||
const size = @max(@sizeOf(A), @sizeOf(B));
|
||||
try expect(size == @sizeOf(B));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user