OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 lowering ----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 lowering ----*- 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 /// \file | 10 /// \file |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 template <typename T = Traits> | 421 template <typename T = Traits> |
422 typename std::enable_if<!T::UsesX87, void>::type _fstp(Variable *) { | 422 typename std::enable_if<!T::UsesX87, void>::type _fstp(Variable *) { |
423 llvm::report_fatal_error("fstp is not available in x86-64"); | 423 llvm::report_fatal_error("fstp is not available in x86-64"); |
424 } | 424 } |
425 void _idiv(Variable *Dest, Operand *Src0, Operand *Src1) { | 425 void _idiv(Variable *Dest, Operand *Src0, Operand *Src1) { |
426 Context.insert(Traits::Insts::Idiv::create(Func, Dest, Src0, Src1)); | 426 Context.insert(Traits::Insts::Idiv::create(Func, Dest, Src0, Src1)); |
427 } | 427 } |
428 void _imul(Variable *Dest, Operand *Src0) { | 428 void _imul(Variable *Dest, Operand *Src0) { |
429 Context.insert(Traits::Insts::Imul::create(Func, Dest, Src0)); | 429 Context.insert(Traits::Insts::Imul::create(Func, Dest, Src0)); |
430 } | 430 } |
| 431 void _imul_imm(Variable *Dest, Operand *Src0, Constant *Imm) { |
| 432 Context.insert(Traits::Insts::ImulImm::create(Func, Dest, Src0, Imm)); |
| 433 } |
431 void _insertps(Variable *Dest, Operand *Src0, Operand *Src1) { | 434 void _insertps(Variable *Dest, Operand *Src0, Operand *Src1) { |
432 Context.insert(Traits::Insts::Insertps::create(Func, Dest, Src0, Src1)); | 435 Context.insert(Traits::Insts::Insertps::create(Func, Dest, Src0, Src1)); |
433 } | 436 } |
434 void _jmp(Operand *Target) { | 437 void _jmp(Operand *Target) { |
435 Context.insert(Traits::Insts::Jmp::create(Func, Target)); | 438 Context.insert(Traits::Insts::Jmp::create(Func, Target)); |
436 } | 439 } |
437 void _lea(Variable *Dest, Operand *Src0) { | 440 void _lea(Variable *Dest, Operand *Src0) { |
438 Context.insert(Traits::Insts::Lea::create(Func, Dest, Src0)); | 441 Context.insert(Traits::Insts::Lea::create(Func, Dest, Src0)); |
439 } | 442 } |
440 void _mfence() { Context.insert(Traits::Insts::Mfence::create(Func)); } | 443 void _mfence() { Context.insert(Traits::Insts::Mfence::create(Func)); } |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 Operand *Src1Lo, Variable *DestLo, Variable *DestHi); | 722 Operand *Src1Lo, Variable *DestLo, Variable *DestHi); |
720 | 723 |
721 BoolFolding FoldingInfo; | 724 BoolFolding FoldingInfo; |
722 }; | 725 }; |
723 } // end of namespace X86Internal | 726 } // end of namespace X86Internal |
724 } // end of namespace Ice | 727 } // end of namespace Ice |
725 | 728 |
726 #include "IceTargetLoweringX86BaseImpl.h" | 729 #include "IceTargetLoweringX86BaseImpl.h" |
727 | 730 |
728 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H | 731 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H |
OLD | NEW |