11452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee /* 21452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * Generic 32bit-to-64bit floating point unary operation. Provide an 31452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * "instr" line that specifies an instruction that performs "d0 = op s0". 41452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * 51452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * For: int-to-double, float-to-double 61452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee */ 71452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee /* unop vA, vB */ 81452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee mov r3, rINST, lsr #12 @ r3<- B 91452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee VREG_INDEX_TO_ADDR r3, r3 @ r3<- &vB 101452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee flds s0, [r3] @ s0<- vB 11ace690f5e440930d7bbad97fdbfdc3eb65e230bebuzbee ubfx r9, rINST, #8, #4 @ r9<- A 121452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee FETCH_ADVANCE_INST 1 @ advance rPC, load rINST 131452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee $instr @ d0<- op 1450cf600419109c9cbb0686edc6f7456c13ef7f08buzbee CLEAR_SHADOW_PAIR r9, ip, lr @ Zero shadow regs 151452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee GET_INST_OPCODE ip @ extract opcode from rINST 161452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee VREG_INDEX_TO_ADDR r9, r9 @ r9<- &vA 171452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee fstd d0, [r9] @ vA<- d0 181452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee GOTO_OPCODE ip @ jump to next instruction 19