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.

Reply via email to