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 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 } | 257 } |
258 void _cmpxchg8b(OperandX8632 *Addr, Variable *Edx, Variable *Eax, | 258 void _cmpxchg8b(OperandX8632 *Addr, Variable *Edx, Variable *Eax, |
259 Variable *Ecx, Variable *Ebx, bool Locked) { | 259 Variable *Ecx, Variable *Ebx, bool Locked) { |
260 Context.insert( | 260 Context.insert( |
261 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); | 261 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); |
262 // Mark edx, and eax as possibly modified by cmpxchg8b. | 262 // Mark edx, and eax as possibly modified by cmpxchg8b. |
263 Context.insert(InstFakeDef::create(Func, Edx)); | 263 Context.insert(InstFakeDef::create(Func, Edx)); |
264 Context.insert(InstFakeDef::create(Func, Eax)); | 264 Context.insert(InstFakeDef::create(Func, Eax)); |
265 } | 265 } |
266 void _cvt(Variable *Dest, Operand *Src0) { | 266 void _cvt(Variable *Dest, Operand *Src0) { |
267 Context.insert(InstX8632Cvt::create(Func, Dest, Src0)); | 267 const bool Trunc = false; |
| 268 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); |
| 269 } |
| 270 void _cvtt(Variable *Dest, Operand *Src0) { |
| 271 const bool Trunc = true; |
| 272 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); |
268 } | 273 } |
269 void _div(Variable *Dest, Operand *Src0, Operand *Src1) { | 274 void _div(Variable *Dest, Operand *Src0, Operand *Src1) { |
270 Context.insert(InstX8632Div::create(Func, Dest, Src0, Src1)); | 275 Context.insert(InstX8632Div::create(Func, Dest, Src0, Src1)); |
271 } | 276 } |
272 void _divps(Variable *Dest, Operand *Src0) { | 277 void _divps(Variable *Dest, Operand *Src0) { |
273 Context.insert(InstX8632Divps::create(Func, Dest, Src0)); | 278 Context.insert(InstX8632Divps::create(Func, Dest, Src0)); |
274 } | 279 } |
275 void _divss(Variable *Dest, Operand *Src0) { | 280 void _divss(Variable *Dest, Operand *Src0) { |
276 Context.insert(InstX8632Divss::create(Func, Dest, Src0)); | 281 Context.insert(InstX8632Divss::create(Func, Dest, Src0)); |
277 } | 282 } |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 virtual ~TargetGlobalInitX8632() {} | 509 virtual ~TargetGlobalInitX8632() {} |
505 }; | 510 }; |
506 | 511 |
507 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; | 512 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; |
508 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; | 513 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
509 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; | 514 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
510 | 515 |
511 } // end of namespace Ice | 516 } // end of namespace Ice |
512 | 517 |
513 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H | 518 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H |
OLD | NEW |