]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.c (rs6000_complex_function_value): Unpack complex numbers <= 32 bits into...
authorAldy Hernandez <aldyh@redhat.com>
Wed, 4 Jun 2003 17:41:06 +0000 (17:41 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 4 Jun 2003 17:41:06 +0000 (17:41 +0000)
2003-06-04  Aldy Hernandez  <aldyh@redhat.com>

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

From-SVN: r67454

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 7de4ca482bd1805097cab0b84c3101c3b6abaf20..a72e6c2759897ae4b08267a90282a86d3374e2e5 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
+        complex numbers <= 32 bits into two registers.
+
 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * alpha.c (print_operand_address): Fix format specifier warnings.
index d37014f0a5d0598f169c50da8f541c1b9735fa95..5d0c7fcc3e2fb0bb57e76d507035e28ef68ba08e 100644 (file)
@@ -14452,7 +14452,8 @@ rs6000_complex_function_value (enum machine_mode mode)
       regno = GP_ARG_RETURN;
 
       /* 32-bit is OK since it'll go in r3/r4.  */
-      if (TARGET_32BIT)
+      if (TARGET_32BIT
+         && GET_MODE_BITSIZE (inner) >= 32)
        return gen_rtx_REG (mode, regno);
     }