aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-12-25 09:02:34 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-12-25 09:02:34 -0500
commit14d4a67a3239f8bd5ec0d1b327e6c3118cc5ce74 (patch)
tree78df39e4c824b197e4acdfc34b8b1a4473e679c4 /gcc
parent95aa28ae18da65f97b45e1fe45dadff7fd352179 (diff)
downloadgcc-14d4a67a3239f8bd5ec0d1b327e6c3118cc5ce74.zip
gcc-14d4a67a3239f8bd5ec0d1b327e6c3118cc5ce74.tar.gz
gcc-14d4a67a3239f8bd5ec0d1b327e6c3118cc5ce74.tar.bz2
(FUNCTION_ARG): Pass complex float in float regs.
From-SVN: r6314
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/alpha.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 54c41f1..41eab5d 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -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.