Commit b34b558a by Antonio Maiorano

Subzero: fix assert for sqrt of vector float types

Subzero's sqrt intrinsic implementation was assuming only scalar float args when moving the result to the destination, despite its sqrt implementation supporting vector float. Bug: b/130459196 Change-Id: I1c5baf2dc72448785add421c87900964f877ce6f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38872 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
parent bb222a10
......@@ -4439,7 +4439,11 @@ void TargetX86Base<TraitsType>::lowerIntrinsicCall(
Variable *Dest = Instr->getDest();
Variable *T = makeReg(Dest->getType());
_sqrt(T, Src);
_mov(Dest, T);
if (isVectorType(Dest->getType())) {
_movp(Dest, T);
} else {
_mov(Dest, T);
}
return;
}
case Intrinsics::Stacksave: {
......
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