Bug 1635589 - Warp: Transpile TruncateDoubleToUInt32. r=jandem

Enables is to compile bitwise arithmetic with double operands.

Depends on D73976

Differential Revision: https://phabricator.services.mozilla.com/D73977
This commit is contained in:
Tom Schuster 2020-05-06 12:21:35 +00:00
Родитель f78d6f3ca8
Коммит 1e130db4ef
2 изменённых файлов: 10 добавлений и 1 удалений

Просмотреть файл

@ -491,7 +491,7 @@
- name: TruncateDoubleToUInt32
shared: true
transpile: false
transpile: true
args:
val: ValId
result: Int32Id

Просмотреть файл

@ -293,6 +293,15 @@ bool WarpCacheIRTranspiler::emitGuardToTypedArrayIndex(
return defineOperand(resultId, ins);
}
bool WarpCacheIRTranspiler::emitTruncateDoubleToUInt32(
ValOperandId valId, Int32OperandId resultId) {
MDefinition* input = getOperand(valId);
auto* ins = MTruncateToInt32::New(alloc(), input);
add(ins);
return defineOperand(resultId, ins);
}
bool WarpCacheIRTranspiler::emitLoadInt32Result(Int32OperandId valId) {
MDefinition* val = getOperand(valId);
MOZ_ASSERT(val->type() == MIRType::Int32);