Index: src/IceInstX8632.h |
diff --git a/src/IceInstX8632.h b/src/IceInstX8632.h |
index 0e4964fd4f31b2eb1e1e00034c871da178622fd8..f76d6df61655ac159d0ba3697b8ce0b94570b5bb 100644 |
--- a/src/IceInstX8632.h |
+++ b/src/IceInstX8632.h |
@@ -170,6 +170,7 @@ public: |
Shld, |
Shr, |
Shrd, |
+ Sqrtss, |
Store, |
StoreQ, |
Sub, |
@@ -827,6 +828,24 @@ private: |
virtual ~InstX8632Ret() {} |
}; |
+// Sqrtss - Scalar sqrt of a float or double. |
+class InstX8632Sqrtss : public InstX8632 { |
+public: |
+ static InstX8632Sqrtss *create(Cfg *Func, Variable *Dest, Operand *Source) { |
+ return new (Func->allocate<InstX8632Sqrtss>()) |
+ InstX8632Sqrtss(Func, Dest, Source); |
+ } |
+ virtual void emit(const Cfg *Func) const; |
+ virtual void dump(const Cfg *Func) const; |
+ static bool classof(const Inst *Inst) { return isClassof(Inst, Sqrtss); } |
+ |
+private: |
+ InstX8632Sqrtss(Cfg *Func, Variable *Dest, Operand *Source); |
+ InstX8632Sqrtss(const InstX8632Sqrtss &) LLVM_DELETED_FUNCTION; |
+ InstX8632Sqrtss &operator=(const InstX8632Sqrtss &) LLVM_DELETED_FUNCTION; |
+ virtual ~InstX8632Sqrtss() {} |
+}; |
+ |
// Exchanging Add instruction. Exchanges the first operand (destination |
// operand) with the second operand (source operand), then loads the sum |
// of the two values into the destination operand. The destination may be |