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