mirror of git://gcc.gnu.org/git/gcc.git
rs6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined.
[gcc] 2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com> Dominique Dhumieres <dominiq@lps.ens.fr> * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined. (MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined, define this to 0 for the 3 ports that use it. * config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do check for ports not having -mstrict-align here, move test to rs6000-cpus.def. (MASK_STRICT_ALIGN): Likewise. (rs6000_debug_reg_global): Print out correct target flag words if -mdebug=reg. [libobjc] 2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com> * encoding.c (TARGET_VSX): Provide definitions based on the current compilation options, and not based off the target options structure. (TARGET_ALTIVEC): Likewise. (TARGET_64BIT): Likewise. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r192623
This commit is contained in:
parent
704fc8502f
commit
ad1a0853e6
|
|
@ -1,3 +1,18 @@
|
||||||
|
2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||||||
|
Dominique Dhumieres <dominiq@lps.ens.fr>
|
||||||
|
|
||||||
|
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
|
||||||
|
OPTION_MASK_STRICT_ALIGN is defined.
|
||||||
|
(MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
|
||||||
|
define this to 0 for the 3 ports that use it.
|
||||||
|
|
||||||
|
* config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
|
||||||
|
check for ports not having -mstrict-align here, move test to
|
||||||
|
rs6000-cpus.def.
|
||||||
|
(MASK_STRICT_ALIGN): Likewise.
|
||||||
|
(rs6000_debug_reg_global): Print out correct target flag words if
|
||||||
|
-mdebug=reg.
|
||||||
|
|
||||||
2012-10-19 Marek Polacek <polacek@redhat.com>
|
2012-10-19 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
PR middle-end/54945
|
PR middle-end/54945
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,17 @@
|
||||||
|
|
||||||
#define POWERPC_7400_MASK (OPTION_MASK_PPC_GFXOPT | OPTION_MASK_ALTIVEC)
|
#define POWERPC_7400_MASK (OPTION_MASK_PPC_GFXOPT | OPTION_MASK_ALTIVEC)
|
||||||
|
|
||||||
|
/* Deal with ports that do not have -mstrict-align. */
|
||||||
|
#ifdef OPTION_MASK_STRICT_ALIGN
|
||||||
|
#define OPTION_MASK_STRICT_ALIGN_OPTIONAL OPTION_MASK_STRICT_ALIGN
|
||||||
|
#else
|
||||||
|
#define OPTION_MASK_STRICT_ALIGN 0
|
||||||
|
#define OPTION_MASK_STRICT_ALIGN_OPTIONAL 0
|
||||||
|
#ifndef MASK_STRICT_ALIGN
|
||||||
|
#define MASK_STRICT_ALIGN 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Mask of all options to set the default isa flags based on -mcpu=<xxx>. */
|
/* Mask of all options to set the default isa flags based on -mcpu=<xxx>. */
|
||||||
#define POWERPC_MASKS (OPTION_MASK_ALTIVEC \
|
#define POWERPC_MASKS (OPTION_MASK_ALTIVEC \
|
||||||
| OPTION_MASK_CMPB \
|
| OPTION_MASK_CMPB \
|
||||||
|
|
@ -64,7 +75,7 @@
|
||||||
| OPTION_MASK_PPC_GPOPT \
|
| OPTION_MASK_PPC_GPOPT \
|
||||||
| OPTION_MASK_RECIP_PRECISION \
|
| OPTION_MASK_RECIP_PRECISION \
|
||||||
| OPTION_MASK_SOFT_FLOAT \
|
| OPTION_MASK_SOFT_FLOAT \
|
||||||
| OPTION_MASK_STRICT_ALIGN \
|
| OPTION_MASK_STRICT_ALIGN_OPTIONAL \
|
||||||
| OPTION_MASK_VSX)
|
| OPTION_MASK_VSX)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1121,10 +1121,6 @@ static const struct attribute_spec rs6000_attribute_table[] =
|
||||||
{ NULL, 0, 0, false, false, false, NULL, false }
|
{ NULL, 0, 0, false, false, false, NULL, false }
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef OPTION_MASK_STRICT_ALIGN
|
|
||||||
#define OPTION_MASK_STRICT_ALIGN 0
|
|
||||||
#define MASK_STRICT_ALIGN 0
|
|
||||||
#endif
|
|
||||||
#ifndef TARGET_PROFILE_KERNEL
|
#ifndef TARGET_PROFILE_KERNEL
|
||||||
#define TARGET_PROFILE_KERNEL 0
|
#define TARGET_PROFILE_KERNEL 0
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -1805,10 +1801,11 @@ rs6000_debug_reg_global (void)
|
||||||
fprintf (stderr, DEBUG_FMT_S, "tune", "<none>");
|
fprintf (stderr, DEBUG_FMT_S, "tune", "<none>");
|
||||||
|
|
||||||
cl_target_option_save (&cl_opts, &global_options);
|
cl_target_option_save (&cl_opts, &global_options);
|
||||||
rs6000_print_isa_options (stderr, 0, "target_flags", target_flags);
|
rs6000_print_isa_options (stderr, 0, "rs6000_isa_flags",
|
||||||
|
rs6000_isa_flags);
|
||||||
|
|
||||||
rs6000_print_isa_options (stderr, 0, "target_flags_explicit",
|
rs6000_print_isa_options (stderr, 0, "rs6000_isa_flags_explicit",
|
||||||
target_flags_explicit);
|
rs6000_isa_flags_explicit);
|
||||||
|
|
||||||
rs6000_print_builtin_options (stderr, 0, "rs6000_builtin_mask",
|
rs6000_print_builtin_options (stderr, 0, "rs6000_builtin_mask",
|
||||||
rs6000_builtin_mask);
|
rs6000_builtin_mask);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,11 @@
|
||||||
|
2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* encoding.c (TARGET_VSX): Provide definitions based on the
|
||||||
|
current compilation options, and not based off the target options
|
||||||
|
structure.
|
||||||
|
(TARGET_ALTIVEC): Likewise.
|
||||||
|
(TARGET_64BIT): Likewise.
|
||||||
|
|
||||||
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
|
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
|
||||||
|
|
||||||
* configure: Regenerated.
|
* configure: Regenerated.
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,32 @@ static int __attribute__ ((__unused__)) not_target_flags = 0;
|
||||||
#undef ALTIVEC_VECTOR_MODE
|
#undef ALTIVEC_VECTOR_MODE
|
||||||
#define ALTIVEC_VECTOR_MODE(MODE) (0)
|
#define ALTIVEC_VECTOR_MODE(MODE) (0)
|
||||||
|
|
||||||
|
/* Replace TARGET_VSX, TARGET_ALTIVEC, and TARGET_64BIT with constants based on
|
||||||
|
the current switches, rather than looking in the options structure. */
|
||||||
|
#ifdef _ARCH_PPC
|
||||||
|
#undef TARGET_VSX
|
||||||
|
#undef TARGET_ALTIVEC
|
||||||
|
#undef TARGET_64BIT
|
||||||
|
|
||||||
|
#ifdef __VSX__
|
||||||
|
#define TARGET_VSX 1
|
||||||
|
#else
|
||||||
|
#define TARGET_VSX 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ALTIVEC__
|
||||||
|
#define TARGET_ALTIVEC 1
|
||||||
|
#else
|
||||||
|
#define TARGET_ALTIVEC 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _ARCH_PPC64
|
||||||
|
#define TARGET_64BIT 1
|
||||||
|
#else
|
||||||
|
#define TARGET_64BIT 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Furthermore, some (powerpc) targets also use TARGET_ALIGN_NATURAL
|
/* Furthermore, some (powerpc) targets also use TARGET_ALIGN_NATURAL
|
||||||
in their alignment macros. Currently[4.5/6], rs6000.h points this
|
in their alignment macros. Currently[4.5/6], rs6000.h points this
|
||||||
to a static variable, initialized by target overrides. This is reset
|
to a static variable, initialized by target overrides. This is reset
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue