• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1    /*
2     * Generic 64-bit binary operation.
3     */
4    /* binop vAA, vBB, vCC */
5
6    movzbl    2(rPC),%eax               # eax<- BB
7    movzbl    3(rPC),%ecx               # ecx<- CC
8    SPILL(rIBASE)                       # save rIBASE
9    GET_VREG_WORD rIBASE %eax 0         # rIBASE<- v[BB+0]
10    GET_VREG_WORD %eax %eax 1           # eax<- v[BB+1]
11    $instr1         # ex: addl   (rFP,%ecx,4),rIBASE
12    $instr2         # ex: adcl   4(rFP,%ecx,4),%eax
13    SET_VREG_WORD rIBASE rINST 0        # v[AA+0] <- rIBASE
14    FETCH_INST_OPCODE 2 %ecx
15    UNSPILL(rIBASE)                     # restore rIBASE
16    SET_VREG_WORD %eax rINST 1          # v[AA+1] <- eax
17    ADVANCE_PC 2
18    GOTO_NEXT_R %ecx
19