Commit e61c6562 by Uros Bizjak

bsd.h (ASM_BYTE): New define.

	* config/i386/bsd.h (ASM_BYTE): New define.
	* config/i386/darwin.h (ASM_BYTE): Rename from ASM_BYTE_OP.
	* config/i386/att.h (ASM_BYTE): New define. Use ASM_BYTE instead of
	.byte.  Use fputs or putc instead of fprintf where appropriate.
	* config/i386/i386-interix.h: Use ASM_BYTE instead of .byte.  Use
	fputs or putc instead of fprintf where appropriate.
	* config/i386/i386elf.h: Ditto.
	* config/i386/sysv4.h: Ditto.
	
	* config/i386/i386.c (TARGET_ASM_BYTE_OP): New define.
	* config/i386/i386.md (x86_sahf_1): Use ASM_BYTE instead of .byte.
	(*tls_global_dynamic_64): Ditto.

From-SVN: r150315
parent ea2002ba
2009-07-31 Uros Bizjak <ubizjak@gmail.com>
* config/i386/bsd.h (ASM_BYTE): New define.
* config/i386/darwin.h (ASM_BYTE): Rename from ASM_BYTE_OP.
* config/i386/att.h (ASM_BYTE): New define. Use ASM_BYTE instead of
.byte. Use fputs or putc instead of fprintf where appropriate.
* config/i386/i386-interix.h: Use ASM_BYTE instead of .byte. Use
fputs or putc instead of fprintf where appropriate.
* config/i386/i386elf.h: Ditto.
* config/i386/sysv4.h: Ditto.
* config/i386/i386.c (TARGET_ASM_BYTE_OP): New define.
* config/i386/i386.md (x86_sahf_1): Use ASM_BYTE instead of .byte.
(*tls_global_dynamic_64): Ditto.
2009-07-31 Christian Bruel <christian.bruel@st.com> 2009-07-31 Christian Bruel <christian.bruel@st.com>
* gcc/config.gcc (sh*-*-elf): test with_libgloss. * gcc/config.gcc (sh*-*-elf): test with_libgloss.
...@@ -223,8 +238,7 @@ ...@@ -223,8 +238,7 @@
(vector_copysign<mode>3): Ditto. (vector_copysign<mode>3): Ditto.
* config/rs6000/predicates.md (easy_vector_constant_msb): New * config/rs6000/predicates.md (easy_vector_constant_msb): New
predicate for setting the high bit in each word, used for predicate for setting the high bit in each word, used for copysign.
copysign.
* config/rs6000/ppc-asm.h (f19): Whitespace. * config/rs6000/ppc-asm.h (f19): Whitespace.
(f32-f63): Define if VSX. (f32-f63): Define if VSX.
...@@ -236,8 +250,7 @@ ...@@ -236,8 +250,7 @@
* config/rs6000/power7.md: New file, provide tuning parameters for * config/rs6000/power7.md: New file, provide tuning parameters for
-mcpu=power7. -mcpu=power7.
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Add VSX * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Add VSX support.
support.
(rs6000_cpu_cpp_builtins): Ditto. (rs6000_cpu_cpp_builtins): Ditto.
(altivec_overloaded_builtins): Ditto. (altivec_overloaded_builtins): Ditto.
(altivec_resolve_overloaded_builtin): Ditto. (altivec_resolve_overloaded_builtin): Ditto.
...@@ -288,8 +301,7 @@ ...@@ -288,8 +301,7 @@
splitter for vectorizing copysign. splitter for vectorizing copysign.
(altivec_vrfiz): Rename from altivec_fturncv4sf2. Add support for (altivec_vrfiz): Rename from altivec_fturncv4sf2. Add support for
vectorizing simple math functions. vectorizing simple math functions.
(altivec_vrfip): Add support for vectorizing simple math (altivec_vrfip): Add support for vectorizing simple math functions.
functions.
(altivec_vrfim): Ditto. (altivec_vrfim): Ditto.
(altivec_copysign_v4sf3): New insn for Altivec copysign support. (altivec_copysign_v4sf3): New insn for Altivec copysign support.
...@@ -337,9 +349,8 @@ ...@@ -337,9 +349,8 @@
(vec_nearbyint): Ditto. (vec_nearbyint): Ditto.
(vec_rint): Ditto. (vec_rint): Ditto.
(vec_sqrt): Ditto. (vec_sqrt): Ditto.
(all predicates): Use the generic builtin function, and not the (all predicates): Use the generic builtin function, and not the V4SF
V4SF specific function so that the predicates will work with specific function so that the predicates will work with VSX's V2DF.
VSX's V2DF.
(vec_all_*): Ditto. (vec_all_*): Ditto.
(vec_any_*): Ditto. (vec_any_*): Ditto.
......
...@@ -31,6 +31,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -31,6 +31,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Assembler pseudos to introduce constants of various size. */ /* Assembler pseudos to introduce constants of various size. */
#define ASM_BYTE "\t.byte\t"
#define ASM_SHORT "\t.value\t" #define ASM_SHORT "\t.value\t"
#define ASM_LONG "\t.long\t" #define ASM_LONG "\t.long\t"
#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */ #define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */
...@@ -43,7 +44,7 @@ do \ ...@@ -43,7 +44,7 @@ do \
{ size_t i = 0, limit = (SIZE); \ { size_t i = 0, limit = (SIZE); \
while (i < limit) \ while (i < limit) \
{ if (i%10 == 0) { if (i!=0) putc ('\n', (FILE)); \ { if (i%10 == 0) { if (i!=0) putc ('\n', (FILE)); \
fputs ("\t.byte\t", (FILE)); } \ fputs (ASM_BYTE, (FILE)); } \
else putc (',', (FILE)); \ else putc (',', (FILE)); \
fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;} \ fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;} \
putc ('\n', (FILE)); \ putc ('\n', (FILE)); \
......
...@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see
/* Assembler pseudos to introduce constants of various size. */ /* Assembler pseudos to introduce constants of various size. */
#define ASM_BYTE "\t.byte\t"
#define ASM_SHORT "\t.word\t" #define ASM_SHORT "\t.word\t"
#define ASM_LONG "\t.long\t" #define ASM_LONG "\t.long\t"
#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */ #define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */
......
...@@ -189,7 +189,7 @@ extern void darwin_x86_file_end (void); ...@@ -189,7 +189,7 @@ extern void darwin_x86_file_end (void);
/* Assembler pseudos to introduce constants of various size. */ /* Assembler pseudos to introduce constants of various size. */
#define ASM_BYTE_OP "\t.byte\t" #define ASM_BYTE "\t.byte\t"
#define ASM_SHORT "\t.word\t" #define ASM_SHORT "\t.word\t"
#define ASM_LONG "\t.long\t" #define ASM_LONG "\t.long\t"
#define ASM_QUAD "\t.quad\t" #define ASM_QUAD "\t.quad\t"
......
...@@ -209,7 +209,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -209,7 +209,7 @@ along with GCC; see the file COPYING3. If not see
else \ else \
{ \ { \
if (bytes_in_chunk == 0) \ if (bytes_in_chunk == 0) \
fprintf ((FILE), "\t.byte\t"); \ fputs (ASM_BYTE, (FILE)); \
else \ else \
fputc (',', (FILE)); \ fputc (',', (FILE)); \
fprintf ((FILE), "0x%02x", *_ascii_bytes); \ fprintf ((FILE), "0x%02x", *_ascii_bytes); \
...@@ -217,7 +217,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -217,7 +217,7 @@ along with GCC; see the file COPYING3. If not see
} \ } \
} \ } \
if (bytes_in_chunk > 0) \ if (bytes_in_chunk > 0) \
fprintf ((FILE), "\n"); \ fputc ('\n', (FILE)); \
} \ } \
while (0) while (0)
...@@ -277,11 +277,11 @@ do { \ ...@@ -277,11 +277,11 @@ do { \
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ #define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
do \ do \
{ \ { \
fprintf ((FILE), "%s", SET_ASM_OP); \ fputs (SET_ASM_OP, (FILE)); \
assemble_name (FILE, LABEL1); \ assemble_name (FILE, LABEL1); \
fprintf (FILE, ","); \ fputc (',', (FILE)); \
assemble_name (FILE, LABEL2); \ assemble_name (FILE, LABEL2); \
fprintf (FILE, "\n"); \ fputc ('\n', (FILE)); \
} \ } \
while (0) while (0)
...@@ -359,4 +359,4 @@ extern void i386_pe_unique_section (tree, int); ...@@ -359,4 +359,4 @@ extern void i386_pe_unique_section (tree, int);
#define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \ #define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \
(TYPE_MODE (TYPE) == BLKmode \ (TYPE_MODE (TYPE) == BLKmode \
|| (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes (TYPE) > 8 )) || (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes (TYPE) > 8 ))
\ No newline at end of file
...@@ -30491,6 +30491,9 @@ ix86_enum_va_list (int idx, const char **pname, tree *ptree) ...@@ -30491,6 +30491,9 @@ ix86_enum_va_list (int idx, const char **pname, tree *ptree)
#undef TARGET_ASM_CLOSE_PAREN #undef TARGET_ASM_CLOSE_PAREN
#define TARGET_ASM_CLOSE_PAREN "" #define TARGET_ASM_CLOSE_PAREN ""
#undef TARGET_ASM_BYTE_OP
#define TARGET_ASM_BYTE_OP ASM_BYTE
#undef TARGET_ASM_ALIGNED_HI_OP #undef TARGET_ASM_ALIGNED_HI_OP
#define TARGET_ASM_ALIGNED_HI_OP ASM_SHORT #define TARGET_ASM_ALIGNED_HI_OP ASM_SHORT
#undef TARGET_ASM_ALIGNED_SI_OP #undef TARGET_ASM_ALIGNED_SI_OP
......
...@@ -1555,7 +1555,7 @@ ...@@ -1555,7 +1555,7 @@
#ifdef HAVE_AS_IX86_SAHF #ifdef HAVE_AS_IX86_SAHF
return "sahf"; return "sahf";
#else #else
return ".byte\t0x9e"; return ASM_BYTE "0x9e";
#endif #endif
} }
[(set_attr "length" "1") [(set_attr "length" "1")
...@@ -16473,7 +16473,7 @@ ...@@ -16473,7 +16473,7 @@
(unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")] (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")]
UNSPEC_TLS_GD)] UNSPEC_TLS_GD)]
"TARGET_64BIT" "TARGET_64BIT"
{ return ".byte\t0x66\n\tlea{q}\t{%a1@TLSGD(%%rip), %%rdi|rdi, %a1@TLSGD[rip]}\n" ASM_SHORT "0x6666\n\trex64\n\tcall\t%P2"; } { return ASM_BYTE "0x66\n\tlea{q}\t{%a1@TLSGD(%%rip), %%rdi|rdi, %a1@TLSGD[rip]}\n" ASM_SHORT "0x6666\n\trex64\n\tcall\t%P2"; }
[(set_attr "type" "multi") [(set_attr "type" "multi")
(set_attr "length" "16")]) (set_attr "length" "16")])
......
...@@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. If not see
const unsigned char *limit = _ascii_bytes + (LENGTH); \ const unsigned char *limit = _ascii_bytes + (LENGTH); \
unsigned bytes_in_chunk = 0; \ unsigned bytes_in_chunk = 0; \
for (; _ascii_bytes < limit; _ascii_bytes++) \ for (; _ascii_bytes < limit; _ascii_bytes++) \
{ \ { \
const unsigned char *p; \ const unsigned char *p; \
if (bytes_in_chunk >= 64) \ if (bytes_in_chunk >= 64) \
{ \ { \
...@@ -85,7 +85,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -85,7 +85,7 @@ along with GCC; see the file COPYING3. If not see
else \ else \
{ \ { \
if (bytes_in_chunk == 0) \ if (bytes_in_chunk == 0) \
fprintf ((FILE), "\t.byte\t"); \ fputs (ASM_BYTE, (FILE)); \
else \ else \
fputc (',', (FILE)); \ fputc (',', (FILE)); \
fprintf ((FILE), "0x%02x", *_ascii_bytes); \ fprintf ((FILE), "0x%02x", *_ascii_bytes); \
...@@ -93,7 +93,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -93,7 +93,7 @@ along with GCC; see the file COPYING3. If not see
} \ } \
} \ } \
if (bytes_in_chunk > 0) \ if (bytes_in_chunk > 0) \
fprintf ((FILE), "\n"); \ fputc ('\n', (FILE)); \
} \ } \
while (0) while (0)
......
...@@ -55,7 +55,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -55,7 +55,7 @@ along with GCC; see the file COPYING3. If not see
const unsigned char *limit = _ascii_bytes + (LENGTH); \ const unsigned char *limit = _ascii_bytes + (LENGTH); \
unsigned bytes_in_chunk = 0; \ unsigned bytes_in_chunk = 0; \
for (; _ascii_bytes < limit; _ascii_bytes++) \ for (; _ascii_bytes < limit; _ascii_bytes++) \
{ \ { \
const unsigned char *p; \ const unsigned char *p; \
if (bytes_in_chunk >= 64) \ if (bytes_in_chunk >= 64) \
{ \ { \
...@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3. If not see
else \ else \
{ \ { \
if (bytes_in_chunk == 0) \ if (bytes_in_chunk == 0) \
fprintf ((FILE), "\t.byte\t"); \ fputs (ASM_BYTE, (FILE)); \
else \ else \
fputc (',', (FILE)); \ fputc (',', (FILE)); \
fprintf ((FILE), "0x%02x", *_ascii_bytes); \ fprintf ((FILE), "0x%02x", *_ascii_bytes); \
...@@ -85,7 +85,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -85,7 +85,7 @@ along with GCC; see the file COPYING3. If not see
} \ } \
} \ } \
if (bytes_in_chunk > 0) \ if (bytes_in_chunk > 0) \
fprintf ((FILE), "\n"); \ fputc ('\n', (FILE)); \
} \ } \
while (0) while (0)
...@@ -103,10 +103,10 @@ along with GCC; see the file COPYING3. If not see ...@@ -103,10 +103,10 @@ along with GCC; see the file COPYING3. If not see
do { \ do { \
if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \ if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \
{ \ { \
fputs (ASM_LONG, FILE); \ fputs (ASM_LONG, (FILE)); \
assemble_name (FILE, XSTR (ADDR, 0)); \ assemble_name (FILE, XSTR (ADDR, 0)); \
fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \ fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), (FILE)); \
goto DONE; \ goto DONE; \
} \ } \
} while (0) } while (0)
......
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