Implement binary emitter for Leave.
authorChristoph Mallon <christoph.mallon@gmx.de>
Wed, 23 Sep 2009 14:30:28 +0000 (14:30 +0000)
committerChristoph Mallon <christoph.mallon@gmx.de>
Wed, 23 Sep 2009 14:30:28 +0000 (14:30 +0000)
[r26641]

ir/be/ia32/ia32_emitter.c

index 8339fbe..757c039 100644 (file)
@@ -3114,19 +3114,20 @@ static void bemit_ ## op(const ir_node *node) { \
 //EMIT_SINGLEOP(aaa,  0x37)
 //EMIT_SINGLEOP(aas,  0x3F)
 //EMIT_SINGLEOP(nop,  0x90)
-EMIT_SINGLEOP(cwtl, 0x98)
-EMIT_SINGLEOP(cltd, 0x99)
+EMIT_SINGLEOP(cwtl,  0x98)
+EMIT_SINGLEOP(cltd,  0x99)
 //EMIT_SINGLEOP(fwait, 0x9B)
-EMIT_SINGLEOP(sahf, 0x9E)
+EMIT_SINGLEOP(sahf,  0x9E)
 //EMIT_SINGLEOP(popf, 0x9D)
-EMIT_SINGLEOP(int3, 0xCC)
+EMIT_SINGLEOP(leave, 0xC9)
+EMIT_SINGLEOP(int3,  0xCC)
 //EMIT_SINGLEOP(iret, 0xCF)
 //EMIT_SINGLEOP(xlat, 0xD7)
 //EMIT_SINGLEOP(lock, 0xF0)
-EMIT_SINGLEOP(rep,  0xF3)
+EMIT_SINGLEOP(rep,   0xF3)
 //EMIT_SINGLEOP(halt, 0xF4)
-EMIT_SINGLEOP(cmc,  0xF5)
-EMIT_SINGLEOP(stc,  0xF9)
+EMIT_SINGLEOP(cmc,   0xF5)
+EMIT_SINGLEOP(stc,   0xF9)
 //EMIT_SINGLEOP(cli,  0xFA)
 //EMIT_SINGLEOP(sti,  0xFB)
 //EMIT_SINGLEOP(std,  0xFD)
@@ -3880,6 +3881,7 @@ static void ia32_register_binary_emitters(void)
        register_emitter(op_ia32_Jmp,           bemit_jump);
        register_emitter(op_ia32_LdTls,         bemit_ldtls);
        register_emitter(op_ia32_Lea,           bemit_lea);
+       register_emitter(op_ia32_Leave,         bemit_leave);
        register_emitter(op_ia32_Load,          bemit_load);
        register_emitter(op_ia32_Mul,           bemit_mul);
        register_emitter(op_ia32_Neg,           bemit_neg);