OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX8632.h - x86-32 lowering ---*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringX8632.h - x86-32 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 // This file declares the TargetLoweringX8632 class, which | 10 // This file declares the TargetLoweringX8632 class, which |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 InstFakeDef::create(Func, Eax, llvm::dyn_cast<Variable>(DestOrAddr))); | 249 InstFakeDef::create(Func, Eax, llvm::dyn_cast<Variable>(DestOrAddr))); |
250 } | 250 } |
251 void _cmpxchg8b(OperandX8632Mem *Addr, Variable *Edx, Variable *Eax, | 251 void _cmpxchg8b(OperandX8632Mem *Addr, Variable *Edx, Variable *Eax, |
252 Variable *Ecx, Variable *Ebx, bool Locked) { | 252 Variable *Ecx, Variable *Ebx, bool Locked) { |
253 Context.insert( | 253 Context.insert( |
254 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); | 254 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); |
255 // Mark edx, and eax as possibly modified by cmpxchg8b. | 255 // Mark edx, and eax as possibly modified by cmpxchg8b. |
256 Context.insert(InstFakeDef::create(Func, Edx)); | 256 Context.insert(InstFakeDef::create(Func, Edx)); |
257 Context.insert(InstFakeDef::create(Func, Eax)); | 257 Context.insert(InstFakeDef::create(Func, Eax)); |
258 } | 258 } |
259 void _cvt(Variable *Dest, Operand *Src0) { | 259 void _cvt(Variable *Dest, Operand *Src0, InstX8632Cvt::CvtVariant Variant) { |
260 const bool Trunc = false; | 260 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Variant)); |
261 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); | |
262 } | |
263 void _cvtt(Variable *Dest, Operand *Src0) { | |
264 const bool Trunc = true; | |
265 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); | |
266 } | 261 } |
267 void _div(Variable *Dest, Operand *Src0, Operand *Src1) { | 262 void _div(Variable *Dest, Operand *Src0, Operand *Src1) { |
268 Context.insert(InstX8632Div::create(Func, Dest, Src0, Src1)); | 263 Context.insert(InstX8632Div::create(Func, Dest, Src0, Src1)); |
269 } | 264 } |
270 void _divps(Variable *Dest, Operand *Src0) { | 265 void _divps(Variable *Dest, Operand *Src0) { |
271 Context.insert(InstX8632Divps::create(Func, Dest, Src0)); | 266 Context.insert(InstX8632Divps::create(Func, Dest, Src0)); |
272 } | 267 } |
273 void _divss(Variable *Dest, Operand *Src0) { | 268 void _divss(Variable *Dest, Operand *Src0) { |
274 Context.insert(InstX8632Divss::create(Func, Dest, Src0)); | 269 Context.insert(InstX8632Divss::create(Func, Dest, Src0)); |
275 } | 270 } |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 }; | 495 }; |
501 | 496 |
502 template <> void ConstantInteger32::emit(GlobalContext *Ctx) const; | 497 template <> void ConstantInteger32::emit(GlobalContext *Ctx) const; |
503 template <> void ConstantInteger64::emit(GlobalContext *Ctx) const; | 498 template <> void ConstantInteger64::emit(GlobalContext *Ctx) const; |
504 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; | 499 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
505 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; | 500 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
506 | 501 |
507 } // end of namespace Ice | 502 } // end of namespace Ice |
508 | 503 |
509 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H | 504 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H |
OLD | NEW |