1%default {"wide":"", "r1":"s1", "r2":"s2", "default_val":"-1","cond":"le"} 2 /* 3 * Compare two floating-point values. Puts 0, 1, or -1 into the 4 * destination register based on the results of the comparison. 5 */ 6 /* op vAA, vBB, vCC */ 7 FETCH w0, 1 // w0<- CCBB 8 lsr w4, wINST, #8 // w4<- AA 9 and w2, w0, #255 // w2<- BB 10 lsr w3, w0, #8 // w3<- CC 11 GET_VREG$wide $r1, w2 12 GET_VREG$wide $r2, w3 13 mov w0, #$default_val 14 fcmp $r1, $r2 15 csneg w0, w0, w0, $cond 16 csel w0, wzr, w0, eq 17 FETCH_ADVANCE_INST 2 // advance rPC, load rINST 18 GET_INST_OPCODE ip // extract opcode from rINST 19 SET_VREG w0, w4 // vAA<- w0 20 GOTO_OPCODE ip // jump to next instruction 21