* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
@ 2006-06-02 0:48 ` pinskia at gcc dot gnu dot org
2006-06-02 11:02 ` tijl at ulyssis dot org
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-02 0:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2006-06-02 00:48 -------
(define_insn "sse_vmaddv4sf3"
[(set (match_operand:V4SF 0 "register_operand" "=x")
(vec_merge:V4SF
(plus:V4SF (match_operand:V4SF 1 "nonimmediate_operand" "%0")
(match_operand:V4SF 2 "nonimmediate_operand" "xm"))
(match_dup 1)
(const_int 1)))]
"TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)"
"addss\t{%2, %0|%0, %2}"
[(set_attr "type" "sseadd")
(set_attr "mode" "SF")])
The % is incorrect here.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
GCC build triplet|i386-portbld-freebsd6.1 |
GCC host triplet|i386-portbld-freebsd6.1 |
GCC target triplet|i386-portbld-freebsd6.1 |i?86-*-*
Keywords| |ssemmx, wrong-code
Last reconfirmed|0000-00-00 00:00:00 |2006-06-02 00:48:52
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
2006-06-02 0:48 ` [Bug target/27869] " pinskia at gcc dot gnu dot org
@ 2006-06-02 11:02 ` tijl at ulyssis dot org
2007-04-04 11:17 ` steven at gcc dot gnu dot org
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tijl at ulyssis dot org @ 2006-06-02 11:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from tijl at ulyssis dot org 2006-06-02 11:02 -------
Created an attachment (id=11578)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11578&action=view)
proposed patch
This patch fixes my problems, but I'm not sure I got all cases and I'm not sure
if the _finite versions of maxss and minss need fixing at all.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
2006-06-02 0:48 ` [Bug target/27869] " pinskia at gcc dot gnu dot org
2006-06-02 11:02 ` tijl at ulyssis dot org
@ 2007-04-04 11:17 ` steven at gcc dot gnu dot org
2007-04-04 11:35 ` rguenth at gcc dot gnu dot org
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-04-04 11:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from steven at gcc dot gnu dot org 2007-04-04 12:17 -------
Richi, Honza, is anyone looking at this problem?
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |steven at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (2 preceding siblings ...)
2007-04-04 11:17 ` steven at gcc dot gnu dot org
@ 2007-04-04 11:35 ` rguenth at gcc dot gnu dot org
2007-04-04 11:47 ` steven at gcc dot gnu dot org
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-04-04 11:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2007-04-04 12:35 -------
No.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (3 preceding siblings ...)
2007-04-04 11:35 ` rguenth at gcc dot gnu dot org
@ 2007-04-04 11:47 ` steven at gcc dot gnu dot org
2007-04-05 22:56 ` echristo at apple dot com
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-04-04 11:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from steven at gcc dot gnu dot org 2007-04-04 12:47 -------
Investigating...
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |steven at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2006-06-02 00:48:52 |2007-04-04 12:47:19
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (4 preceding siblings ...)
2007-04-04 11:47 ` steven at gcc dot gnu dot org
@ 2007-04-05 22:56 ` echristo at apple dot com
2007-04-06 15:08 ` hubicka at ucw dot cz
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: echristo at apple dot com @ 2007-04-05 22:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from echristo at apple dot com 2007-04-05 23:56 -------
Actually, I'll go ahead and take this, it was reported internally as well here
and I've got a patch in testing :)
--
echristo at apple dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|steven at gcc dot gnu dot |echristo at gcc dot gnu dot
|org |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (5 preceding siblings ...)
2007-04-05 22:56 ` echristo at apple dot com
@ 2007-04-06 15:08 ` hubicka at ucw dot cz
2007-04-06 15:43 ` stevenb dot gcc at gmail dot com
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: hubicka at ucw dot cz @ 2007-04-06 15:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from hubicka at ucw dot cz 2007-04-06 16:07 -------
Subject: Re: "-O -fregmove" handles SSE scalar instructions incorrectly
> Investigating...
The attached patch to remove '%' seems correct to me. Merge operating
wrapping the (commutative) plus/mult/min/max is not commutative, so '%'
is wrong. Or am I missing something?
Honza
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (6 preceding siblings ...)
2007-04-06 15:08 ` hubicka at ucw dot cz
@ 2007-04-06 15:43 ` stevenb dot gcc at gmail dot com
2007-04-06 16:01 ` hubicka at ucw dot cz
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: stevenb dot gcc at gmail dot com @ 2007-04-06 15:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from stevenb dot gcc at gmail dot com 2007-04-06 16:43 -------
Subject: Re: "-O -fregmove" handles SSE scalar instructions incorrectly
> The attached patch to remove '%' seems correct to me. Merge operating
> wrapping the (commutative) plus/mult/min/max is not commutative, so '%'
> is wrong. Or am I missing something?
The commutative alternative asm output should also be removed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (7 preceding siblings ...)
2007-04-06 15:43 ` stevenb dot gcc at gmail dot com
@ 2007-04-06 16:01 ` hubicka at ucw dot cz
2007-04-06 19:32 ` echristo at apple dot com
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: hubicka at ucw dot cz @ 2007-04-06 16:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from hubicka at ucw dot cz 2007-04-06 17:01 -------
Subject: Re: "-O -fregmove" handles SSE scalar instructions incorrectly
>
>
> ------- Comment #8 from stevenb dot gcc at gmail dot com 2007-04-06 16:43 -------
> Subject: Re: "-O -fregmove" handles SSE scalar instructions incorrectly
>
> > The attached patch to remove '%' seems correct to me. Merge operating
> > wrapping the (commutative) plus/mult/min/max is not commutative, so '%'
> > is wrong. Or am I missing something?
>
> The commutative alternative asm output should also be removed.
I don't think there are alternative asm outputs, just intel variants,
unless I missed something. The min/max commutative variant should be
removed however, I am testing the attached patch.
Honza
------- Comment #10 from hubicka at ucw dot cz 2007-04-06 17:01 -------
Created an attachment (id=13334)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13334&action=view)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (8 preceding siblings ...)
2007-04-06 16:01 ` hubicka at ucw dot cz
@ 2007-04-06 19:32 ` echristo at apple dot com
2007-04-09 23:06 ` hubicka at gcc dot gnu dot org
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: echristo at apple dot com @ 2007-04-06 19:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from echristo at apple dot com 2007-04-06 20:31 -------
Jan,
Yeah, that's exactly the patch I had when it finishes testing ok (it did for me
on i386), would you please commit it to the 4.2 branch as well?
--
echristo at apple dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |echristo at apple dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (9 preceding siblings ...)
2007-04-06 19:32 ` echristo at apple dot com
@ 2007-04-09 23:06 ` hubicka at gcc dot gnu dot org
2007-04-10 0:57 ` echristo at apple dot com
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2007-04-09 23:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from hubicka at gcc dot gnu dot org 2007-04-10 00:06 -------
Subject: Bug 27869
Author: hubicka
Date: Tue Apr 10 00:06:16 2007
New Revision: 123682
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123682
Log:
PR target/27869
* config/i386/sse.md
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (10 preceding siblings ...)
2007-04-09 23:06 ` hubicka at gcc dot gnu dot org
@ 2007-04-10 0:57 ` echristo at apple dot com
2007-04-10 10:02 ` mark at gcc dot gnu dot org
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: echristo at apple dot com @ 2007-04-10 0:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from echristo at apple dot com 2007-04-10 01:57 -------
Any hope of getting this in 4.2 as well? It's not a regression, but is a fairly
longstanding bug that's easier to trip than we'd like.
--
echristo at apple dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mark at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (11 preceding siblings ...)
2007-04-10 0:57 ` echristo at apple dot com
@ 2007-04-10 10:02 ` mark at gcc dot gnu dot org
2007-04-10 17:05 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mark at gcc dot gnu dot org @ 2007-04-10 10:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from mark at gcc dot gnu dot org 2007-04-10 11:02 -------
Assuming other mark should be CCed to make 4.2 decision.
--
mark at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|mark at gcc dot gnu dot org |mmitchel at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (12 preceding siblings ...)
2007-04-10 10:02 ` mark at gcc dot gnu dot org
@ 2007-04-10 17:05 ` mmitchel at gcc dot gnu dot org
2007-04-16 16:07 ` hubicka at gcc dot gnu dot org
2008-02-03 14:32 ` steven at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-04-10 17:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from mmitchel at gcc dot gnu dot org 2007-04-10 18:05 -------
Yes, this is OK for 4.2.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (13 preceding siblings ...)
2007-04-10 17:05 ` mmitchel at gcc dot gnu dot org
@ 2007-04-16 16:07 ` hubicka at gcc dot gnu dot org
2008-02-03 14:32 ` steven at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2007-04-16 16:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from hubicka at gcc dot gnu dot org 2007-04-16 17:07 -------
Subject: Bug 27869
Author: hubicka
Date: Mon Apr 16 17:07:19 2007
New Revision: 123876
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123876
Log:
PR target/27869
* config/i386/sse.md
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/config/i386/sse.md
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
2006-06-01 23:35 [Bug c/27869] New: "-O -fregmove" handles SSE scalar instructions incorrectly tijl at ulyssis dot org
` (14 preceding siblings ...)
2007-04-16 16:07 ` hubicka at gcc dot gnu dot org
@ 2008-02-03 14:32 ` steven at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu dot org @ 2008-02-03 14:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from steven at gcc dot gnu dot org 2008-02-03 14:32 -------
Honza forgot to close this, it seems.
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
^ permalink raw reply [flat|nested] 17+ messages in thread