This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
sh le fp arg passing
- From: mike stump <mrs at windriver dot com>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 23 Apr 2002 19:52:50 -0700 (PDT)
- Subject: sh le fp arg passing
So, I have a question... Why do this:
Excerpt from cvs log gcc/config/sh/sh.h:
revision 1.23
date: 1998/11/23 08:50:40; author: amylaar; state: Exp; lines: +314 -73
Add SH4 support:
...
(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
Excerpt from cvs diff -u -r1.22 -r1.23 sh.h:
@@ -883,7 +1039,9 @@
((PASS_IN_REG_P ((CUM), (MODE), (TYPE)) \
&& ((NAMED) || TARGET_SH3E || ! current_function_varargs)) \
? gen_rtx (REG, (MODE), \
- (BASE_ARG_REG (MODE) + ROUND_REG ((CUM), (MODE)))) \
+ ((BASE_ARG_REG (MODE) + ROUND_REG ((CUM), (MODE))) \
+ ^ ((MODE) == SFmode && TARGET_SH4 \
+ && TARGET_LITTLE_ENDIAN != 0))) \
: 0)
is it compelling? Do we really want to do this? Why? Ignorant minds
want to know!