http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58944
Sriraman Tallam <tmsriram at google dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bernd.edlinger at hotmail dot
de
--- Comment #5 from Sriraman Tallam <tmsriram at google dot com> ---
This also seems similar to the -mpreferred-stack-boundary issue that Bernd
reported recently. Cut and paste from that email:
############################
Currently on trunk the option -mpreferred-stack-boundary does not work
together with #pragma GCC target("sse") or __attribute__((target("sse"))).
There is already a test case that detects this:
gcc.target/i386/fastcall-sseregparm.c
Index: gcc/config/i386/i386.c
===================================================================
--- gcc/config/i386/i386.c (revision 204101)
+++ gcc/config/i386/i386.c (working copy)
@@ -4626,6 +4626,9 @@ ix86_valid_target_attribute_p (tree fndecl,
memset (&func_options, 0, sizeof (func_options));
init_options_struct (&func_options, NULL);
lang_hooks.init_options_struct (&func_options);
+ if (global_options_set.x_ix86_preferred_stack_boundary_arg)
+ func_options.x_ix86_preferred_stack_boundary_arg
+ = global_options.x_ix86_preferred_stack_boundary_arg;
cl_optimization_restore (&func_options,
TREE_OPTIMIZATION (func_optimize));
####################
I will fix these generically by adding more fields to cl_target_option and
restoring from there.