diff options
author | 2016-03-18 14:04:28 +0000 | |
---|---|---|
committer | 2016-03-18 14:04:28 +0000 | |
commit | 22c4922c6b31e154a6814c4abe9015d9ba156911 (patch) | |
tree | 8e871f67e327322d24d0c2e4588b165005414077 /compiler/optimizing/nodes.h | |
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/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index e2a54f42ce..46377ee503 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -4689,7 +4689,12 @@ class HXor : public HBinaryOperation { class HRor : public HBinaryOperation { public: HRor(Primitive::Type result_type, HInstruction* value, HInstruction* distance) - : HBinaryOperation(result_type, value, distance) {} + : HBinaryOperation(result_type, value, distance) { + if (kIsDebugBuild) { + DCHECK_EQ(result_type, Primitive::PrimitiveKind(value->GetType())); + DCHECK_EQ(Primitive::kPrimInt, Primitive::PrimitiveKind(distance->GetType())); + } + } template <typename T, typename U, typename V> T Compute(T x, U y, V max_shift_value) const { |