%verify "executed" %include "mips/unflopWider.S" {"instr":"b f2l_doconv", "instr_f":"b f2l_doconv", "st_result":"STORE64(rRESULT0, rRESULT1, rOBJ)"} %break f2l_doconv: #ifdef SOFT_FLOAT li a1, 0x5f000000 move rBIX, a0 JAL(__gesf2) move t0, v0 li rRESULT0, ~0 li rRESULT1, ~0x80000000 bgez t0, .L${opcode}_set_vreg move a0, rBIX li a1, 0xdf000000 JAL(__lesf2) move t0, v0 li rRESULT0, 0 li rRESULT1, 0x80000000 blez t0, .L${opcode}_set_vreg move a0, rBIX move a1, rBIX JAL(__nesf2) move t0, v0 li rRESULT0, 0 li rRESULT1, 0 bnez t0, .L${opcode}_set_vreg move a0, rBIX JAL(__fixsfdi) #else l.s fa1, .LLONG_TO_max c.ole.s fcc0, fa1, fa0 li rRESULT0, ~0 li rRESULT1, ~0x80000000 bc1t .L${opcode}_set_vreg l.s fa1, .LLONG_TO_min c.ole.s fcc0, fa0, fa1 li rRESULT0, 0 li rRESULT1, 0x80000000 bc1t .L${opcode}_set_vreg mov.s fa1, fa0 c.un.s fcc0, fa0, fa1 li rRESULT0, 0 li rRESULT1, 0 bc1t .L${opcode}_set_vreg JAL(__fixsfdi) #endif b .L${opcode}_set_vreg .LLONG_TO_max: .word 0x5f000000 .LLONG_TO_min: .word 0xdf000000