Index: src/IceTargetLoweringX8632.cpp |
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
index 569fd9e126f124431f618ba242ee52ac319efd16..62a525c4578234833df416411e23b5bde1a458bf 100644 |
--- a/src/IceTargetLoweringX8632.cpp |
+++ b/src/IceTargetLoweringX8632.cpp |
@@ -2018,7 +2018,14 @@ void TargetX8632::lowerIntrinsicCall(const InstIntrinsicCall *Instr) { |
lowerCall(Call); |
return; |
} |
- case Intrinsics::Sqrt: |
+ case Intrinsics::Sqrt: { |
+ Operand *Src = legalize(Instr->getArg(0)); |
+ Variable *Dest = Instr->getDest(); |
+ Variable *T = makeReg(Dest->getType()); |
+ _sqrtss(T, Src); |
+ _mov(Dest, T); |
+ return; |
+ } |
case Intrinsics::Stacksave: |
case Intrinsics::Stackrestore: |
// TODO(jvoung): fill it in. |