public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed
@ 2009-02-11 19:01 hjl dot tools at gmail dot com
2009-02-11 20:24 ` [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006 hjl dot tools at gmail dot com
` (21 more replies)
0 siblings, 22 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-11 19:01 UTC (permalink / raw)
To: gcc-bugs
On Linux/ia32, revision 144101 gave:
gfortran -m32 -c -o mccas.fppized.o -O2 -ffast-math -mfpmath=sse -mssse3
-ffixed-form mccas.fppized.f
mccas.fppized.f: In function 'cashes':
mccas.fppized.f:1745: error: unrecognizable insn:
(insn 364 296 365 5 mccas.fppized.f:1712 (set (reg/v:SI 4 si [orig:93 ii ]
[93])
(mem/s:SI (plus:SI (ashift:SI (reg:SI 3 bx)
(const_int 2 [0x2]))
(const:SI (plus:SI (symbol_ref:SI ("ijpair_") <var_decl
0x2b5442f74f00 ijpair>)
(const_int -4 [0xfffffffffffffffc])))) [2 ijpair.ia S4
A32])) -1 (nil))
mccas.fppized.f:1745: internal compiler error: in extract_insn, at recog.c:2038
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
specmake: *** [mccas.fppized.o] Error 1
Revision 144092 is OK.
--
Summary: [4.4 regression] 416.gamess in SPEC CPU 2006 failed
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
@ 2009-02-11 20:24 ` hjl dot tools at gmail dot com
2009-02-11 20:48 ` bonzini at gnu dot org
` (20 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-11 20:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from hjl dot tools at gmail dot com 2009-02-11 20:24 -------
Revision 144098:
http://gcc.gnu.org/ml/gcc-cvs/2009-02/msg00264.html
is the cause. Joey, Xuepeng, can you find a small testcase?
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |Joey dot ye at intel dot
| |com, xuepeng dot guo at
| |intel dot com, bonzini at
| |gnu dot org
Summary|[4.4 regression] 416.gamess |[4.4 regression] Revision
|in SPEC CPU 2006 failed |144098 breaks 416.gamess in
| |SPEC CPU 2006
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
2009-02-11 20:24 ` [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006 hjl dot tools at gmail dot com
@ 2009-02-11 20:48 ` bonzini at gnu dot org
2009-02-11 21:00 ` hjl dot tools at gmail dot com
` (19 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-11 20:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from bonzini at gnu dot org 2009-02-11 20:48 -------
Why is this unrecognizable?!? ebx can be an index as well as the base.
Anyway, easily fixed. Will post a patch tomorrow.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |bonzini at gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-02-11 20:48:03
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
2009-02-11 20:24 ` [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006 hjl dot tools at gmail dot com
2009-02-11 20:48 ` bonzini at gnu dot org
@ 2009-02-11 21:00 ` hjl dot tools at gmail dot com
2009-02-11 21:20 ` bonzini at gnu dot org
` (18 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-11 21:00 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]
------- Comment #3 from hjl dot tools at gmail dot com 2009-02-11 20:59 -------
A testcase:
[hjl@gnu-27 Docs]$ cat /tmp/x.f
SUBROUTINE CASHES(E,HESS,FC,FA,NORB,NPR)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
PARAMETER (MXAO=2047)
DIMENSION HESS(NPR),E(NORB,*),FC(*),FA(*)
COMMON /IJPAIR/ IA(MXAO)
COMMON /MCPAR / NFZC,NCORBS,NCI,NORBS,NORBX,NUM
K=0
DO 200 IU = 1,NORB - NCORBS
I = IU + NCORBS
II=IA(I)+I
DO 100 J = 1,NCORBS
IF (I.GT.NORBS) THEN
HESS(K)=FC(II) + FA(II) - E(J,J)
ELSE
HESS(K)=FA(II) - E(I,I) - E(J,J) + FC(JJ) + FA(JJ)
END IF
100 CONTINUE
200 CONTINUE
RETURN
END
[hjl@gnu-27 Docs]$ /export/gnu/import/rrs/144098/usr/bin/gfortran -m32 -S -O2
-msse2 -mfpmath=sse -ffast-math -ffixed-form /tmp/x.f
/tmp/x.f: In function cashes:
/tmp/x.f:19: error: unrecognizable insn:
(insn 178 144 179 4 /tmp/x.f:10 (set (reg/v:SI 4 si [orig:73 ii ] [73])
(mem/s:SI (plus:SI (ashift:SI (reg:SI 3 bx)
(const_int 2 [0x2]))
(const:SI (plus:SI (symbol_ref:SI ("ijpair_") <var_decl
0x2b73b1ef0aa0 ijpair>)
(const_int -4 [0xfffffffffffffffc])))) [3 ijpair.ia S4
A32])) -1 (nil))
/tmp/x.f:19: internal compiler error: in extract_insn, at recog.c:2038
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[hjl@gnu-27 Docs]$
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (2 preceding siblings ...)
2009-02-11 21:00 ` hjl dot tools at gmail dot com
@ 2009-02-11 21:20 ` bonzini at gnu dot org
2009-02-11 21:21 ` bonzini at gnu dot org
` (17 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-11 21:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from bonzini at gnu dot org 2009-02-11 21:20 -------
The problem is that inside mems we use MULT not ASHIFT.
Can you please test this? Thanks!
--- config/i386/i386.md (revision 144098)
+++ config/i386/i386.md (working copy)
@@ -20722,7 +20722,7 @@
(parallel [(set (match_dup 0)
(match_op_dup 3 [(match_dup 0) (match_dup 1)]))
(clobber (reg:CC FLAGS_REG))])]
- "operands[4] = simplify_replace_rtx (operands[2], operands[0],
operands[1]);")
+ "operands[4] = replace_rtx (operands[2], operands[0], operands[1]);")
(define_peephole2
[(set (match_operand 0 "register_operand" "")
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (3 preceding siblings ...)
2009-02-11 21:20 ` bonzini at gnu dot org
@ 2009-02-11 21:21 ` bonzini at gnu dot org
2009-02-11 21:41 ` dominiq at lps dot ens dot fr
` (16 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-11 21:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from bonzini at gnu dot org 2009-02-11 21:20 -------
There was wrapping, all you have to do is remove "simplify_".
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (4 preceding siblings ...)
2009-02-11 21:21 ` bonzini at gnu dot org
@ 2009-02-11 21:41 ` dominiq at lps dot ens dot fr
2009-02-12 1:39 ` hjl dot tools at gmail dot com
` (15 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-02-11 21:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from dominiq at lps dot ens dot fr 2009-02-11 21:41 -------
With the patch in comment #4 the test in comment #3 compiles without ICE on
i686-apple-darwin9 (it gave an ICE before the patch).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (5 preceding siblings ...)
2009-02-11 21:41 ` dominiq at lps dot ens dot fr
@ 2009-02-12 1:39 ` hjl dot tools at gmail dot com
2009-02-12 12:55 ` bonzini at gnu dot org
` (14 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 1:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from hjl dot tools at gmail dot com 2009-02-12 01:38 -------
(In reply to comment #4)
> The problem is that inside mems we use MULT not ASHIFT.
>
> Can you please test this? Thanks!
>
> --- config/i386/i386.md (revision 144098)
> +++ config/i386/i386.md (working copy)
> @@ -20722,7 +20722,7 @@
> (parallel [(set (match_dup 0)
> (match_op_dup 3 [(match_dup 0) (match_dup 1)]))
> (clobber (reg:CC FLAGS_REG))])]
> - "operands[4] = simplify_replace_rtx (operands[2], operands[0],
> operands[1]);")
> + "operands[4] = replace_rtx (operands[2], operands[0], operands[1]);")
>
> (define_peephole2
> [(set (match_operand 0 "register_operand" "")
>
I verified that this fixed 416.gamess.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (6 preceding siblings ...)
2009-02-12 1:39 ` hjl dot tools at gmail dot com
@ 2009-02-12 12:55 ` bonzini at gnu dot org
2009-02-12 14:04 ` hjl at gcc dot gnu dot org
` (13 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 12:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from bonzini at gnu dot org 2009-02-12 12:55 -------
Subject: Re: [4.4 regression] Revision 144098 breaks
416.gamess in SPEC CPU 2006
I think you can commit it as obvious. I can only do so tonight or
tomorrow morning.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (7 preceding siblings ...)
2009-02-12 12:55 ` bonzini at gnu dot org
@ 2009-02-12 14:04 ` hjl at gcc dot gnu dot org
2009-02-12 14:32 ` bonzini at gnu dot org
` (12 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-02-12 14:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from hjl at gcc dot gnu dot org 2009-02-12 14:04 -------
Subject: Bug 39152
Author: hjl
Date: Thu Feb 12 14:04:20 2009
New Revision: 144126
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144126
Log:
gcc/
2009-02-12 Paolo Bonzini <bonzini@gnu.org>
PR target/39152
* config/i386/i386.md: Replace simplify_replace_rtx with
replace_rtx in the new peephole2.
gcc/testsuite/
2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/39152
* gfortran.dg/pr39152.f: New.
Added:
trunk/gcc/testsuite/gfortran.dg/pr39152.f
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (8 preceding siblings ...)
2009-02-12 14:04 ` hjl at gcc dot gnu dot org
@ 2009-02-12 14:32 ` bonzini at gnu dot org
2009-02-12 14:35 ` hjl dot tools at gmail dot com
` (11 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 14:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from bonzini at gnu dot org 2009-02-12 14:31 -------
thanks h.j.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (9 preceding siblings ...)
2009-02-12 14:32 ` bonzini at gnu dot org
@ 2009-02-12 14:35 ` hjl dot tools at gmail dot com
2009-02-12 15:26 ` hjl dot tools at gmail dot com
` (10 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 14:35 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2020 bytes --]
------- Comment #11 from hjl dot tools at gmail dot com 2009-02-12 14:34 -------
Another regression. But you need -mavx to see it:
./xgcc -B./
/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90
-B/export/build/gnu/gcc-avx/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/
-I/export/build/gnu/gcc-avx/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp
-I/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/.. -march=i486
-fmessage-length=0 -fopenmp -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions
-B/export/build/gnu/gcc-avx/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-S -m32 -mavx
/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:
In function âtest_workshare.1497.omp_fn.0â:
/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:23:
error: insn does not satisfy its constraints:
(insn 2019 2018 1609 173
/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:28
(parallel [
(set (reg:SI 2 cx [orig:190 D.2207 ] [190])
(plus:SI (reg:SI 2 cx [orig:190 D.2207 ] [190])
(reg:SI 21 xmm0)))
(clobber (reg:CC 17 flags))
]) 285 {*addsi_1} (expr_list:REG_DEAD (reg:SI 21 xmm0)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil))))
/net/gnu-13/export/gnu/src/gcc/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:23:
internal compiler error: in build_def_use, at regrename.c:774
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (10 preceding siblings ...)
2009-02-12 14:35 ` hjl dot tools at gmail dot com
@ 2009-02-12 15:26 ` hjl dot tools at gmail dot com
2009-02-12 15:41 ` hjl dot tools at gmail dot com
` (9 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 15:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from hjl dot tools at gmail dot com 2009-02-12 15:26 -------
We have
(insn 1988 1119 1121 173
/export/gnu/src/gcc-work/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:28
(set (reg:SI 2 cx [orig:190 D.2207 ] [190])
(reg:SI 21 xmm0)) 47 {*movsi_1} (expr_list:REG_DEAD (reg:SI 21 xmm0)
(nil)))
(note:HI 1121 1988 1600 173 NOTE_INSN_DELETED)
(insn:HI 1600 1121 1609 173
/export/gnu/src/gcc-work/gcc/libgomp/testsuite/libgomp.fortran/omp_parse4.f90:28
(parallel [
(set (reg:SI 2 cx [orig:190 D.2207 ] [190])
(plus:SI (reg:SI 2 cx [orig:190 D.2207 ] [190])
(mem/s:SI (plus:SI (reg/f:SI 1 dx [orig:511 pretmp.178 ]
[511])
(const_int 32 [0x20])) [2 S4 A32])))
(clobber (reg:CC 17 flags))
]) 285 {*addsi_1} (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))
We can't replace Mov+MemOp with Load+RegOp here.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (11 preceding siblings ...)
2009-02-12 15:26 ` hjl dot tools at gmail dot com
@ 2009-02-12 15:41 ` hjl dot tools at gmail dot com
2009-02-12 19:05 ` bonzini at gnu dot org
` (8 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 15:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from hjl dot tools at gmail dot com 2009-02-12 15:41 -------
This patch:
--- ./i386.md.class 2009-02-12 06:42:42.000000000 -0800
+++ ./i386.md 2009-02-12 07:39:03.000000000 -0800
@@ -20736,7 +20736,11 @@
[(match_dup 0)
(match_operand:SI 2 "memory_operand" "")]))
(clobber (reg:CC FLAGS_REG))])]
- "operands[0] != operands[1]"
+ "operands[0] != operands[1]
+ && ((GENERAL_REGNO_P (REGNO (operands[0]))
+ && GENERAL_REGNO_P (REGNO (operands[1])))
+ || (SSE_REGNO_P (REGNO (operands[0]))
+ && SSE_REGNO_P (REGNO (operands[1]))))"
[(set (match_dup 0) (match_dup 4))
(parallel [(set (match_dup 0)
(match_op_dup 3 [(match_dup 0) (match_dup 1)]))
works for me.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (12 preceding siblings ...)
2009-02-12 15:41 ` hjl dot tools at gmail dot com
@ 2009-02-12 19:05 ` bonzini at gnu dot org
2009-02-12 19:07 ` bonzini at gnu dot org
` (7 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 19:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from bonzini at gnu dot org 2009-02-12 19:05 -------
Subject: Re: [4.4 regression] Revision 144098 breaks
416.gamess in SPEC CPU 2006
> The patch is obviously okay, but it seems weird that this is accepted.
> I must be missing something on peephole2...
By obviously okay I don't mean that it should not be approved by a
maintainer. In fact, I wonder if the peephole2 shouldn't even be
restricted to GENERAL_REGNO_P.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (13 preceding siblings ...)
2009-02-12 19:05 ` bonzini at gnu dot org
@ 2009-02-12 19:07 ` bonzini at gnu dot org
2009-02-12 19:25 ` hjl dot tools at gmail dot com
` (6 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 19:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from bonzini at gnu dot org 2009-02-12 19:07 -------
Subject: Re: [4.4 regression] Revision 144098 breaks
416.gamess in SPEC CPU 2006
The patch is obviously okay, but it seems weird that this is accepted.
I must be missing something on peephole2...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (14 preceding siblings ...)
2009-02-12 19:07 ` bonzini at gnu dot org
@ 2009-02-12 19:25 ` hjl dot tools at gmail dot com
2009-02-12 20:58 ` hjl dot tools at gmail dot com
` (5 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 19:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from hjl dot tools at gmail dot com 2009-02-12 19:25 -------
Subject: Re: [4.4 regression] Revision 144098 breaks
416.gamess in SPEC CPU 2006
On Thu, Feb 12, 2009 at 07:05:27PM -0000, bonzini at gnu dot org wrote:
> Subject: Re: [4.4 regression] Revision 144098 breaks
> 416.gamess in SPEC CPU 2006
>
> > The patch is obviously okay, but it seems weird that this is accepted.
> > I must be missing something on peephole2...
>
> By obviously okay I don't mean that it should not be approved by a
> maintainer. In fact, I wonder if the peephole2 shouldn't even be
> restricted to GENERAL_REGNO_P.
>
We can't limit it to GENERAL_REGNO_P. See PR 38824. Here is a
different patch.
H.J.
---
--- gcc/config/i386/i386-protos.h.class 2008-10-07 14:03:40.000000000 -0700
+++ gcc/config/i386/i386-protos.h 2009-02-12 10:49:30.000000000 -0800
@@ -160,6 +160,7 @@ extern bool ix86_cannot_change_mode_clas
enum machine_mode, enum reg_class);
extern enum reg_class ix86_preferred_reload_class (rtx, enum reg_class);
extern enum reg_class ix86_preferred_output_reload_class (rtx, enum
reg_class);
+extern enum reg_class ix86_hard_reg_class (int regno);
extern int ix86_memory_move_cost (enum machine_mode, enum reg_class, int);
extern int ix86_mode_needed (int, rtx);
extern void emit_i387_cw_initialization (int);
--- gcc/config/i386/i386.c.class 2009-02-12 10:48:41.000000000 -0800
+++ gcc/config/i386/i386.c 2009-02-12 11:21:21.000000000 -0800
@@ -29483,6 +29483,23 @@ ix86_enum_va_list (int idx, const char *
return 1;
}
+/* Return GENERAL_REGS, FLOAT_REGS, MMX_REGS or SSE_REGS for hard
+ register REGNO. Return FLOAT_REGS for FP stack registers. */
+
+enum reg_class
+ix86_hard_reg_class (int regno)
+{
+ if (GENERAL_REGNO_P (regno))
+ return GENERAL_REGS;
+ if (FP_REGNO_P (regno))
+ return FLOAT_REGS;
+ if (SSE_REGNO_P (regno))
+ return SSE_REGS;
+ if (MMX_REGNO_P (regno))
+ return MMX_REGS;
+ gcc_unreachable ();
+}
+
/* Initialize the GCC target structure. */
#undef TARGET_RETURN_IN_MEMORY
#define TARGET_RETURN_IN_MEMORY ix86_return_in_memory
--- gcc/config/i386/i386.md.class 2009-02-12 09:17:09.000000000 -0800
+++ gcc/config/i386/i386.md 2009-02-12 10:51:12.000000000 -0800
@@ -20736,7 +20736,9 @@
[(match_dup 0)
(match_operand:SI 2 "memory_operand" "")]))
(clobber (reg:CC FLAGS_REG))])]
- "operands[0] != operands[1]"
+ "operands[0] != operands[1]
+ && ix86_hard_reg_class (REGNO (operands[0]))
+ == ix86_hard_reg_class (REGNO (operands[1]))"
[(set (match_dup 0) (match_dup 4))
(parallel [(set (match_dup 0)
(match_op_dup 3 [(match_dup 0) (match_dup 1)]))
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (15 preceding siblings ...)
2009-02-12 19:25 ` hjl dot tools at gmail dot com
@ 2009-02-12 20:58 ` hjl dot tools at gmail dot com
2009-02-12 20:59 ` bonzini at gnu dot org
` (4 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 20:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from hjl dot tools at gmail dot com 2009-02-12 20:58 -------
A patch is posted at
http://gcc.gnu.org/ml/gcc-patches/2009-02/msg00605.html
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2009-
| |02/msg00605.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (16 preceding siblings ...)
2009-02-12 20:58 ` hjl dot tools at gmail dot com
@ 2009-02-12 20:59 ` bonzini at gnu dot org
2009-02-12 21:36 ` hjl dot tools at gmail dot com
` (3 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 20:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from bonzini at gnu dot org 2009-02-12 20:59 -------
Subject: Re: [4.4 regression] Revision 144098 breaks
416.gamess in SPEC CPU 2006
> We can't limit it to GENERAL_REGNO_P. See PR 38824. Here is a
> different patch.
H.J., I know, my patch *was* for PR38824. :-) But I added two
peephole2, one for SImode (including the clobbering of CC, and with
additional replace_rtx handling) and one for MMX/SSE registers. For
the record, the equivalent one for x87 regs was already there.
So restricting the problematic peephole to GENERAL_REGNO_P would not
cause PR38824 (for which there is a testcase).
Paolo
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (17 preceding siblings ...)
2009-02-12 20:59 ` bonzini at gnu dot org
@ 2009-02-12 21:36 ` hjl dot tools at gmail dot com
2009-02-12 21:39 ` bonzini at gnu dot org
` (2 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-12 21:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from hjl dot tools at gmail dot com 2009-02-12 21:36 -------
(In reply to comment #18)
> Subject: Re: [4.4 regression] Revision 144098 breaks
> 416.gamess in SPEC CPU 2006
>
> > We can't limit it to GENERAL_REGNO_P. See PR 38824. Here is a
> > different patch.
>
> H.J., I know, my patch *was* for PR38824. :-) But I added two
> peephole2, one for SImode (including the clobbering of CC, and with
> additional replace_rtx handling) and one for MMX/SSE registers. For
> the record, the equivalent one for x87 regs was already there.
The updated patch is at
http://gcc.gnu.org/ml/gcc-patches/2009-02/msg00608.html
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
URL|http://gcc.gnu.org/ml/gcc- |http://gcc.gnu.org/ml/gcc-
|patches/2009- |patches/2009-
|02/msg00605.html |02/msg00608.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (18 preceding siblings ...)
2009-02-12 21:36 ` hjl dot tools at gmail dot com
@ 2009-02-12 21:39 ` bonzini at gnu dot org
2009-02-13 14:37 ` hjl at gcc dot gnu dot org
2009-02-13 17:23 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: bonzini at gnu dot org @ 2009-02-12 21:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from bonzini at gnu dot org 2009-02-12 21:39 -------
Thanks.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (19 preceding siblings ...)
2009-02-12 21:39 ` bonzini at gnu dot org
@ 2009-02-13 14:37 ` hjl at gcc dot gnu dot org
2009-02-13 17:23 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-02-13 14:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from hjl at gcc dot gnu dot org 2009-02-13 14:37 -------
Subject: Bug 39152
Author: hjl
Date: Fri Feb 13 14:37:11 2009
New Revision: 144158
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144158
Log:
gcc/
2009-02-13 H.J. Lu <hongjiu.lu@intel.com>
PR target/39152
* config/i386/i386.md: Restrict the new peephole2 to move
between the general purpose registers.
gcc/testsuite/
2009-02-13 H.J. Lu <hongjiu.lu@intel.com>
PR target/39152
* gfortran.dg/gomp/pr39152.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/gomp/pr39152.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
` (20 preceding siblings ...)
2009-02-13 14:37 ` hjl at gcc dot gnu dot org
@ 2009-02-13 17:23 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-02-13 17:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #22 from hjl dot tools at gmail dot com 2009-02-13 17:23 -------
Fixed.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39152
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2009-02-13 17:23 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-11 19:01 [Bug target/39152] New: [4.4 regression] 416.gamess in SPEC CPU 2006 failed hjl dot tools at gmail dot com
2009-02-11 20:24 ` [Bug target/39152] [4.4 regression] Revision 144098 breaks 416.gamess in SPEC CPU 2006 hjl dot tools at gmail dot com
2009-02-11 20:48 ` bonzini at gnu dot org
2009-02-11 21:00 ` hjl dot tools at gmail dot com
2009-02-11 21:20 ` bonzini at gnu dot org
2009-02-11 21:21 ` bonzini at gnu dot org
2009-02-11 21:41 ` dominiq at lps dot ens dot fr
2009-02-12 1:39 ` hjl dot tools at gmail dot com
2009-02-12 12:55 ` bonzini at gnu dot org
2009-02-12 14:04 ` hjl at gcc dot gnu dot org
2009-02-12 14:32 ` bonzini at gnu dot org
2009-02-12 14:35 ` hjl dot tools at gmail dot com
2009-02-12 15:26 ` hjl dot tools at gmail dot com
2009-02-12 15:41 ` hjl dot tools at gmail dot com
2009-02-12 19:05 ` bonzini at gnu dot org
2009-02-12 19:07 ` bonzini at gnu dot org
2009-02-12 19:25 ` hjl dot tools at gmail dot com
2009-02-12 20:58 ` hjl dot tools at gmail dot com
2009-02-12 20:59 ` bonzini at gnu dot org
2009-02-12 21:36 ` hjl dot tools at gmail dot com
2009-02-12 21:39 ` bonzini at gnu dot org
2009-02-13 14:37 ` hjl at gcc dot gnu dot org
2009-02-13 17:23 ` hjl dot tools at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).