diff options
author | Roland Levillain <rpl@google.com> | 2016-03-18 14:04:28 +0000 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2016-03-18 14:04:28 +0000 |
commit | 22c4922c6b31e154a6814c4abe9015d9ba156911 (patch) | |
tree | 8e871f67e327322d24d0c2e4588b165005414077 /compiler/optimizing/code_generator_arm.cc | |
parent | 0205b58a0d7a9ce5832393857c19c086c78996e9 (diff) |
Ensure art::HRor support boolean, byte, short and char inputs.
Also extend tests covering the IntegerRotateLeft,
LongRotateLeft, IntegerRotateRight and LongRotateRight
intrinsics and their translation into an art::HRor
instruction.
Bug: 27682579
Change-Id: I89f6ea6a7315659a172482bf09875cfb7e7422a1
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index 34fd9ff2a5..c164f2b344 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -3273,7 +3273,8 @@ void InstructionCodeGeneratorARM::HandleLongRotate(LocationSummary* locations) { __ Bind(&end); } } -void LocationsBuilderARM::HandleRotate(HRor* ror) { + +void LocationsBuilderARM::VisitRor(HRor* ror) { LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(ror, LocationSummary::kNoCall); switch (ror->GetResultType()) { @@ -3300,7 +3301,7 @@ void LocationsBuilderARM::HandleRotate(HRor* ror) { } } -void InstructionCodeGeneratorARM::HandleRotate(HRor* ror) { +void InstructionCodeGeneratorARM::VisitRor(HRor* ror) { LocationSummary* locations = ror->GetLocations(); Primitive::Type type = ror->GetResultType(); switch (type) { @@ -3318,14 +3319,6 @@ void InstructionCodeGeneratorARM::HandleRotate(HRor* ror) { } } -void LocationsBuilderARM::VisitRor(HRor* op) { - HandleRotate(op); -} - -void InstructionCodeGeneratorARM::VisitRor(HRor* op) { - HandleRotate(op); -} - void LocationsBuilderARM::HandleShift(HBinaryOperation* op) { DCHECK(op->IsShl() || op->IsShr() || op->IsUShr()); |