comparison gcc/config/rs6000/sysv4.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children f6334be47118
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
57 && flag_pic > 1) \ 57 && flag_pic > 1) \
58 || DEFAULT_ABI == ABI_AIX) 58 || DEFAULT_ABI == ABI_AIX)
59 59
60 #define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE) 60 #define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE)
61 #define TARGET_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN) 61 #define TARGET_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
62 #define TARGET_PROTOTYPE target_prototype
62 #define TARGET_NO_PROTOTYPE (! TARGET_PROTOTYPE) 63 #define TARGET_NO_PROTOTYPE (! TARGET_PROTOTYPE)
63 #define TARGET_NO_TOC (! TARGET_TOC) 64 #define TARGET_NO_TOC (! TARGET_TOC)
64 #define TARGET_NO_EABI (! TARGET_EABI) 65 #define TARGET_NO_EABI (! TARGET_EABI)
66 #define TARGET_REGNAMES rs6000_regnames
65 67
66 #ifdef HAVE_AS_REL16 68 #ifdef HAVE_AS_REL16
67 #undef TARGET_SECURE_PLT 69 #undef TARGET_SECURE_PLT
68 #define TARGET_SECURE_PLT secure_plt 70 #define TARGET_SECURE_PLT secure_plt
69 #endif 71 #endif
122 else if (!strcmp (rs6000_abi_name, "openbsd")) \ 124 else if (!strcmp (rs6000_abi_name, "openbsd")) \
123 rs6000_current_abi = ABI_V4; \ 125 rs6000_current_abi = ABI_V4; \
124 else if (!strcmp (rs6000_abi_name, "i960-old")) \ 126 else if (!strcmp (rs6000_abi_name, "i960-old")) \
125 { \ 127 { \
126 rs6000_current_abi = ABI_V4; \ 128 rs6000_current_abi = ABI_V4; \
127 target_flags |= (MASK_LITTLE_ENDIAN | MASK_EABI \ 129 target_flags |= (MASK_LITTLE_ENDIAN | MASK_EABI); \
128 | MASK_NO_BITFIELD_WORD); \
129 target_flags &= ~MASK_STRICT_ALIGN; \ 130 target_flags &= ~MASK_STRICT_ALIGN; \
131 TARGET_NO_BITFIELD_WORD = 1; \
130 } \ 132 } \
131 else \ 133 else \
132 { \ 134 { \
133 rs6000_current_abi = ABI_V4; \ 135 rs6000_current_abi = ABI_V4; \
134 error ("bad value for -mcall-%s", rs6000_abi_name); \ 136 error ("bad value for -mcall-%s", rs6000_abi_name); \
269 #else 271 #else
270 #define LIBGCC2_WORDS_BIG_ENDIAN 0 272 #define LIBGCC2_WORDS_BIG_ENDIAN 0
271 #endif 273 #endif
272 274
273 /* Define cutoff for using external functions to save floating point. 275 /* Define cutoff for using external functions to save floating point.
274 Currently on 64-bit V.4, always use inline stores. When optimizing 276 When optimizing for size, use external functions when profitable. */
275 for size on 32-bit targets, use external functions when 277 #define FP_SAVE_INLINE(FIRST_REG) (optimize_size \
276 profitable. */
277 #define FP_SAVE_INLINE(FIRST_REG) (optimize_size && !TARGET_64BIT \
278 ? ((FIRST_REG) == 62 \ 278 ? ((FIRST_REG) == 62 \
279 || (FIRST_REG) == 63) \ 279 || (FIRST_REG) == 63) \
280 : (FIRST_REG) < 64) 280 : (FIRST_REG) < 64)
281 /* And similarly for general purpose registers. */ 281 /* And similarly for general purpose registers. */
282 #define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \ 282 #define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
283 && (TARGET_64BIT || !optimize_size)) 283 && !optimize_size)
284 284
285 /* Put jump tables in read-only memory, rather than in .text. */ 285 /* Put jump tables in read-only memory, rather than in .text. */
286 #define JUMP_TABLES_IN_TEXT_SECTION 0 286 #define JUMP_TABLES_IN_TEXT_SECTION 0
287 287
288 /* Prefix and suffix to use to saving floating point. */ 288 /* Prefix and suffix to use to saving floating point. */
289 #define SAVE_FP_PREFIX "_savefpr_" 289 #define SAVE_FP_PREFIX "_savefpr_"
290 #define SAVE_FP_SUFFIX (TARGET_64BIT ? "_l" : "") 290 #define SAVE_FP_SUFFIX ""
291 291
292 /* Prefix and suffix to use to restoring floating point. */ 292 /* Prefix and suffix to use to restoring floating point. */
293 #define RESTORE_FP_PREFIX "_restfpr_" 293 #define RESTORE_FP_PREFIX "_restfpr_"
294 #define RESTORE_FP_SUFFIX (TARGET_64BIT ? "_l" : "") 294 #define RESTORE_FP_SUFFIX ""
295 295
296 /* Type used for ptrdiff_t, as a string used in a declaration. */ 296 /* Type used for ptrdiff_t, as a string used in a declaration. */
297 #define PTRDIFF_TYPE "int" 297 #define PTRDIFF_TYPE "int"
298 298
299 /* Type used for wchar_t, as a string used in a declaration. */ 299 /* Type used for wchar_t, as a string used in a declaration. */
384 /* Return nonzero if this entry is to be written into the constant pool 384 /* Return nonzero if this entry is to be written into the constant pool
385 in a special way. We do so if this is a SYMBOL_REF, LABEL_REF or a CONST 385 in a special way. We do so if this is a SYMBOL_REF, LABEL_REF or a CONST
386 containing one of them. If -mfp-in-toc (the default), we also do 386 containing one of them. If -mfp-in-toc (the default), we also do
387 this for floating-point constants. We actually can only do this 387 this for floating-point constants. We actually can only do this
388 if the FP formats of the target and host machines are the same, but 388 if the FP formats of the target and host machines are the same, but
389 we can't check that since not every file that uses 389 we can't check that since not every file that uses these target macros
390 GO_IF_LEGITIMATE_ADDRESS_P includes real.h. 390 includes real.h.
391 391
392 Unlike AIX, we don't key off of -mminimal-toc, but instead do not 392 Unlike AIX, we don't key off of -mminimal-toc, but instead do not
393 allow floating point constants in the TOC if -mrelocatable. */ 393 allow floating point constants in the TOC if -mrelocatable. */
394 394
395 #undef ASM_OUTPUT_SPECIAL_POOL_ENTRY_P 395 #undef ASM_OUTPUT_SPECIAL_POOL_ENTRY_P
591 #undef ASM_SPEC 591 #undef ASM_SPEC
592 #define ASM_SPEC "%(asm_cpu) \ 592 #define ASM_SPEC "%(asm_cpu) \
593 %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}" \ 593 %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}" \
594 SVR4_ASM_SPEC \ 594 SVR4_ASM_SPEC \
595 "%{mrelocatable} %{mrelocatable-lib} %{fpic|fpie|fPIC|fPIE:-K PIC} \ 595 "%{mrelocatable} %{mrelocatable-lib} %{fpic|fpie|fPIC|fPIE:-K PIC} \
596 %{memb|msdata|msdata=eabi: -memb} \ 596 %{memb|msdata=eabi: -memb} \
597 %{mlittle|mlittle-endian:-mlittle; \ 597 %{mlittle|mlittle-endian:-mlittle; \
598 mbig|mbig-endian :-mbig; \ 598 mbig|mbig-endian :-mbig; \
599 mcall-aixdesc | \ 599 mcall-aixdesc | \
600 mcall-freebsd | \ 600 mcall-freebsd | \
601 mcall-netbsd | \ 601 mcall-netbsd | \