1%default {"preinstr":"", "instr":"", "wide":"0"} 2/* 3 * Generic 32/64-bit unary operation. Provide an "instr" line that 4 * specifies an instruction that performs "result = op eax". 5 */ 6 /* unop vA, vB */ 7 movl rINST, %ecx # rcx <- A+ 8 sarl $$4,rINST # rINST <- B 9 .if ${wide} 10 GET_WIDE_VREG %rax, rINSTq # rax <- vB 11 .else 12 GET_VREG %eax, rINSTq # eax <- vB 13 .endif 14 andb $$0xf,%cl # ecx <- A 15$preinstr 16$instr 17 .if ${wide} 18 SET_WIDE_VREG %rax, %rcx 19 .else 20 SET_VREG %eax, %rcx 21 .endif 22 ADVANCE_PC_FETCH_AND_GOTO_NEXT 1 23