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: split complex arguments (heads up)



/* 32-bit is OK since it'll go in r3/r4. */ ! if (TARGET_32BIT ! && GET_MODE_BITSIZE (mode) > 32) return gen_rtx_REG (mode, regno); }


Crap, that should be "GET_MODE_BITSIZE (**INNER**) > 32".


It's way too late to have started working at 6am. I'm done for the day.

If this one ain't right, I'll fix it tomorrow.

2003-06-03 Aldy Hernandez <aldyh@redhat.com>

	* config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
	complex numbers <= 32 bits into two registers.

Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.482
diff -c -p -r1.482 rs6000.c
*** config/rs6000/rs6000.c	3 Jun 2003 11:14:06 -0000	1.482
--- config/rs6000/rs6000.c	4 Jun 2003 00:04:42 -0000
*************** rs6000_complex_function_value (enum mach
*** 14378,14384 ****
        regno = GP_ARG_RETURN;

        /* 32-bit is OK since it'll go in r3/r4.  */
!       if (TARGET_32BIT)
  	return gen_rtx_REG (mode, regno);
      }

--- 14378,14385 ----
        regno = GP_ARG_RETURN;

        /* 32-bit is OK since it'll go in r3/r4.  */
!       if (TARGET_32BIT
! 	  && GET_MODE_BITSIZE (inner) > 32)
  	return gen_rtx_REG (mode, regno);
      }


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