Commit 0d42d490 by Uros Bizjak

i386.c: Use ASM_LONG instead of .long.

	* config/i386/i386.c: Use ASM_LONG instead of .long.  Concatenate
	ASM_LONG, LPREFIX, MCOUNT_NAME and PROFILE_COUNT_REGISTER strings
	with the rest of string where appropriate.  Use fputs or putc
	instead of fprintf where appropriate.

From-SVN: r150030
parent 8c576a3f
2009-07-23 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c: Use ASM_LONG instead of .long. Concatenate
ASM_LONG, LPREFIX, MCOUNT_NAME and PROFILE_COUNT_REGISTER strings
with the rest of string where appropriate. Use fputs or putc
instead of fprintf where appropriate.
2009-07-22 Michael Meissner <meissner@linux.vnet.ibm.com> 2009-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
Pat Haugen <pthaugen@us.ibm.com> Pat Haugen <pthaugen@us.ibm.com>
Revital Eres <ERES@il.ibm.com> Revital Eres <ERES@il.ibm.com>
...@@ -42,8 +49,7 @@ ...@@ -42,8 +49,7 @@
(TARGET_SECONDARY_RELOAD): Define target hook. (TARGET_SECONDARY_RELOAD): Define target hook.
(TARGET_IRA_COVER_CLASSES): Ditto. (TARGET_IRA_COVER_CLASSES): Ditto.
(rs6000_hard_regno_nregs_internal): If -mvsx, floating point (rs6000_hard_regno_nregs_internal): If -mvsx, floating point
registers are 128 bits if VSX memory reference instructions are registers are 128 bits if VSX memory reference instructions are used.
used.
(rs6000_hard_regno_mode_ok): For VSX, only check if the VSX memory (rs6000_hard_regno_mode_ok): For VSX, only check if the VSX memory
unit is being used. unit is being used.
(rs6000_debug_vector_unit): Move into rs6000_debug_reg_global. (rs6000_debug_vector_unit): Move into rs6000_debug_reg_global.
...@@ -83,8 +89,7 @@ ...@@ -83,8 +89,7 @@
(altivec_expand_builtin): Ditto. (altivec_expand_builtin): Ditto.
(rs6000_expand_ternop_builtin): Use a switch instead of an if (rs6000_expand_ternop_builtin): Use a switch instead of an if
statement for vsldoi support. statement for vsldoi support.
(altivec_expand_ld_builtin): Change to use new names from (altivec_expand_ld_builtin): Change to use new names from vector.md.
vector.md.
(altivec_expand_st_builtin): Ditto. (altivec_expand_st_builtin): Ditto.
(paired_expand_builtin): Whitespace changes. (paired_expand_builtin): Whitespace changes.
(rs6000_init_builtins): Add V2DF/V2DI types. Initialize the (rs6000_init_builtins): Add V2DF/V2DI types. Initialize the
...@@ -94,8 +99,7 @@ ...@@ -94,8 +99,7 @@
create builtin function types dynamically as we need them. create builtin function types dynamically as we need them.
(builtin_hash_function): New support for hashing the tree types (builtin_hash_function): New support for hashing the tree types
for builtin function as we need it, rather than trying to build for builtin function as we need it, rather than trying to build
all of the trees that we need. Add initial preliminary VSX all of the trees that we need. Add initial preliminary VSX support.
support.
(builtin_function_type): Ditto. (builtin_function_type): Ditto.
(builtin_function_eq): Ditto. (builtin_function_eq): Ditto.
(builtin_hash_struct): Ditto. (builtin_hash_struct): Ditto.
...@@ -105,8 +109,7 @@ ...@@ -105,8 +109,7 @@
(rs6000_common_init_builtins): Ditto. (rs6000_common_init_builtins): Ditto.
(enum reload_reg_type): New enum for simplifing reg classes. (enum reload_reg_type): New enum for simplifing reg classes.
(rs6000_reload_register_type): Simplify register classes into GPR, (rs6000_reload_register_type): Simplify register classes into GPR,
Vector, and other registers. Vector, and other registers. Altivec and VSX addresses in reload.
Altivec and VSX addresses in reload.
(rs6000_secondary_reload_inner): Ditto. (rs6000_secondary_reload_inner): Ditto.
(rs6000_ira_cover_classes): New target hook, that returns the (rs6000_ira_cover_classes): New target hook, that returns the
appropriate cover classes, based on -mvsx being used or not. appropriate cover classes, based on -mvsx being used or not.
...@@ -118,11 +121,9 @@ ...@@ -118,11 +121,9 @@
UNSPEC. UNSPEC.
(rs6000_emit_vector_select): Ditto. (rs6000_emit_vector_select): Ditto.
(rs6000_emit_vector_cond_expr): Ditto. (rs6000_emit_vector_cond_expr): Ditto.
(rs6000_emit_minmax): Directly generate min/max under altivec, (rs6000_emit_minmax): Directly generate min/max under altivec, vsx.
vsx.
(create_TOC_reference): Add -mdebug=addr support. (create_TOC_reference): Add -mdebug=addr support.
(emit_frame_save): VSX loads/stores need register indexed (emit_frame_save): VSX loads/stores need register indexed addressing.
addressing.
* config/rs6000/rs6000.md: Include vector.md. * config/rs6000/rs6000.md: Include vector.md.
...@@ -173,8 +174,7 @@ ...@@ -173,8 +174,7 @@
(VM): New iterator for moves that includes the VSX types. (VM): New iterator for moves that includes the VSX types.
(altivec_vperm_<mode>): Add VSX types. Add unsigned types. (altivec_vperm_<mode>): Add VSX types. Add unsigned types.
(altivec_vperm_<mode>_uns): New, for unsigned types. (altivec_vperm_<mode>_uns): New, for unsigned types.
(altivec_vsel_*): Rewrite vector comparisons and predicate (altivec_vsel_*): Rewrite vector comparisons and predicate builtins.
builtins.
(altivec_eq<mode>): Ditto. (altivec_eq<mode>): Ditto.
(altivec_gt<mode>): Ditto. (altivec_gt<mode>): Ditto.
(altivec_gtu<mode>): Ditto. (altivec_gtu<mode>): Ditto.
......
...@@ -2562,7 +2562,7 @@ ix86_debug_options (void) ...@@ -2562,7 +2562,7 @@ ix86_debug_options (void)
free (opts); free (opts);
} }
else else
fprintf (stderr, "<no options>\n\n"); fputs ("<no options>\n\n", stderr);
return; return;
} }
...@@ -4197,9 +4197,9 @@ x86_elf_aligned_common (FILE *file, ...@@ -4197,9 +4197,9 @@ x86_elf_aligned_common (FILE *file,
{ {
if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC) if ((ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_MEDIUM_PIC)
&& size > (unsigned int)ix86_section_threshold) && size > (unsigned int)ix86_section_threshold)
fprintf (file, ".largecomm\t"); fputs (".largecomm\t", file);
else else
fprintf (file, "%s", COMMON_ASM_OP); fputs (COMMON_ASM_OP, file);
assemble_name (file, name); assemble_name (file, name);
fprintf (file, ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", fprintf (file, ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
size, align / BITS_PER_UNIT); size, align / BITS_PER_UNIT);
...@@ -7608,7 +7608,7 @@ ix86_file_end (void) ...@@ -7608,7 +7608,7 @@ ix86_file_end (void)
(*targetm.asm_out.globalize_label) (asm_out_file, name); (*targetm.asm_out.globalize_label) (asm_out_file, name);
fputs ("\t.hidden\t", asm_out_file); fputs ("\t.hidden\t", asm_out_file);
assemble_name (asm_out_file, name); assemble_name (asm_out_file, name);
fputc ('\n', asm_out_file); putc ('\n', asm_out_file);
ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl); ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl);
} }
else else
...@@ -11731,7 +11731,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -11731,7 +11731,7 @@ print_operand (FILE *file, rtx x, int code)
#if TARGET_MACHO #if TARGET_MACHO
fputs (" ; ", file); fputs (" ; ", file);
#else #else
fputc (' ', file); putc (' ', file);
#endif #endif
return; return;
...@@ -11809,7 +11809,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -11809,7 +11809,7 @@ print_operand (FILE *file, rtx x, int code)
char dstr[30]; char dstr[30];
real_to_decimal (dstr, CONST_DOUBLE_REAL_VALUE (x), sizeof (dstr), 0, 1); real_to_decimal (dstr, CONST_DOUBLE_REAL_VALUE (x), sizeof (dstr), 0, 1);
fprintf (file, "%s", dstr); fputs (dstr, file);
} }
else if (GET_CODE (x) == CONST_DOUBLE else if (GET_CODE (x) == CONST_DOUBLE
...@@ -12694,7 +12694,7 @@ ix86_output_addr_vec_elt (FILE *file, int value) ...@@ -12694,7 +12694,7 @@ ix86_output_addr_vec_elt (FILE *file, int value)
gcc_assert (!TARGET_64BIT); gcc_assert (!TARGET_64BIT);
#endif #endif
fprintf (file, "%s%s%d\n", directive, LPREFIX, value); fprintf (file, "%s" LPREFIX "%d\n", directive, value);
} }
void void
...@@ -12710,21 +12710,21 @@ ix86_output_addr_diff_elt (FILE *file, int value, int rel) ...@@ -12710,21 +12710,21 @@ ix86_output_addr_diff_elt (FILE *file, int value, int rel)
#endif #endif
/* We can't use @GOTOFF for text labels on VxWorks; see gotoff_operand. */ /* We can't use @GOTOFF for text labels on VxWorks; see gotoff_operand. */
if (TARGET_64BIT || TARGET_VXWORKS_RTP) if (TARGET_64BIT || TARGET_VXWORKS_RTP)
fprintf (file, "%s%s%d-%s%d\n", fprintf (file, "%s" LPREFIX "%d-" LPREFIX "%d\n",
directive, LPREFIX, value, LPREFIX, rel); directive, value, rel);
else if (HAVE_AS_GOTOFF_IN_DATA) else if (HAVE_AS_GOTOFF_IN_DATA)
fprintf (file, "%s%s%d@GOTOFF\n", ASM_LONG, LPREFIX, value); fprintf (file, ASM_LONG LPREFIX "%d@GOTOFF\n", value);
#if TARGET_MACHO #if TARGET_MACHO
else if (TARGET_MACHO) else if (TARGET_MACHO)
{ {
fprintf (file, "%s%s%d-", ASM_LONG, LPREFIX, value); fprintf (file, ASM_LONG LPREFIX "%d-", value);
machopic_output_function_base_name (file); machopic_output_function_base_name (file);
fprintf(file, "\n"); putc ('\n', file);
} }
#endif #endif
else else
asm_fprintf (file, "%s%U%s+[.-%s%d]\n", asm_fprintf (file, ASM_LONG "%U%s+[.-" LPREFIX "%d]\n",
ASM_LONG, GOT_SYMBOL_NAME, LPREFIX, value); GOT_SYMBOL_NAME, value);
} }
/* Generate either "mov $0, reg" or "xor reg, reg", as appropriate /* Generate either "mov $0, reg" or "xor reg, reg", as appropriate
...@@ -27105,17 +27105,17 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub) ...@@ -27105,17 +27105,17 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub)
if (MACHOPIC_PURE) if (MACHOPIC_PURE)
{ {
fprintf (file, "\tlea\t%s-LPC$%d(%%eax),%%eax\n", lazy_ptr_name, label); fprintf (file, "\tlea\t%s-LPC$%d(%%eax),%%eax\n", lazy_ptr_name, label);
fprintf (file, "\tpushl\t%%eax\n"); fputs ("\tpushl\t%eax\n", file);
} }
else else
fprintf (file, "\tpushl\t$%s\n", lazy_ptr_name); fprintf (file, "\tpushl\t$%s\n", lazy_ptr_name);
fprintf (file, "\tjmp\tdyld_stub_binding_helper\n"); fputs ("\tjmp\tdyld_stub_binding_helper\n", file);
switch_to_section (darwin_sections[machopic_lazy_symbol_ptr_section]); switch_to_section (darwin_sections[machopic_lazy_symbol_ptr_section]);
fprintf (file, "%s:\n", lazy_ptr_name); fprintf (file, "%s:\n", lazy_ptr_name);
fprintf (file, "\t.indirect_symbol %s\n", symbol_name); fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
fprintf (file, "\t.long %s\n", binder_name); fprintf (file, ASM_LONG "%s\n", binder_name);
} }
void void
...@@ -27512,29 +27512,29 @@ x86_function_profiler (FILE *file, int labelno ATTRIBUTE_UNUSED) ...@@ -27512,29 +27512,29 @@ x86_function_profiler (FILE *file, int labelno ATTRIBUTE_UNUSED)
if (TARGET_64BIT) if (TARGET_64BIT)
{ {
#ifndef NO_PROFILE_COUNTERS #ifndef NO_PROFILE_COUNTERS
fprintf (file, "\tleaq\t%sP%d@(%%rip),%%r11\n", LPREFIX, labelno); fprintf (file, "\tleaq\t" LPREFIX "P%d@(%%rip),%%r11\n", labelno);
#endif #endif
if (DEFAULT_ABI == SYSV_ABI && flag_pic) if (DEFAULT_ABI == SYSV_ABI && flag_pic)
fprintf (file, "\tcall\t*%s@GOTPCREL(%%rip)\n", MCOUNT_NAME); fputs ("\tcall\t*" MCOUNT_NAME "@GOTPCREL(%rip)\n", file);
else else
fprintf (file, "\tcall\t%s\n", MCOUNT_NAME); fputs ("\tcall\t" MCOUNT_NAME "\n", file);
} }
else if (flag_pic) else if (flag_pic)
{ {
#ifndef NO_PROFILE_COUNTERS #ifndef NO_PROFILE_COUNTERS
fprintf (file, "\tleal\t%sP%d@GOTOFF(%%ebx),%%%s\n", fprintf (file, "\tleal\t" LPREFIX "P%d@GOTOFF(%%ebx),%%" PROFILE_COUNT_REGISTER "\n",
LPREFIX, labelno, PROFILE_COUNT_REGISTER); labelno);
#endif #endif
fprintf (file, "\tcall\t*%s@GOT(%%ebx)\n", MCOUNT_NAME); fputs ("\tcall\t*" MCOUNT_NAME "@GOT(%ebx)\n", file);
} }
else else
{ {
#ifndef NO_PROFILE_COUNTERS #ifndef NO_PROFILE_COUNTERS
fprintf (file, "\tmovl\t$%sP%d,%%%s\n", LPREFIX, labelno, fprintf (file, "\tmovl\t$" LPREFIX "P%d,%%" PROFILE_COUNT_REGISTER "\n",
PROFILE_COUNT_REGISTER); labelno);
#endif #endif
fprintf (file, "\tcall\t%s\n", MCOUNT_NAME); fputs ("\tcall\t" MCOUNT_NAME "\n", file);
} }
} }
......
...@@ -2958,9 +2958,7 @@ ...@@ -2958,9 +2958,7 @@
(match_dup 2) (match_dup 2)
(parallel [(const_int 0) (const_int 1)]))))] (parallel [(const_int 0) (const_int 1)]))))]
"TARGET_SSE2" "TARGET_SSE2"
{ "operands[2] = gen_reg_rtx (V4SImode);")
operands[2] = gen_reg_rtx (V4SImode);
})
(define_expand "vec_unpacks_float_lo_v4si" (define_expand "vec_unpacks_float_lo_v4si"
[(set (match_operand:V2DF 0 "register_operand" "") [(set (match_operand:V2DF 0 "register_operand" "")
......
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