Commit 1485de17 authored by Ng Zhi An's avatar Ng Zhi An Committed by Commit Bot

[wasm-simd][arm64] Use unique register for shifts

The src register needs to be different from the temporary Simd128
register since in the codegen we modify tmp before using tmp and src.

Bug: chromium:1063006
Change-Id: I8b4b2d23d8f090ea37041e82cac97470bcf0d833
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111110Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66799}
parent 560f2d8b
......@@ -164,8 +164,11 @@ void VisitSimdShiftRRR(InstructionSelector* selector, ArchOpcode opcode,
}
} else {
InstructionOperand temps[] = {g.TempSimd128Register(), g.TempRegister()};
// We only need a unique register for the first input (src), since in
// the codegen we use tmp to store the shifts, and then later use it with
// src. The second input can be the same as the second temp (shift).
selector->Emit(opcode, g.DefineAsRegister(node),
g.UseRegister(node->InputAt(0)),
g.UseUniqueRegister(node->InputAt(0)),
g.UseRegister(node->InputAt(1)), arraysize(temps), temps);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment