These patches add support for #pragma GCC target("...") on the powerpc to change the default macros defined like tha x86 does (and the powerpc did for the target attribute). When adding support for changing macros on the target attribute, I forgot to enable the code for #pragma as well.
Also, the recip-5.c test has been failing on systems that don't support VSX, such as Darwin. The test itself should not have been run on those system, as I forgot to add the standard lines for VSX patches to the test. In addition, when reporting the bug, the compiler segfaulted. This was due to the expand builtin function returning NULL or const0_rtx (depending on the error), and the higher level code was not expecting NULL. For this case, I did a normal expand_call operation. I did make boostrap and there were no regressions. Is it ok to install these patches? [gcc] 2011-12-08 Michael Meissner <meiss...@the-meissners.org> * config/rs6000/rs6000.c (altivec_expand_builtin): Call expand_call to return a valid funciton instead of return cosnt0_rtx/NULL_RTX if there was an error with the builtin. (altivec_expand_ld_builtin): Ditto. (rs6000_inner_target_options): If VSX is selected as a target attribute or pragma, enable ALTIVEC also. (rs6000_pragma_target_parse): Call rs6000_option_override_internal to do all of the standard processing when switching options, including redefining appropriate macros. [gcc/testsuite] 2011-12-08 Michael Meissner <meiss...@the-meissners.org> * gcc.target/powerpc/recip-5.c: Disable running on any system that does not support VSX. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899