diff options
author | Roland Levillain <rpl@google.com> | 2014-10-23 16:38:33 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2014-10-23 17:08:48 +0100 |
commit | 66ce173a40eff4392e9949ede169ccf3108be2db (patch) | |
tree | 552bc6275388c3bc6ecd4f549ffcd1422c020f82 /compiler/optimizing/builder.cc | |
parent | e2b2cbf8bffdf9ee3ece487fde9ac78652b4abaf (diff) | |
download | android_art-66ce173a40eff4392e9949ede169ccf3108be2db.tar.gz android_art-66ce173a40eff4392e9949ede169ccf3108be2db.tar.bz2 android_art-66ce173a40eff4392e9949ede169ccf3108be2db.zip |
Implement long negate instruction in the optimizing compiler.
- Add support for the neg-long (long integer two's
complement negate) instruction in the optimizing compiler.
- Add a 64-bit NEG instruction (negq) to the x86-64
assembler.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Put neg-related tests into test/415-optimizing-arith-neg.
Change-Id: I1fbe9611e134408a6b8745d1df20ab6ffa5e50f2
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r-- | compiler/optimizing/builder.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index 79cbd0ee21..0ab7782e2c 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -748,6 +748,11 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 break; } + case Instruction::NEG_LONG: { + Unop_12x<HNeg>(instruction, Primitive::kPrimLong); + break; + } + case Instruction::NOT_INT: { Unop_12x<HNot>(instruction, Primitive::kPrimInt); break; |