[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-04-27 Thread kargl at gcc dot gnu dot org


--- Comment #11 from kargl at gcc dot gnu dot org  2007-04-28 05:14 ---
Subject: Bug 31245

Author: kargl
Date: Sat Apr 28 05:11:29 2007
New Revision: 124256

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=124256
Log:
Merged revisions 123029-123122 via svnmerge from 
svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk


  r123029 | dberlin | 2007-03-17 16:07:34 -0700 (Sat, 17 Mar 2007) | 17 lines

  2007-03-16  Daniel Berlin  [EMAIL PROTECTED]

Fix PR tree-optimization/29922
* tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members.
(get_representative): Removed.
(value_dies_in_block_x): Update for rvuse removal.
(valid_in_sets): Update for renaming of vuses_dies_in_block_x.
(compute_antic_aux): Handle when PHI nodes appear in
non-single-successors. 
(dump_bitmap_of_names): Removed.
(compute_antic_safe): Renamed and removed rvuse calculation.
Calculate only antic safe.
(insert_into_preds_of_block): Remove assert.
(execute_pre): Update for renamed functions.
(defer_or_phi_translate_block): New function.

  r123032 | gccadmin | 2007-03-17 17:17:18 -0700 (Sat, 17 Mar 2007) | 1 line

  Daily bump.

  r123034 | dorit | 2007-03-17 21:37:32 -0700 (Sat, 17 Mar 2007) | 5 lines

  * tree-vect-transform.c (get_initial_def_for_induction): Replace
  GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS.
  (get_initial_def_for_reduction): Likewise.

  r123035 | schwab | 2007-03-18 04:17:44 -0700 (Sun, 18 Mar 2007) | 4 lines

* acinclude.m4: Adjust regular expression for ld version
extraction.
* configure: Regenerate.

  r123037 | pault | 2007-03-18 08:00:55 -0700 (Sun, 18 Mar 2007) | 26 lines

  2007-03-18  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30531
PR fortran/31086
* symbo.c : Add gfc_derived_types.
(gfc_free_dt_list): Free derived type list gfc_derived_types.
(gfc_free_namespace): Remove call to gfc_free_dt_list.
(gfc_symbol_done_2): Call  gfc_free_dt_list.
* gfortran.h : Declare gfc_derived_types to be external. Remove
derived types field from gfc_namespace.
* resolve.c (resolve_fl_derived): Refer to gfc_derived types
rather than namespace derived_types.
(resolve_fntype): Remove special treatment for module
derived type functions.
* trans-types.c (gfc_get_derived_type): Remove search for like
derived types.  Finish by copying back end declaration to like
derived types in the derived type list gfc_derived_types.

  2007-03-18  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30531
* gfortran.dg/used_types_14.f90: New test.

PR fortran/31086
* gfortran.dg/used_types_15.f90: New test.

  r123038 | jvdelisle | 2007-03-18 11:13:50 -0700 (Sun, 18 Mar 2007) | 12 lines

  2007-03-18  Jerry DeLisle  [EMAIL PROTECTED]

PR libgfortran/31052
* io/file_position (st_rewind): Fix comments. Remove use of
test_endfile. Don't seek if already at 0 position.  Use new is_special
function to set endfile state.
* io/open.c (test_endfile): Delete this function.
* io/io.h: Delete prototype for test_endfile.  Add prototype
for is_special.
* io/unix.c (is_special): New function. Fix whitespace.
* io/transfer.c (next_record_r): Remove use of test_endfile.

  r123039 | jvdelisle | 2007-03-18 11:17:24 -0700 (Sun, 18 Mar 2007) | 5 lines

  2007-03-18  Jerry DeLisle  [EMAIL PROTECTED]

PR libgfortran/31052
* gfortran.dg/namelist_27.f90: New test.

  r123040 | danglin | 2007-03-18 12:13:17 -0700 (Sun, 18 Mar 2007) | 4 lines

PR testsuite/30395
* gcc.dg/pr16194.c: Provide define for REG on __hppa__.

  r123041 | danglin | 2007-03-18 12:47:43 -0700 (Sun, 18 Mar 2007) | 7 lines

* pa.md: Add fpstore_load and store_fpload instruction types.  Provide
reservation, bypass and anti-bypass descriptions for these
instructions.
Update move patterns.
* pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and
TYPE_FPSTORE.


  r123042 | mmitchel | 2007-03-18 15:35:39 -0700 (Sun, 18 Mar 2007) | 20 lines

* libsupc++/array_type_info.cc: Likewise.
* libsupc++/bad_cast.cc: Likewise.
* libsupc++/bad_typeid.cc: Likewise.
* libsupc++/class_type_info.cc: Likewise.
* libsupc++/dyncast.cc: Likewise.
* libsupc++/enum_type_info.cc: Likewise.
* libsupc++/function_type_info.cc: Likewise.
* libsupc++/fundamental_type_info.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pmem_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/si_class_type_info.cc: Likewise.
* libsupc++/vmi_class_type_info.cc: Likewise.

[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-23 Thread rth at gcc dot gnu dot org


--- Comment #10 from rth at gcc dot gnu dot org  2007-03-23 16:31 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-21 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2007-03-21 15:47 ---
Subject: Bug 31245

Author: rth
Date: Wed Mar 21 15:46:46 2007
New Revision: 123110

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=123110
Log:
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.

Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config/i386/emmintrin.h
branches/gcc-4_1-branch/gcc/config/i386/mmintrin.h
branches/gcc-4_1-branch/gcc/config/i386/xmmintrin.h


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-21 Thread rth at gcc dot gnu dot org


--- Comment #8 from rth at gcc dot gnu dot org  2007-03-21 15:50 ---
Subject: Bug 31245

Author: rth
Date: Wed Mar 21 15:50:01 2007
New Revision: 123111

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=123111
Log:
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.

Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/config/i386/emmintrin.h
branches/gcc-4_2-branch/gcc/config/i386/mmintrin.h
branches/gcc-4_2-branch/gcc/config/i386/xmmintrin.h


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-21 Thread rth at gcc dot gnu dot org


--- Comment #9 from rth at gcc dot gnu dot org  2007-03-21 15:52 ---
Subject: Bug 31245

Author: rth
Date: Wed Mar 21 15:52:23 2007
New Revision: 123112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=123112
Log:
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/emmintrin.h
trunk/gcc/config/i386/mmintrin.h
trunk/gcc/config/i386/xmmintrin.h


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-20 Thread rth at gcc dot gnu dot org


--- Comment #6 from rth at gcc dot gnu dot org  2007-03-20 17:09 ---
Spill slots *are* being aligned, else you'd see SEGV, not incorrect data.
Aliasing *is* the problem:

pand(%esi), %xmm0
movl$1, (%ebx)
movl$2, 4(%ebx)
movl$3, 8(%ebx)
movl$4, 12(%ebx)
movdqa  %xmm0, (%esi)

note the pand before the 1,2,3,4 being stored.

The problem here is our choice of vector on which to base __m128i.  For some
reason we chose V2DImode instead of V4SImode.  It's probably easiest to fix
this by adding the may_alias attribute to all of the user-visible types 
provided by the Intel API.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-20 17:09:33
   date||


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-18 Thread prakash at punnoor dot de


--- Comment #4 from prakash at punnoor dot de  2007-03-18 15:58 ---
When specifying -fno-strict-aliasing code works fine with -O3, as well.


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-18 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2007-03-18 16:31 ---
Looks like spill slots are not aligned and has nothing to do with strict
aliasing, if I am reading the assembly correctly.


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-17 Thread prakash at punnoor dot de


--- Comment #2 from prakash at punnoor dot de  2007-03-17 16:49 ---
Created an attachment (id=13221)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13221action=view)
test2 triggers bug


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-17 Thread prakash at punnoor dot de


--- Comment #3 from prakash at punnoor dot de  2007-03-17 16:51 ---
Sorry, I uploaded the wrong test case. In fact changing the unaligned load to
aligned load triggers the bug, which the new file represents in a shorter
notation, I guess.


-- 


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