Changeset 50595 in webkit for trunk/JavaScriptCore/assembler/MacroAssemblerARM.h
- Timestamp:
- Nov 6, 2009, 1:35:03 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/MacroAssemblerARM.h
r50593 r50595 119 119 } 120 120 121 void lshift32(RegisterID shift_amount, RegisterID dest) 122 { 123 ARMWord w = m_assembler.getImm(0x1f, ARMRegisters::S0, true); 124 ASSERT(!(w & ARMAssembler::OP2_INV_IMM)); 125 m_assembler.ands_r(ARMRegisters::S0, shift_amount, w); 126 127 m_assembler.movs_r(dest, m_assembler.lsl_r(dest, ARMRegisters::S0)); 128 } 129 121 130 void lshift32(Imm32 imm, RegisterID dest) 122 131 { 123 132 m_assembler.movs_r(dest, m_assembler.lsl(dest, imm.m_value & 0x1f)); 124 }125 126 void lshift32(RegisterID shift_amount, RegisterID dest)127 {128 m_assembler.movs_r(dest, m_assembler.lsl_r(dest, shift_amount));129 133 } 130 134 … … 161 165 void rshift32(RegisterID shift_amount, RegisterID dest) 162 166 { 163 m_assembler.movs_r(dest, m_assembler.asr_r(dest, shift_amount)); 167 ARMWord w = m_assembler.getImm(0x1f, ARMRegisters::S0, true); 168 ASSERT(!(w & ARMAssembler::OP2_INV_IMM)); 169 m_assembler.ands_r(ARMRegisters::S0, shift_amount, w); 170 171 m_assembler.movs_r(dest, m_assembler.asr_r(dest, ARMRegisters::S0)); 164 172 } 165 173
Note:
See TracChangeset
for help on using the changeset viewer.