| 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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 Context.insert(InstX8632Cmpps::create(Func, Dest, Src0, Condition)); | 243 Context.insert(InstX8632Cmpps::create(Func, Dest, Src0, Condition)); |
| 244 } | 244 } |
| 245 void _cmpxchg(Operand *DestOrAddr, Variable *Eax, Variable *Desired, | 245 void _cmpxchg(Operand *DestOrAddr, Variable *Eax, Variable *Desired, |
| 246 bool Locked) { | 246 bool Locked) { |
| 247 Context.insert( | 247 Context.insert( |
| 248 InstX8632Cmpxchg::create(Func, DestOrAddr, Eax, Desired, Locked)); | 248 InstX8632Cmpxchg::create(Func, DestOrAddr, Eax, Desired, Locked)); |
| 249 // Mark eax as possibly modified by cmpxchg. | 249 // Mark eax as possibly modified by cmpxchg. |
| 250 Context.insert( | 250 Context.insert( |
| 251 InstFakeDef::create(Func, Eax, llvm::dyn_cast<Variable>(DestOrAddr))); | 251 InstFakeDef::create(Func, Eax, llvm::dyn_cast<Variable>(DestOrAddr))); |
| 252 } | 252 } |
| 253 void _cmpxchg8b(OperandX8632 *Addr, Variable *Edx, Variable *Eax, | 253 void _cmpxchg8b(OperandX8632Mem *Addr, Variable *Edx, Variable *Eax, |
| 254 Variable *Ecx, Variable *Ebx, bool Locked) { | 254 Variable *Ecx, Variable *Ebx, bool Locked) { |
| 255 Context.insert( | 255 Context.insert( |
| 256 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); | 256 InstX8632Cmpxchg8b::create(Func, Addr, Edx, Eax, Ecx, Ebx, Locked)); |
| 257 // Mark edx, and eax as possibly modified by cmpxchg8b. | 257 // Mark edx, and eax as possibly modified by cmpxchg8b. |
| 258 Context.insert(InstFakeDef::create(Func, Edx)); | 258 Context.insert(InstFakeDef::create(Func, Edx)); |
| 259 Context.insert(InstFakeDef::create(Func, Eax)); | 259 Context.insert(InstFakeDef::create(Func, Eax)); |
| 260 } | 260 } |
| 261 void _cvt(Variable *Dest, Operand *Src0) { | 261 void _cvt(Variable *Dest, Operand *Src0) { |
| 262 const bool Trunc = false; | 262 const bool Trunc = false; |
| 263 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); | 263 Context.insert(InstX8632Cvt::create(Func, Dest, Src0, Trunc)); |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 }; | 505 }; |
| 506 | 506 |
| 507 template <> void ConstantInteger32::emit(GlobalContext *Ctx) const; | 507 template <> void ConstantInteger32::emit(GlobalContext *Ctx) const; |
| 508 template <> void ConstantInteger64::emit(GlobalContext *Ctx) const; | 508 template <> void ConstantInteger64::emit(GlobalContext *Ctx) const; |
| 509 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; | 509 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
| 510 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; | 510 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
| 511 | 511 |
| 512 } // end of namespace Ice | 512 } // end of namespace Ice |
| 513 | 513 |
| 514 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H | 514 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H |
| OLD | NEW |