OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // | 4 // |
5 // Modified by the Subzero authors. | 5 // Modified by the Subzero authors. |
6 // | 6 // |
7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// | 7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// |
8 // | 8 // |
9 // The Subzero Code Generator | 9 // The Subzero Code Generator |
10 // | 10 // |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 friend class AssemblerX86; | 322 friend class AssemblerX86; |
323 Label(const Label &) LLVM_DELETED_FUNCTION; | 323 Label(const Label &) LLVM_DELETED_FUNCTION; |
324 Label &operator=(const Label &) LLVM_DELETED_FUNCTION; | 324 Label &operator=(const Label &) LLVM_DELETED_FUNCTION; |
325 }; | 325 }; |
326 | 326 |
327 class AssemblerX86 : public Assembler { | 327 class AssemblerX86 : public Assembler { |
328 public: | 328 public: |
329 explicit AssemblerX86(bool use_far_branches = false) : buffer_(*this) { | 329 explicit AssemblerX86(bool use_far_branches = false) : buffer_(*this) { |
330 // This mode is only needed and implemented for MIPS and ARM. | 330 // This mode is only needed and implemented for MIPS and ARM. |
331 assert(!use_far_branches); | 331 assert(!use_far_branches); |
| 332 (void)use_far_branches; |
332 } | 333 } |
333 ~AssemblerX86() {} | 334 ~AssemblerX86() {} |
334 | 335 |
335 static const bool kNearJump = true; | 336 static const bool kNearJump = true; |
336 static const bool kFarJump = false; | 337 static const bool kFarJump = false; |
337 | 338 |
338 // Operations to emit GPR instructions (and dispatch on operand type). | 339 // Operations to emit GPR instructions (and dispatch on operand type). |
339 typedef void (AssemblerX86::*TypedEmitGPR)(Type, GPRRegister); | 340 typedef void (AssemblerX86::*TypedEmitGPR)(Type, GPRRegister); |
340 typedef void (AssemblerX86::*TypedEmitAddr)(Type, const Address &); | 341 typedef void (AssemblerX86::*TypedEmitAddr)(Type, const Address &); |
341 struct GPREmitterOneOp { | 342 struct GPREmitterOneOp { |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { | 755 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { |
755 buffer_.EmitFixup(fixup); | 756 buffer_.EmitFixup(fixup); |
756 } | 757 } |
757 | 758 |
758 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } | 759 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } |
759 | 760 |
760 } // end of namespace x86 | 761 } // end of namespace x86 |
761 } // end of namespace Ice | 762 } // end of namespace Ice |
762 | 763 |
763 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ | 764 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ |
OLD | NEW |