Index: src/IceInstX8632.h |
diff --git a/src/IceInstX8632.h b/src/IceInstX8632.h |
index 0e4964fd4f31b2eb1e1e00034c871da178622fd8..e3dc764071d93282505b3db81f972ac9729c9bb5 100644 |
--- a/src/IceInstX8632.h |
+++ b/src/IceInstX8632.h |
@@ -171,6 +171,7 @@ public: |
Shr, |
Shrd, |
Store, |
+ Storep, |
StoreQ, |
Sub, |
Subss, |
@@ -622,6 +623,24 @@ private: |
virtual ~InstX8632Store() {} |
}; |
+// Store packed - wrapper for storing vectors |
+class InstX8632Storep : public InstX8632 { |
+public: |
+ static InstX8632Storep *create(Cfg *Func, Operand *Value, OperandX8632 *Mem) { |
+ return new (Func->allocate<InstX8632Storep>()) |
+ InstX8632Storep(Func, Value, Mem); |
+ } |
+ virtual void emit(const Cfg *Func) const; |
+ virtual void dump(const Cfg *Func) const; |
+ static bool classof(const Inst *Inst) { return isClassof(Inst, Storep); } |
+ |
+private: |
+ InstX8632Storep(Cfg *Func, Operand *Value, OperandX8632 *Mem); |
+ InstX8632Storep(const InstX8632Storep &) LLVM_DELETED_FUNCTION; |
+ InstX8632Storep &operator=(const InstX8632Storep &) LLVM_DELETED_FUNCTION; |
+ virtual ~InstX8632Storep() {} |
+}; |
+ |
// Move/assignment instruction - wrapper for mov/movss/movsd. |
class InstX8632Mov : public InstX8632 { |
public: |