aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2006-11-16 08:30:18 +0100
committerUros Bizjak <uros@gcc.gnu.org>2006-11-16 08:30:18 +0100
commit56829cae9cf564f26d4159f6599c045e71c0a41a (patch)
tree166a18716bb2df62de834e4a683f8be35059330f /gcc
parent96370780ab54d139fcba44fcc63051de6acad09c (diff)
downloadgcc-56829cae9cf564f26d4159f6599c045e71c0a41a.zip
gcc-56829cae9cf564f26d4159f6599c045e71c0a41a.tar.gz
gcc-56829cae9cf564f26d4159f6599c045e71c0a41a.tar.bz2
i386.c (ix86_function_sseregparm): Fix comment: number of arguments passed to local functions in SSE registers is 3.
* config/i386/i386.c (ix86_function_sseregparm): Fix comment: number of arguments passed to local functions in SSE registers is 3. * doc/invoke.texi (Function Attributes) [sseregparm]: Correct number of arguments passed in SSE registers to 3. From-SVN: r118883
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/doc/extend.texi2
3 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2ccb805..eb31d9f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2006-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_function_sseregparm): Fix comment:
+ number of arguments passed to local functions in SSE registers is 3.
+
+ * doc/invoke.texi (Function Attributes) [sseregparm]: Correct
+ number of arguments passed in SSE registers to 3.
+
2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR target/29201
@@ -34,8 +42,8 @@
* config/i386/i386.opt: New target option -mx87regparm.
- * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
- float_in_x87: Add new variables. mmx_words, sse_words: Remove.
+ * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno
+ and float_in_x87 variables. mmx_words, sse_words: Remove.
(X87_REGPARM_MAX): Define.
* config/i386/i386.c (override_options): Error out for
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2583fc0..4546f4d 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2707,9 +2707,9 @@ ix86_function_sseregparm (tree type, tree decl)
return 2;
}
- /* For local functions, pass SFmode (and DFmode for SSE2) arguments
- in SSE registers even for 32-bit mode and not just 3, but up to
- 8 SSE arguments in registers. */
+ /* For local functions, pass up to SSE_REGPARM_MAX SFmode
+ (and DFmode for SSE2) arguments in SSE registers,
+ even for 32-bit targets. */
if (!TARGET_64BIT && decl
&& TARGET_SSE_MATH && flag_unit_at_a_time && !profile_flag)
{
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 099e4dd..079bc37 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -2232,7 +2232,7 @@ on the stack.
@item sseregparm
@cindex @code{sseregparm} attribute
On the Intel 386 with SSE support, the @code{sseregparm} attribute
-causes the compiler to pass up to 8 floating point arguments in
+causes the compiler to pass up to 3 floating point arguments in
SSE registers instead of on the stack. Functions that take a
variable number of arguments will continue to pass all of their
floating point arguments on the stack.