i386.c (classify_argument): Handle SET_TYPE.

2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>

	* config/i386/i386.c (classify_argument): Handle SET_TYPE.

[[Split portion of a mixed commit.]]

From-SVN: r72838.2
This commit is contained in:
Waldek Hebisch 2003-10-23 10:03:13 +02:00 committed by Andreas Jaeger
parent 4b5aa8815e
commit 448ec26cf7
2 changed files with 30 additions and 1 deletions

View File

@ -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.

View File

@ -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 ();