Commit 6fd71fde by Uros Bizjak

i386.md (ix86_code_end): Move the initialization of xops array near the consumer.

	* config/i386/i386.md (ix86_code_end): Move the initialization of
	xops array near the consumer.  Use AX_REG and SP_REG instead of
	numerical constants.

From-SVN: r164583
parent be1f1ed9
2010-09-24 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ix86_code_end): Move the initialization of
xops array near the consumer. Use AX_REG and SP_REG instead of
numerical constants.
2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com> 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
* c-typeck.c (convert_arguments): Use warning 'too many arguments * c-typeck.c (convert_arguments): Use warning 'too many arguments to
to method [methodname]' for an Objective-C method instead of the method [methodname]' for an Objective-C method instead of the less
less satisfactory 'too many arguments to function' (with no method satisfactory 'too many arguments to function' (with no method name).
name).
2010-09-23 Eric Botcazou <ebotcazou@adacore.com> 2010-09-23 Eric Botcazou <ebotcazou@adacore.com>
...@@ -7964,12 +7964,12 @@ ix86_code_end (void) ...@@ -7964,12 +7964,12 @@ ix86_code_end (void)
rtx xops[2]; rtx xops[2];
int regno; int regno;
for (regno = 0; regno < 8; ++regno) for (regno = AX_REG; regno <= SP_REG; regno++)
{ {
char name[32]; char name[32];
tree decl; tree decl;
if (! ((pic_labels_used >> regno) & 1)) if (!(pic_labels_used & (1 << regno)))
continue; continue;
get_pc_thunk_name (name, regno); get_pc_thunk_name (name, regno);
...@@ -8022,10 +8022,8 @@ ix86_code_end (void) ...@@ -8022,10 +8022,8 @@ ix86_code_end (void)
/* Make sure unwind info is emitted for the thunk if needed. */ /* Make sure unwind info is emitted for the thunk if needed. */
final_start_function (emit_barrier (), asm_out_file, 1); final_start_function (emit_barrier (), asm_out_file, 1);
xops[0] = gen_rtx_REG (Pmode, regno);
xops[1] = gen_rtx_MEM (Pmode, stack_pointer_rtx);
/* Pad stack IP move with 4 instructions (two NOPs count /* Pad stack IP move with 4 instructions (two NOPs count
as one instruction.) */ as one instruction). */
if (TARGET_PAD_SHORT_FUNCTION) if (TARGET_PAD_SHORT_FUNCTION)
{ {
int i = 8; int i = 8;
...@@ -8034,6 +8032,8 @@ ix86_code_end (void) ...@@ -8034,6 +8032,8 @@ ix86_code_end (void)
fputs ("\tnop\n", asm_out_file); fputs ("\tnop\n", asm_out_file);
} }
xops[0] = gen_rtx_REG (Pmode, regno);
xops[1] = gen_rtx_MEM (Pmode, stack_pointer_rtx);
output_asm_insn ("mov%z0\t{%1, %0|%0, %1}", xops); output_asm_insn ("mov%z0\t{%1, %0|%0, %1}", xops);
fputs ("\tret\n", asm_out_file); fputs ("\tret\n", asm_out_file);
final_end_function (); final_end_function ();
......
...@@ -11515,7 +11515,7 @@ ...@@ -11515,7 +11515,7 @@
(unspec:SI [(const_int 0)] UNSPEC_SET_GOT)) (unspec:SI [(const_int 0)] UNSPEC_SET_GOT))
(clobber (reg:CC FLAGS_REG))] (clobber (reg:CC FLAGS_REG))]
"!TARGET_64BIT" "!TARGET_64BIT"
{ return output_set_got (operands[0], NULL_RTX); } "* return output_set_got (operands[0], NULL_RTX);"
[(set_attr "type" "multi") [(set_attr "type" "multi")
(set_attr "length" "12")]) (set_attr "length" "12")])
...@@ -11525,7 +11525,7 @@ ...@@ -11525,7 +11525,7 @@
UNSPEC_SET_GOT)) UNSPEC_SET_GOT))
(clobber (reg:CC FLAGS_REG))] (clobber (reg:CC FLAGS_REG))]
"!TARGET_64BIT" "!TARGET_64BIT"
{ return output_set_got (operands[0], operands[1]); } "* return output_set_got (operands[0], operands[1]);"
[(set_attr "type" "multi") [(set_attr "type" "multi")
(set_attr "length" "12")]) (set_attr "length" "12")])
......
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