From 68be263f0412aab91f28950f84df4357c2ba040d Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Fri, 20 Jan 2006 15:11:38 +0000 Subject: optimize cmp $0,r , generate test r,r instead --- cgawas.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'cgawas.c') diff --git a/cgawas.c b/cgawas.c index ca61f3b..eda248a 100644 --- a/cgawas.c +++ b/cgawas.c @@ -1451,6 +1451,14 @@ static void w_as_cmp_instruction (struct instruction *instruction,int size_flag) parameter_0.parameter_type=P_REGISTER; parameter_0.parameter_data.reg.r=REGISTER_O0; } + case P_IMMEDIATE: + if (parameter_0.parameter_data.i==0 && parameter_1.parameter_type==P_REGISTER && size_flag==SIZE_LONG){ + w_as_opcode (intel_asm ? "test" : "testl"); + w_as_register (parameter_1.parameter_data.reg.r); + w_as_comma_register (parameter_1.parameter_data.reg.r); + w_as_newline(); + return; + } } w_as_opcode (intel_asm ? "cmp" : "cmpl"); -- cgit v1.2.3