OSDN Git Service

Add support for double-to-int & double-to-long in optimizing.
authorRoland Levillain <rpl@google.com>
Fri, 5 Dec 2014 12:06:01 +0000 (12:06 +0000)
committerRoland Levillain <rpl@google.com>
Fri, 5 Dec 2014 12:06:01 +0000 (12:06 +0000)
commit4c0b61f506644bb6b647be05d02c5fb45b9ceb48
tree26ff4e14af3cae5f9b30f65177be258d8259ecee
parent7c8ce29e97fb7873160ab8895d847e9643a1f8f6
Add support for double-to-int & double-to-long in optimizing.

- Add support for the double-to-int and double-to-long Dex
  instructions in the optimizing compiler.
- Add S1 to the list of ARM FPU parameter registers so that
  a double value can be passed as parameter during a call
  to the runtime through D0.
- Have art::x86_64::X86_64Assembler::cvttsd2si work with
  64-bit operands.
- Generate x86, x86-64 and ARM (but not ARM64) code for
  double to int and double to long HTypeConversion nodes.
- Add related tests to test/422-type-conversion.

Change-Id: Ic93b9ec6630c26e940f7966a3346ad3fd5a2ab3a
compiler/optimizing/builder.cc
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc
compiler/utils/x86_64/assembler_x86_64.cc
compiler/utils/x86_64/assembler_x86_64.h
test/422-type-conversion/src/Main.java