mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1123777: Let SIMD.float32x4.with{X,Y,Z,W} accept double scalar argument in asm.js; r=luke
--HG-- extra : rebase_source : 3b4683caa9d88fa32135b31c54168a0283028941
This commit is contained in:
parent
b8a4e263e3
commit
39fe9acad7
@ -5567,12 +5567,7 @@ class CheckSimdVectorScalarArgs
|
||||
}
|
||||
|
||||
// Second argument is the scalar
|
||||
Type coercedFormalType = SimdToCoercedScalarType(formalSimdType_);
|
||||
if (!(actualType <= coercedFormalType)) {
|
||||
return f.failf(arg, "%s is not a subtype of %s", actualType.toChars(),
|
||||
coercedFormalType.toChars());
|
||||
}
|
||||
return true;
|
||||
return CheckSimdScalarArgs(formalSimdType_)(f, arg, argIndex, actualType, def);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -614,7 +614,6 @@ const WZF = 'var w = f4.withZ;';
|
||||
const WWF = 'var w = f4.withW;';
|
||||
|
||||
assertAsmTypeFail('glob', USE_ASM + F32 + WXF + "function f() {var x = f4(1,2,3,4); x = w(x, 1);} return f");
|
||||
assertAsmTypeFail('glob', USE_ASM + F32 + WXF + "function f() {var x = f4(1,2,3,4); x = w(x, 1.0);} return f");
|
||||
assertAsmTypeFail('glob', USE_ASM + F32 + WXF + "function f() {var x = f4(1,2,3,4); x = w(x, x);} return f");
|
||||
assertAsmTypeFail('glob', USE_ASM + F32 + WXF + FROUND + "function f() {var x = f4(1,2,3,4); x = w(1, f32(1));} return f");
|
||||
assertAsmTypeFail('glob', USE_ASM + F32 + WXF + FROUND + "function f() {var x = f4(1,2,3,4); x = w(1., f32(1));} return f");
|
||||
@ -627,6 +626,11 @@ CheckF4(WZF + FROUND, 'var x = f4(1,2,3,4); x = w(x, f32(13.37));', [1, 2, Math.
|
||||
CheckF4(WWF + FROUND, 'var x = f4(1,2,3,4); x = w(x, f32(13.37));', [1, 2, 3, Math.fround(13.37)]);
|
||||
CheckF4(WWF + FROUND, 'var x = f4(1,2,3,4); x = w(x, f32(13.37) + f32(6.63));', [1, 2, 3, Math.fround(Math.fround(13.37) + Math.fround(6.63))]);
|
||||
|
||||
CheckF4(WXF + FROUND, 'var x = f4(1,2,3,4); x = w(x, 13.37);', [Math.fround(13.37), 2, 3, 4]);
|
||||
CheckF4(WYF + FROUND, 'var x = f4(1,2,3,4); x = w(x, 13.37);', [1, Math.fround(13.37), 3, 4]);
|
||||
CheckF4(WZF + FROUND, 'var x = f4(1,2,3,4); x = w(x, 13.37);', [1, 2, Math.fround(13.37), 4]);
|
||||
CheckF4(WWF + FROUND, 'var x = f4(1,2,3,4); x = w(x, 13.37);', [1, 2, 3, Math.fround(13.37)]);
|
||||
|
||||
const WXI = 'var w = i4.withX;';
|
||||
const WYI = 'var w = i4.withY;';
|
||||
const WZI = 'var w = i4.withZ;';
|
||||
|
Loading…
Reference in New Issue
Block a user