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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 } | 189 } |
190 void _br(InstX8632::BrCond Condition, InstX8632Label *Label) { | 190 void _br(InstX8632::BrCond Condition, InstX8632Label *Label) { |
191 Context.insert(InstX8632Br::create(Func, Label, Condition)); | 191 Context.insert(InstX8632Br::create(Func, Label, Condition)); |
192 } | 192 } |
193 void _bsf(Variable *Dest, Operand *Src0) { | 193 void _bsf(Variable *Dest, Operand *Src0) { |
194 Context.insert(InstX8632Bsf::create(Func, Dest, Src0)); | 194 Context.insert(InstX8632Bsf::create(Func, Dest, Src0)); |
195 } | 195 } |
196 void _bsr(Variable *Dest, Operand *Src0) { | 196 void _bsr(Variable *Dest, Operand *Src0) { |
197 Context.insert(InstX8632Bsr::create(Func, Dest, Src0)); | 197 Context.insert(InstX8632Bsr::create(Func, Dest, Src0)); |
198 } | 198 } |
| 199 void _bswap(Variable *SrcDest) { |
| 200 Context.insert(InstX8632Bswap::create(Func, SrcDest)); |
| 201 } |
199 void _cdq(Variable *Dest, Operand *Src0) { | 202 void _cdq(Variable *Dest, Operand *Src0) { |
200 Context.insert(InstX8632Cdq::create(Func, Dest, Src0)); | 203 Context.insert(InstX8632Cdq::create(Func, Dest, Src0)); |
201 } | 204 } |
202 void _cmov(Variable *Dest, Operand *Src0, InstX8632::BrCond Condition) { | 205 void _cmov(Variable *Dest, Operand *Src0, InstX8632::BrCond Condition) { |
203 Context.insert(InstX8632Cmov::create(Func, Dest, Src0, Condition)); | 206 Context.insert(InstX8632Cmov::create(Func, Dest, Src0, Condition)); |
204 } | 207 } |
205 void _cmp(Operand *Src0, Operand *Src1) { | 208 void _cmp(Operand *Src0, Operand *Src1) { |
206 Context.insert(InstX8632Icmp::create(Func, Src0, Src1)); | 209 Context.insert(InstX8632Icmp::create(Func, Src0, Src1)); |
207 } | 210 } |
208 void _cmpxchg(Operand *DestOrAddr, Variable *Eax, Variable *Desired, | 211 void _cmpxchg(Operand *DestOrAddr, Variable *Eax, Variable *Desired, |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 } | 338 } |
336 void _push(Operand *Src0, bool SuppressStackAdjustment = false) { | 339 void _push(Operand *Src0, bool SuppressStackAdjustment = false) { |
337 Context.insert(InstX8632Push::create(Func, Src0, SuppressStackAdjustment)); | 340 Context.insert(InstX8632Push::create(Func, Src0, SuppressStackAdjustment)); |
338 } | 341 } |
339 void _pxor(Variable *Dest, Operand *Src0) { | 342 void _pxor(Variable *Dest, Operand *Src0) { |
340 Context.insert(InstX8632Pxor::create(Func, Dest, Src0)); | 343 Context.insert(InstX8632Pxor::create(Func, Dest, Src0)); |
341 } | 344 } |
342 void _ret(Variable *Src0 = NULL) { | 345 void _ret(Variable *Src0 = NULL) { |
343 Context.insert(InstX8632Ret::create(Func, Src0)); | 346 Context.insert(InstX8632Ret::create(Func, Src0)); |
344 } | 347 } |
| 348 void _rol(Variable *Dest, Operand *Src0) { |
| 349 Context.insert(InstX8632Rol::create(Func, Dest, Src0)); |
| 350 } |
345 void _sar(Variable *Dest, Operand *Src0) { | 351 void _sar(Variable *Dest, Operand *Src0) { |
346 Context.insert(InstX8632Sar::create(Func, Dest, Src0)); | 352 Context.insert(InstX8632Sar::create(Func, Dest, Src0)); |
347 } | 353 } |
348 void _sbb(Variable *Dest, Operand *Src0) { | 354 void _sbb(Variable *Dest, Operand *Src0) { |
349 Context.insert(InstX8632Sbb::create(Func, Dest, Src0)); | 355 Context.insert(InstX8632Sbb::create(Func, Dest, Src0)); |
350 } | 356 } |
351 void _shl(Variable *Dest, Operand *Src0) { | 357 void _shl(Variable *Dest, Operand *Src0) { |
352 Context.insert(InstX8632Shl::create(Func, Dest, Src0)); | 358 Context.insert(InstX8632Shl::create(Func, Dest, Src0)); |
353 } | 359 } |
354 void _shld(Variable *Dest, Variable *Src0, Variable *Src1) { | 360 void _shld(Variable *Dest, Variable *Src0, Variable *Src1) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 virtual ~TargetGlobalInitX8632() {} | 448 virtual ~TargetGlobalInitX8632() {} |
443 }; | 449 }; |
444 | 450 |
445 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; | 451 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; |
446 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; | 452 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
447 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; | 453 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
448 | 454 |
449 } // end of namespace Ice | 455 } // end of namespace Ice |
450 | 456 |
451 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H | 457 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H |
OLD | NEW |