1    /*
2     * Return a 64-bit value.
3     */
4    /* return-wide vAA */
5    /* op vAA */
6    .extern MterpThreadFenceForConstructor
7    bl      MterpThreadFenceForConstructor
8    ldr     w7, [xSELF, #THREAD_FLAGS_OFFSET]
9    mov     x0, xSELF
10    ands    w7, w7, #(THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST)
11    b.ne    .L${opcode}_check
12.L${opcode}_return:
13    lsr     w2, wINST, #8               // w2<- AA
14    GET_VREG_WIDE x0, w2                // x0<- vAA
15    b       MterpReturn
16.L${opcode}_check:
17    bl      MterpSuspendCheck           // (self)
18    b       .L${opcode}_return
19