[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-05 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2009-02-06 01:45 ---
(In reply to comment #3)
 Are the casts actually needed in this case?  It seems the get introduced very
 early on, the .original dump already has:

Yes because char = char + char is really char = (char)((int)char + (int)char);

So this is dup of bug 26128.

*** This bug has been marked as a duplicate of 26128 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-05 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2009-02-06 01:51 ---
(In reply to comment #4)
 Yes because char = char + char is really char = (char)((int)char + (int)char);

Let me expand on that.  ((char)CHAR_MAX) + 1 is well defined and there is no
overflow that occurs.  Since GCC internally assumes signed integer overflow is
undefined, it has to convert it to be the well defined unsigned integer
version.


-- 


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #3 from dann at godzilla dot ics dot uci dot edu  2009-02-02 
16:42 ---
(In reply to comment #2)
 (reminds me of a couple missed-optimization PRs where vectorization is also
 failing due to casts - PR31873 , PR26128 - don't know if this is related)

Are the casts actually needed in this case?  It seems the get introduced very
early on, the .original dump already has:

  a[i] = (short int) ((short unsigned int) b[i] + (short unsigned int) c[i]);


-- 


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-02-01 20:50 ---
*** Bug 39069 has been marked as a duplicate of this bug. ***


-- 


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-01 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
   Keywords||missed-optimization


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-01 Thread dorit at gcc dot gnu dot org


--- Comment #2 from dorit at gcc dot gnu dot org  2009-02-01 21:06 ---
(reminds me of a couple missed-optimization PRs where vectorization is also
failing due to casts - PR31873 , PR26128 - don't know if this is related)


-- 


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