1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%default {"result":"%eax"} 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Generic 32-bit "shift/2addr" operation. 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* shift/2addr vA, vB */ 6f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee movzx rINSTbl,%ecx # eax<- BA 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sarl $$4,%ecx # ecx<- B 8f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee GET_VREG_R %ecx %ecx # eax<- vBB 9f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee andb $$0xf,rINSTbl # rINST<- A 10f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee GET_VREG_R %eax rINST # eax<- vAA 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project $instr # ex: sarl %cl,%eax 12a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3buzbee FETCH_INST_OPCODE 1 %ecx 13f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee SET_VREG $result rINST 14f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee ADVANCE_PC 1 15a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3buzbee GOTO_NEXT_R %ecx 16