This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch: x86 generic simd fixlet


On Tue, Jul 08, 2003 at 05:31:46PM -0700, Richard Henderson wrote:
> On Tue, Jul 08, 2003 at 08:29:08PM -0400, Aldy Hernandez wrote:
> > Yeah sure, with SSE the arguments may go in SIMD registers.  Without
> > it, they go in GPRs.  Completely different ABIs ;-).
> 
> Um, no.  The bit you're changing is checking for alignment 
> on the stack.  The x86 abi uses *no* SSE registers for passing
> parameters.  The amd64 abi does; don't confuse the two.

Aight.  As discussed on irc, here is a patch removing the abort.

Tested on x86 linux.

Ok?

2003-07-08  Aldy Hernandez  <aldyh@redhat.com>

	PR/11144
	* config/i386/i386.c (ix86_function_arg_boundary): Remove abort.

Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.587
diff -c -p -r1.587 i386.c
*** config/i386/i386.c	8 Jul 2003 18:01:46 -0000	1.587
--- config/i386/i386.c	9 Jul 2003 00:52:08 -0000
*************** contains_128bit_aligned_vector_p (tree t
*** 2610,2617 ****
    return false;
  }
  
! /* Gives the alignment boundary, in bits, of an argument with the specified mode
!    and type.   */
  
  int
  ix86_function_arg_boundary (enum machine_mode mode, tree type)
--- 2610,2617 ----
    return false;
  }
  
! /* Gives the alignment boundary, in bits, of an argument with the
!    specified mode and type.  */
  
  int
  ix86_function_arg_boundary (enum machine_mode mode, tree type)
*************** ix86_function_arg_boundary (enum machine
*** 2642,2649 ****
  	  if (!contains_128bit_aligned_vector_p (type))
  	    align = PARM_BOUNDARY;
  	}
-       if (align != PARM_BOUNDARY && !TARGET_SSE)
- 	abort();
      }
    if (align > 128)
      align = 128;
--- 2642,2647 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]