Chromium Code Reviews| Index: src/IceTargetLoweringX8632.h |
| diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h |
| index 972b29f7b4fecca3405abf3fe33c3b1f21c5e0f6..12fcbc31e77ae7967ab94732e0376be360741d45 100644 |
| --- a/src/IceTargetLoweringX8632.h |
| +++ b/src/IceTargetLoweringX8632.h |
| @@ -195,6 +195,8 @@ protected: |
| int32_t RegNum = Variable::NoRegister) { |
| if (Dest == NULL) { |
| Dest = legalizeToVar(Src0, false, RegNum); |
| + } else if (typeNumElements(Dest->getType()) > 1) { |
| + Context.insert(InstX8632Movp::create(Func, Dest, Src0)); |
|
jvoung (off chromium)
2014/06/26 00:45:41
I wonder if this should just be a separate _movp()
wala
2014/06/26 17:32:42
I'll add a _movp function. However, there are a fe
jvoung (off chromium)
2014/06/26 23:33:46
Okay, yeah I was worried there might be some recur
|
| } else { |
| Context.insert(InstX8632Mov::create(Func, Dest, Src0)); |
| } |
| @@ -288,11 +290,15 @@ private: |
| TargetX8632(const TargetX8632 &) LLVM_DELETED_FUNCTION; |
| TargetX8632 &operator=(const TargetX8632 &) LLVM_DELETED_FUNCTION; |
| virtual ~TargetX8632() {} |
| - template <typename T> void emitConstantPool() const; |
| + template <typename T> void emitScalarConstantPool() const; |
| + void emitVectorConstantPool() const; |
| }; |
| +template <> void ConstantInteger::emit(GlobalContext *Ctx) const; |
| template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
| template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
| +template <> void ConstantVector::emit(GlobalContext *Ctx) const; |
| +template <> void ConstantBitVector::emit(GlobalContext *Ctx) const; |
| } // end of namespace Ice |