mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backout 841ffd181e14 (Bug 878433)
This commit is contained in:
parent
4e48bf62d8
commit
4c4321fb8d
@ -3968,7 +3968,7 @@ CheckDivOrMod(FunctionCompiler &f, ParseNode *expr, MDefinition **def, Type *typ
|
||||
*type = Type::Intish;
|
||||
} else {
|
||||
*def = f.binary<MMod>(lhsDef, rhsDef, MIRType_Int32);
|
||||
*type = Type::Intish;
|
||||
*type = Type::Int;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -3979,7 +3979,7 @@ CheckDivOrMod(FunctionCompiler &f, ParseNode *expr, MDefinition **def, Type *typ
|
||||
*type = Type::Intish;
|
||||
} else {
|
||||
*def = f.binary<MAsmJSUMod>(lhsDef, rhsDef);
|
||||
*type = Type::Intish;
|
||||
*type = Type::Int;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -22,11 +22,6 @@ assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0; return (i<j)|0 } return
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0.0; return (-i)|0 } return f");
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0; return (-(i+j))|0 } return f");
|
||||
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0,k=0; k = (i|0)/(k|0) } return f");
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0,k=0; k = (i>>>0)/(k>>>0) } return f");
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0,k=0; k = (i|0)%(k|0) } return f");
|
||||
assertAsmTypeFail(USE_ASM + "function f() { var i=0,j=0,k=0; k = (i>>>0)%(k>>>0) } return f");
|
||||
|
||||
const UINT32_MAX = Math.pow(2,32)-1;
|
||||
const INT32_MIN = -Math.pow(2,31);
|
||||
const INT32_MAX = Math.pow(2,31)-1;
|
||||
@ -167,7 +162,7 @@ assertEq(f(INT32_MIN, INT32_MAX), 1);
|
||||
assertEq(f(INT32_MIN, UINT32_MAX), 0);
|
||||
assertEq(f(INT32_MIN, INT32_MIN), 1);
|
||||
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i|0)%(j|0)|0; return k|0 } return f"));
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i|0)%(j|0); return k|0 } return f"));
|
||||
assertEq(f(4,2), 0);
|
||||
assertEq(f(3,2), 1);
|
||||
assertEq(f(3,-2), 1);
|
||||
@ -186,7 +181,7 @@ assertEq(f(INT32_MAX, INT32_MIN), INT32_MAX);
|
||||
assertEq(f(INT32_MIN, INT32_MAX), -1);
|
||||
assertEq(f(INT32_MIN, INT32_MIN), 0);
|
||||
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i|0)%4|0; return k|0 } return f"));
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i|0)%4; return k|0 } return f"));
|
||||
assertEq(f(0), 0);
|
||||
assertEq(f(-1), -1);
|
||||
assertEq(f(-3), -3);
|
||||
@ -196,7 +191,7 @@ assertEq(f(3), 3);
|
||||
assertEq(f(4), 0);
|
||||
assertEq(f(INT32_MAX), 3);
|
||||
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i>>>0)%(j>>>0)|0; return k|0 } return f"));
|
||||
var f = asmLink(asmCompile(USE_ASM + "function f(i,j) { i=i|0;j=j|0; var k = 0; k = (i>>>0)%(j>>>0); return k|0 } return f"));
|
||||
assertEq(f(4,2), 0);
|
||||
assertEq(f(3,2), 1);
|
||||
assertEq(f(3,-2), 3);
|
||||
|
Loading…
Reference in New Issue
Block a user