(FUNCTION_ARG): Pass complex float in float regs.
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 25 Dec 1993 14:02:34 +0000 (09:02 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 25 Dec 1993 14:02:34 +0000 (09:02 -0500)
From-SVN: r6314

gcc/config/alpha/alpha.h

index 54c41f1..41eab5d 100644 (file)
@@ -783,8 +783,11 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
 #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED)   \
 ((CUM) < 6 && ! MUST_PASS_IN_STACK (MODE, TYPE)        \
  ? gen_rtx(REG, (MODE),                                \
-          (CUM) + 16 + (TARGET_FPREGS          \
-                        && GET_MODE_CLASS (MODE) == MODE_FLOAT) * 32) : 0)
+          (CUM) + 16 + ((TARGET_FPREGS         \
+                         && (GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT  \
+                             || GET_MODE_CLASS (MODE) == MODE_FLOAT)) \
+                        * 32))                 \
+ : 0)
 
 /* Specify the padding direction of arguments.