summaryrefslogtreecommitdiff
path: root/vm/mterp/x86/fpcvt.S
blob: 4fffbe4994c87d0f4d19a749058ab360cdd0d438 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
%default {"instr":"","load":"","store":""}
    /*
     * Generic 32-bit FP conversion operation.
     */
    /* unop vA, vB */
    movzbl   rINST_HI,%ecx           # ecx<- A+
    sarl     $$12,rINST_FULL         # rINST_FULL<- B
    $load    (rFP,rINST_FULL,4)      # %st0<- vB
    andb     $$0xf,%cl               # ecx<- A
    FETCH_INST_WORD(1)
    ADVANCE_PC(1)
    $instr
    $store  (rFP,%ecx,4)             # vA<- %st0
    GOTO_NEXT