summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes_shared.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/nodes_shared.cc')
-rw-r--r--compiler/optimizing/nodes_shared.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes_shared.cc b/compiler/optimizing/nodes_shared.cc
index f982523634..2f971b93a6 100644
--- a/compiler/optimizing/nodes_shared.cc
+++ b/compiler/optimizing/nodes_shared.cc
@@ -54,6 +54,9 @@ void HDataProcWithShifterOp::GetOpInfoFromInstruction(HInstruction* instruction,
// default encoding 'LSL 0'.
*op_kind = kLSL;
*shift_amount = 0;
+ } else if (result_type == DataType::Type::kUint8 ||
+ (input_type == DataType::Type::kUint8 && input_size < result_size)) {
+ *op_kind = kUXTB;
} else if (result_type == DataType::Type::kUint16 ||
(input_type == DataType::Type::kUint16 && input_size < result_size)) {
*op_kind = kUXTH;