| OLD | NEW |
| 1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// | 1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file declares the InstX8632 and OperandX8632 classes and | 10 // This file declares the InstX8632 and OperandX8632 classes and |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 // report_fatal_error() if one is found. This function should be | 283 // report_fatal_error() if one is found. This function should be |
| 284 // called during emission, and maybe also in the ctor (as long as | 284 // called during emission, and maybe also in the ctor (as long as |
| 285 // that fits the lowering style). | 285 // that fits the lowering style). |
| 286 void validateVectorAddrMode() const { | 286 void validateVectorAddrMode() const { |
| 287 if (getDest()) | 287 if (getDest()) |
| 288 validateVectorAddrModeOpnd(getDest()); | 288 validateVectorAddrModeOpnd(getDest()); |
| 289 for (SizeT i = 0; i < getSrcSize(); ++i) { | 289 for (SizeT i = 0; i < getSrcSize(); ++i) { |
| 290 validateVectorAddrModeOpnd(getSrc(i)); | 290 validateVectorAddrModeOpnd(getSrc(i)); |
| 291 } | 291 } |
| 292 } | 292 } |
| 293 |
| 293 private: | 294 private: |
| 294 static void validateVectorAddrModeOpnd(const Operand *Opnd) { | 295 static void validateVectorAddrModeOpnd(const Operand *Opnd) { |
| 295 if (llvm::isa<OperandX8632Mem>(Opnd) && isVectorType(Opnd->getType())) { | 296 if (llvm::isa<OperandX8632Mem>(Opnd) && isVectorType(Opnd->getType())) { |
| 296 llvm::report_fatal_error("Possible misaligned vector memory operation"); | 297 llvm::report_fatal_error("Possible misaligned vector memory operation"); |
| 297 } | 298 } |
| 298 } | 299 } |
| 299 }; | 300 }; |
| 300 | 301 |
| 301 // InstX8632Label represents an intra-block label that is the target | 302 // InstX8632Label represents an intra-block label that is the target |
| 302 // of an intra-block branch. The offset between the label and the | 303 // of an intra-block branch. The offset between the label and the |
| (...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1678 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; | 1679 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; |
| 1679 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; | 1680 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; |
| 1680 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; | 1681 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; |
| 1681 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; | 1682 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; |
| 1682 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; | 1683 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; |
| 1683 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; | 1684 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; |
| 1684 | 1685 |
| 1685 } // end of namespace Ice | 1686 } // end of namespace Ice |
| 1686 | 1687 |
| 1687 #endif // SUBZERO_SRC_ICEINSTX8632_H | 1688 #endif // SUBZERO_SRC_ICEINSTX8632_H |
| OLD | NEW |