[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-22 Thread hjl at gcc dot gnu dot org


--- Comment #9 from hjl at gcc dot gnu dot org  2010-06-22 17:24 ---
Subject: Bug 44615

Author: hjl
Date: Tue Jun 22 17:23:59 2010
New Revision: 161214

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161214
Log:
Properly handle psrldq when optimizing for Atom.

gcc/

2010-06-22  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-22  H.J. Lu  hongjiu...@intel.com

* config/i386/i386.md (unit): Also check sseishft1.

2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.

* config/i386/i386.md (type): Add sseishft1

* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
(ppro_insn_load): Likewise.
(ppro_insn_store): Likewise.
(ppro_insn_both): Likewise.

* config/i386/sse.md (*vec_extractv2di_1_rex64_avx): Replace
sseishft with sseishft1 for type.
(*vec_extractv2di_1_avx): Likewise.
(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
type.  Remove atom_unit.
(*vec_extractv2di_1_sse2): Likewise.

gcc/testsuite/

2010-06-22  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/sse2-vec-2a.c: New.

Added:
branches/ix86/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/sse2-vec-2a.c
Modified:
branches/ix86/gcc-4_4-branch/gcc/ChangeLog.ix86
branches/ix86/gcc-4_4-branch/gcc/config/i386/atom.md
branches/ix86/gcc-4_4-branch/gcc/config/i386/i386.md
branches/ix86/gcc-4_4-branch/gcc/config/i386/ppro.md
branches/ix86/gcc-4_4-branch/gcc/config/i386/sse.md
branches/ix86/gcc-4_4-branch/gcc/testsuite/ChangeLog.ix86


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-22 Thread hjl dot tools at gmail dot com


--- Comment #10 from hjl dot tools at gmail dot com  2010-06-22 17:29 
---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.5.1
Version|4.4.5   |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2010-06-21 16:42 ---
(In reply to comment #0)
 FAIL: gcc.target/i386/amd64-abi-3.c scan-assembler subq[\\t ]*\\$88,[\\t 
 ]*%rsp

This is due to -mtune=atom generates:

leaq-88(%rsp), %rsp

instead of

subq$88, %rsp


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

Summary|-mtune=atom failed on sse2- |-mtune=atom failed on sse2-
   |vec-2.c and amd64-abi-3.c   |vec-2.c and amd64-abi-3.c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2010-06-21 16:45 ---
(In reply to comment #0)
 FAIL: gcc.target/i386/sse2-vec-2.c (internal compiler error)
 FAIL: gcc.target/i386/sse2-vec-2.c (test for excess errors)

I got

/export/build/gnu/gcc-atom/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-atom/build-x86_64-linux/gcc/
/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/sse2-vec-2.c   -O2
-msse2 -mtune=atom
In file included from
/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/sse2-vec-2.c:5:0:
/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h: In
function ‘do_test’:
/export/gnu/import/git/gcc/gcc/testsuite/gcc.target/i386/sse2-check.h:12:1:
internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

The problem is

;; if palignr or psrldq
(define_insn_reservation  atom_sseishft_2 1
  (and (eq_attr cpu atom)
   (and (eq_attr type sseishft)
(and (eq_attr atom_unit sishuf)
 (match_operand 2 immediate_operand
  atom-simple-0)

;; if reg/mem op
(define_insn_reservation  atom_sseishft_3 2
  (and (eq_attr cpu atom)
   (and (eq_attr type sseishft)
(not (match_operand 2 immediate_operand
  atom-complex, atom-all-eu)

in atom.md. Some patterns, which generate psrldq, don't
have the 3rd operand as shift count.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2010-06-21 17:23 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02058.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2010-
   ||06/msg02058.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl at gcc dot gnu dot org


--- Comment #4 from hjl at gcc dot gnu dot org  2010-06-21 20:26 ---
Subject: Bug 44615

Author: hjl
Date: Mon Jun 21 20:26:11 2010
New Revision: 161112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161112
Log:
Add -mtune=k8 to gcc.target/i386/amd64-abi-3.c.

2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/amd64-abi-3.c: Add -mtune=k8.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/amd64-abi-3.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl at gcc dot gnu dot org


--- Comment #5 from hjl at gcc dot gnu dot org  2010-06-21 20:28 ---
Subject: Bug 44615

Author: hjl
Date: Mon Jun 21 20:28:03 2010
New Revision: 161113

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161113
Log:
Add -mtune=k8 to gcc.target/i386/amd64-abi-3.c.

2010-06-21  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/amd64-abi-3.c: Add -mtune=k8.

Modified:
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/gcc.target/i386/amd64-abi-3.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl at gcc dot gnu dot org


--- Comment #6 from hjl at gcc dot gnu dot org  2010-06-21 20:28 ---
Subject: Bug 44615

Author: hjl
Date: Mon Jun 21 20:28:24 2010
New Revision: 161114

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161114
Log:
Add -mtune=k8 to gcc.target/i386/amd64-abi-3.c.

2010-06-21  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/amd64-abi-3.c: Add -mtune=k8.

Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/amd64-abi-3.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl at gcc dot gnu dot org


--- Comment #7 from hjl at gcc dot gnu dot org  2010-06-21 21:57 ---
Subject: Bug 44615

Author: hjl
Date: Mon Jun 21 21:56:47 2010
New Revision: 161118

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161118
Log:
Properly handle psrldq when optimizing for Atom.

gcc/

2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.

* config/i386/i386.md (type): Add sseishft1

* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
(ppro_insn_load): Likewise.
(ppro_insn_store): Likewise.
(ppro_insn_both): Likewise.

* config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
(*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
for type.
(*vec_extractv2di_1_avx): Likewise.
(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
type.  Remove atom_unit.
(*vec_extractv2di_1_sse2): Likewise.

gcc/testsuite/

2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/sse2-vec-2a.c: New.

Added:
trunk/gcc/testsuite/gcc.target/i386/sse2-vec-2a.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/atom.md
trunk/gcc/config/i386/i386.md
trunk/gcc/config/i386/ppro.md
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615



[Bug target/44615] -mtune=atom failed on sse2-vec-2.c and amd64-abi-3.c

2010-06-21 Thread hjl at gcc dot gnu dot org


--- Comment #8 from hjl at gcc dot gnu dot org  2010-06-21 21:59 ---
Subject: Bug 44615

Author: hjl
Date: Mon Jun 21 21:58:38 2010
New Revision: 161119

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161119
Log:
Properly handle psrldq when optimizing for Atom.

gcc/

2010-06-21  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.

* config/i386/i386.md (type): Add sseishft1

* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
(ppro_insn_load): Likewise.
(ppro_insn_store): Likewise.
(ppro_insn_both): Likewise.

* config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
(*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
for type.
(*vec_extractv2di_1_avx): Likewise.
(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
type.  Remove atom_unit.
(*vec_extractv2di_1_sse2): Likewise.

gcc/testsuite/

2010-06-21  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-06-21  H.J. Lu  hongjiu...@intel.com

PR target/44615
* gcc.target/i386/sse2-vec-2a.c: New.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.target/i386/sse2-vec-2a.c
Modified:
branches/gcc-4_5-branch/gcc/config/i386/atom.md
branches/gcc-4_5-branch/gcc/config/i386/i386.md
branches/gcc-4_5-branch/gcc/config/i386/ppro.md
branches/gcc-4_5-branch/gcc/config/i386/sse.md
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44615