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]

ppc: spe varargs fix


Now that we have single element vectors, passing a vararg V1DI should
go split into 2 SI's not into 2 DI's.

Committed to mainline.

2002-10-16  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
	SI.


Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.390
diff -c -p -r1.390 rs6000.c
*** config/rs6000/rs6000.c	9 Oct 2002 15:54:55 -0000	1.390
--- config/rs6000/rs6000.c	16 Oct 2002 23:06:15 -0000
*************** function_arg (cum, mode, type, named)
*** 3163,3168 ****
--- 3163,3171 ----
  		  rtx r1, r2;
  		  enum machine_mode m = GET_MODE_INNER (mode);
  
+ 		  if (mode == V1DImode)
+ 		    m = SImode;
+ 
  		  r1 = gen_rtx_REG (m, gregno);
  		  r1 = gen_rtx_EXPR_LIST (m, r1, const0_rtx);
  		  r2 = gen_rtx_REG (m, gregno + 1);


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