| 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 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_IA32) | 6 #if defined(TARGET_ARCH_IA32) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 } | 266 } |
| 267 | 267 |
| 268 | 268 |
| 269 void Assembler::leal(Register dst, const Address& src) { | 269 void Assembler::leal(Register dst, const Address& src) { |
| 270 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 270 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 271 EmitUint8(0x8D); | 271 EmitUint8(0x8D); |
| 272 EmitOperand(dst, src); | 272 EmitOperand(dst, src); |
| 273 } | 273 } |
| 274 | 274 |
| 275 | 275 |
| 276 // Move if not overflow. |
| 277 void Assembler::cmovno(Register dst, Register src) { |
| 278 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 279 EmitUint8(0x0F); |
| 280 EmitUint8(0x41); |
| 281 EmitRegisterOperand(dst, src); |
| 282 } |
| 283 |
| 284 |
| 276 void Assembler::cmove(Register dst, Register src) { | 285 void Assembler::cmove(Register dst, Register src) { |
| 277 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 286 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 278 EmitUint8(0x0F); | 287 EmitUint8(0x0F); |
| 279 EmitUint8(0x44); | 288 EmitUint8(0x44); |
| 280 EmitRegisterOperand(dst, src); | 289 EmitRegisterOperand(dst, src); |
| 281 } | 290 } |
| 282 | 291 |
| 283 | 292 |
| 284 void Assembler::cmovs(Register dst, Register src) { | 293 void Assembler::cmovs(Register dst, Register src) { |
| 285 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 294 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| (...skipping 2424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2710 | 2719 |
| 2711 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 2720 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 2712 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); | 2721 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); |
| 2713 return xmm_reg_names[reg]; | 2722 return xmm_reg_names[reg]; |
| 2714 } | 2723 } |
| 2715 | 2724 |
| 2716 | 2725 |
| 2717 } // namespace dart | 2726 } // namespace dart |
| 2718 | 2727 |
| 2719 #endif // defined TARGET_ARCH_IA32 | 2728 #endif // defined TARGET_ARCH_IA32 |
| OLD | NEW |