Commit 3504dad3 by Jan Hubicka Committed by Jan Hubicka

i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic constants are not expensive.


	* i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
	constants are not expensive.

From-SVN: r64855
parent cb9a1d9b
Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
constants are not expensive.
Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
PR opt/10056
......
......@@ -14939,7 +14939,11 @@ ix86_rtx_costs (x, code, outer_code, total)
*total = 3;
else if (TARGET_64BIT && !x86_64_zero_extended_value (x))
*total = 2;
else if (flag_pic && SYMBOLIC_CONST (x))
else if (flag_pic && SYMBOLIC_CONST (x)
&& (!TARGET_64BIT
|| (!GET_CODE (x) != LABEL_REF
&& (GET_CODE (x) != SYMBOL_REF
|| !SYMBOL_REF_FLAG (x)))))
*total = 1;
else
*total = 0;
......@@ -14962,7 +14966,7 @@ ix86_rtx_costs (x, code, outer_code, total)
/* Start with (MEM (SYMBOL_REF)), since that's where
it'll probably end up. Add a penalty for size. */
*total = (COSTS_N_INSNS (1)
+ (flag_pic != 0)
+ (flag_pic != 0 && !TARGET_64BIT)
+ (mode == SFmode ? 0 : mode == DFmode ? 1 : 2));
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment