Index: src/arm/assembler-thumb32.cc |
diff --git a/src/arm/assembler-thumb32.cc b/src/arm/assembler-thumb32.cc |
index 827b323b393383e1e050accbc2450b40af222268..190304fc1cee55b1394105b6adecd4b2f808defd 100644 |
--- a/src/arm/assembler-thumb32.cc |
+++ b/src/arm/assembler-thumb32.cc |
@@ -330,9 +330,12 @@ Instr Assembler::thumb32_3reg_lsl(Register rd, |
return (x.rn_.code()*BH0 | rd.code()*B12 | imm2*B4 | x.rm_.code()); |
} |
switch (x.shift_op_) { |
- case LSL: // TODO(rkrithiv): call method to encode lsl instruction |
- case LSR: // TODO(rkrithiv): call method to encode lsr instruction |
- case ASR: // TODO(rkrithiv): call method to encode asr instruction |
+ case LSL: lsl_thumb(ip, Operand(x.rm_, LSL, x.shift_imm_), LeaveCC, al); |
+ break; |
+ case LSR: lsr_thumb(ip, Operand(x.rm_, LSR, x.shift_imm_), LeaveCC, al); |
+ break; |
+ case ASR: asr_thumb(ip, Operand(x.rm_, ASR, x.shift_imm_), LeaveCC, al); |
+ break; |
default: return (x.rn_.code()*BH0 | rd.code()*B12 | x.rm_.code()); |
} |
return (x.rn_.code()*BH0 | rd.code()*B12 | ip.code()); |