diff options
author | Andreas Jaeger <aj@suse.de> | 2003-10-23 08:03:13 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2003-10-23 08:03:13 +0000 |
commit | e0f55604fa960f4929eab84a644b24461f5e8f84 (patch) | |
tree | 3ef9b0ddadb1e1b58a572d2d811d7aa9bfe2b789 | |
parent | ed1e9ddc5173984472bd2bfbdd407b81a300b300 (diff) |
2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
* config/i386/i386.c (classify_argument): Handle SET_TYPE.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@72838 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 25 |
2 files changed, 30 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f00fc44ae8..1bf13c0e796 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl> + + * config/i386/i386.c (classify_argument): Handle SET_TYPE. + 2003-10-22 Chris Demetriou <cgd@broadcom.com> * configure.in: In --enable-generated-files-in-srcdir option @@ -186,7 +190,7 @@ * tree.c (build1): Fix off-by-one error. -2003-09-28 Robert Millan <robertmh@gnu.org> +2003-10-21 Robert Millan <robertmh@gnu.org> * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions. * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index cfdc7d28951..a8b2ea7673b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2080,6 +2080,31 @@ classify_argument (enum machine_mode mode, tree type, } } } + else if (TREE_CODE (type) == SET_TYPE) + { + if (bytes <= 4) + { + classes[0] = X86_64_INTEGERSI_CLASS; + return 1; + } + else if (bytes <= 8) + { + classes[0] = X86_64_INTEGER_CLASS; + return 1; + } + else if (bytes <= 12) + { + classes[0] = X86_64_INTEGER_CLASS; + classes[1] = X86_64_INTEGERSI_CLASS; + return 2; + } + else + { + classes[0] = X86_64_INTEGER_CLASS; + classes[1] = X86_64_INTEGER_CLASS; + return 2; + } + } else abort (); |