OSDN Git Service

x86_64: Fix intrinsics
authornikolay serdjuk <nikolay.y.serdjuk@intel.com>
Tue, 10 Jun 2014 10:07:10 +0000 (17:07 +0700)
committerAndreas Gampe <agampe@google.com>
Fri, 4 Jul 2014 01:30:07 +0000 (18:30 -0700)
commitc5e4ce116e4d44bfdf162f0c949e77772d7e0654
tree00ecfcb695dc3f77c6802314d42700af286dc1c2
parent03cbed6dfbd2750a243363ee4033c425d58cac6e
x86_64: Fix intrinsics

The following intrinsics have been ported:

- Abs(double/long/int/float)
- String.indexOf/charAt/compareTo/is_empty/length
- Float.floatToRawIntBits, Float.intBitsToFloat
- Double.doubleToRawLongBits, Double.longBitsToDouble
- Thread.currentThread
- Unsafe.getInt/Long/Object, Unsafe.putInt/Long/Object
- Math.sqrt, Math.max, Math.min
- Long.reverseBytes

Math.min and max for longs have been implemented for x86_64.

Commented out until good tests available:
- Memory.peekShort/Int/Long, Memory.pokeShort/Int/Long

Turned off on x86-64 as reported having problems
- Cas

Change-Id: I934bc9c90fdf953be0d3836a17b6ee4e7c98f244
compiler/dex/quick/gen_invoke.cc [changed mode: 0644->0755]
compiler/dex/quick/x86/assemble_x86.cc
compiler/dex/quick/x86/fp_x86.cc [changed mode: 0644->0755]
compiler/dex/quick/x86/int_x86.cc [changed mode: 0644->0755]
compiler/dex/quick/x86/target_x86.cc [changed mode: 0644->0755]
compiler/dex/quick/x86/utility_x86.cc
compiler/dex/quick/x86/x86_lir.h