From 7c8d009552545e6f1fd6036721e4e42e3fd14697 Mon Sep 17 00:00:00 2001 From: Mark Mendell Date: Mon, 26 Jan 2015 11:21:33 -0500 Subject: [optimizing compiler] Support x86 hard float ABI Add support for the new ABI passing FP parameters in XMM0-XMM3. This allows us to optimize for x86 methods that don't use 'long'. Change-Id: Ic79a24767173451e7d7095ccc2a00b307593a868 Signed-off-by: Mark Mendell --- compiler/optimizing/code_generator_x86.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/code_generator_x86.h') diff --git a/compiler/optimizing/code_generator_x86.h b/compiler/optimizing/code_generator_x86.h index 55d71e3..64a29e0 100644 --- a/compiler/optimizing/code_generator_x86.h +++ b/compiler/optimizing/code_generator_x86.h @@ -89,7 +89,9 @@ class ParallelMoveResolverX86 : public ParallelMoveResolver { private: void Exchange(Register reg, int mem); void Exchange(int mem1, int mem2); - void MoveMemoryToMemory(int dst, int src); + void Exchange32(XmmRegister reg, int mem); + void MoveMemoryToMemory32(int dst, int src); + void MoveMemoryToMemory64(int dst, int src); CodeGeneratorX86* const codegen_; @@ -173,6 +175,8 @@ class CodeGeneratorX86 : public CodeGenerator { void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE; size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) OVERRIDE; size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) OVERRIDE; + size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) OVERRIDE; + size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) OVERRIDE; size_t GetWordSize() const OVERRIDE { return kX86WordSize; -- cgit v1.1