public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/26069]  New: Runtime endian-ness check is no longer optimized out.
@ 2006-02-02  5:00 atgraham at gmail dot com
  2006-02-02  5:02 ` [Bug rtl-optimization/26069] " atgraham at gmail dot com
                   ` (32 more replies)
  0 siblings, 33 replies; 34+ messages in thread
From: atgraham at gmail dot com @ 2006-02-02  5:00 UTC (permalink / raw)
  To: gcc-bugs

bool tell_endian() {
  unsigned x = 1;
  return *(char*)&x;
}

g++ 3.4.2 produces:

00000000 <_Z11tell_endianv>:
    0:   55                      push   %ebp
    1:   89 e5                   mov    %esp,%ebp
    3:   b8 01 00 00 00          mov    $0x1,%eax
    8:   c9                      leave
    9:   c3                      ret

g++ 4.0.0 produces:

    0:   55                      push   %ebp
    1:   89 e5                   mov    %esp,%ebp
    3:   83 ec 10                sub    $0x10,%esp
    6:   c7 45 fc 01 00 00 00    movl   $0x1,0xfffffffc(%ebp)
    d:   31 c0                   xor    %eax,%eax
    f:   80 7d fc 00             cmpb   $0x0,0xfffffffc(%ebp)
   13:   0f 95 c0                setne  %al
   16:   c9                      leave
   17:   c3                      ret

compile line:
g++ -O3 -c -o endian_test.o endian_test.cpp


-- 
           Summary: Runtime endian-ness check is no longer optimized out.
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: atgraham at gmail dot com
  GCC host triplet: linux-x86-elf
GCC target triplet: linux-x86-elf


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
@ 2006-02-02  5:02 ` atgraham at gmail dot com
  2006-02-02  5:19 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
                   ` (31 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: atgraham at gmail dot com @ 2006-02-02  5:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from atgraham at gmail dot com  2006-02-02 05:02 -------
I've also confirmed the following:
The optimization also works on gcc 2.95.2
It does not work on gcc 4.0.2


-- 

atgraham at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |atgraham at gmail dot com


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
  2006-02-02  5:02 ` [Bug rtl-optimization/26069] " atgraham at gmail dot com
@ 2006-02-02  5:19 ` pinskia at gcc dot gnu dot org
  2006-02-02 14:56 ` rguenth at gcc dot gnu dot org
                   ` (30 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-02  5:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-02 05:19 -------
If you used GCC's extension of using an union as not violating aliasing rules,
it works there but does not with using the portable ways:
bool tell_endian() {
  unsigned x = 1;
  return *(char*)&x;
}

bool tell_endian1()
{
  char a;
  int x = 1;
  __builtin_memcpy(&a, &x, 1);
  return a;
}
bool tell_endian_good()
{
  union{int i;char c;}a;
  a.i = 1;
  return a.c;
}
-----

Only tell_endian_good produces good result.

This looks like the removal of addressof RTL caused this.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |normal
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   GCC host triplet|linux-x86-elf               |
 GCC target triplet|linux-x86-elf               |
           Keywords|                            |missed-optimization
   Last reconfirmed|0000-00-00 00:00:00         |2006-02-02 05:19:37
               date|                            |
            Summary|Runtime endian-ness check is|[4.0/4.1/4.2 Regression]
                   |no longer optimized out.    |Runtime endian-ness check is
                   |                            |no longer optimized out.
   Target Milestone|---                         |4.0.3


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
  2006-02-02  5:02 ` [Bug rtl-optimization/26069] " atgraham at gmail dot com
  2006-02-02  5:19 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
@ 2006-02-02 14:56 ` rguenth at gcc dot gnu dot org
  2006-02-03 11:55 ` rguenth at gcc dot gnu dot org
                   ` (29 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-02-02 14:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-02 14:56 -------
One may be able to teach forwprop about this optimization, i.e. turn

  x = 1;
  x.0_3 = (char *) &x;
  D.1522_4 = *x.0_3;

into

  D.1522_4 = VIEW_CONVERT_EXPR <char> (x);

if that has the right semantics.  CCP fold may then be able to optimize it.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (2 preceding siblings ...)
  2006-02-02 14:56 ` rguenth at gcc dot gnu dot org
@ 2006-02-03 11:55 ` rguenth at gcc dot gnu dot org
  2006-02-06 10:34 ` rguenth at gcc dot gnu dot org
                   ` (28 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-02-03 11:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-03 11:55 -------
While propagating easily works, we don't fold VIEW_CONVERT_EXPR at all.  I
remember a patch of Roger which did folding of vector constants or so, but
can't find it anymore.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (3 preceding siblings ...)
  2006-02-03 11:55 ` rguenth at gcc dot gnu dot org
@ 2006-02-06 10:34 ` rguenth at gcc dot gnu dot org
  2006-02-06 16:53 ` gianni at mariani dot ws
                   ` (27 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-02-06 10:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from rguenth at gcc dot gnu dot org  2006-02-06 10:34 -------
*** Bug 26116 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gianni at mariani dot ws


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (4 preceding siblings ...)
  2006-02-06 10:34 ` rguenth at gcc dot gnu dot org
@ 2006-02-06 16:53 ` gianni at mariani dot ws
  2006-02-14  8:59 ` mmitchel at gcc dot gnu dot org
                   ` (26 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: gianni at mariani dot ws @ 2006-02-06 16:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from gianni at mariani dot ws  2006-02-06 16:52 -------
Just another data point.

I tried both the original tell_endian() and the tell_endian_good() functions on
the MS Visual Studio 2003 compiler and both generated:

00000000 <?tell_endian@@YADXZ>:
   0:   b0 01                   mov    $0x1,%al
   2:   c3                      ret


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (5 preceding siblings ...)
  2006-02-06 16:53 ` gianni at mariani dot ws
@ 2006-02-14  8:59 ` mmitchel at gcc dot gnu dot org
  2006-02-24  0:30 ` mmitchel at gcc dot gnu dot org
                   ` (25 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-02-14  8:59 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (6 preceding siblings ...)
  2006-02-14  8:59 ` mmitchel at gcc dot gnu dot org
@ 2006-02-24  0:30 ` mmitchel at gcc dot gnu dot org
  2006-04-18 16:22 ` bonzini at gnu dot org
                   ` (24 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-02-24  0:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from mmitchel at gcc dot gnu dot org  2006-02-24 00:26 -------
This issue will not be resolved in GCC 4.1.0; retargeted at GCC 4.1.1.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.3                       |4.1.1


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (7 preceding siblings ...)
  2006-02-24  0:30 ` mmitchel at gcc dot gnu dot org
@ 2006-04-18 16:22 ` bonzini at gnu dot org
  2006-05-25  2:39 ` mmitchel at gcc dot gnu dot org
                   ` (23 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: bonzini at gnu dot org @ 2006-04-18 16:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from bonzini at gnu dot org  2006-04-18 16:22 -------
Richard, Roger's patch for VIEW_CONVERT_EXPR folding hit mainline now.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (8 preceding siblings ...)
  2006-04-18 16:22 ` bonzini at gnu dot org
@ 2006-05-25  2:39 ` mmitchel at gcc dot gnu dot org
  2006-08-26  6:42 ` pinskia at gcc dot gnu dot org
                   ` (22 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-05-25  2:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from mmitchel at gcc dot gnu dot org  2006-05-25 02:33 -------
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.1                       |4.1.2


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (9 preceding siblings ...)
  2006-05-25  2:39 ` mmitchel at gcc dot gnu dot org
@ 2006-08-26  6:42 ` pinskia at gcc dot gnu dot org
  2006-08-26 14:40 ` pinskia at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26  6:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from pinskia at gcc dot gnu dot org  2006-08-26 06:41 -------
(In reply to comment #8)
> Richard, Roger's patch for VIEW_CONVERT_EXPR folding hit mainline now.
And VCE is documented as being undefined for types of different sizes.
maybe we can produce VIEW_CONVERT_EXPR<char[sizeof(type)], expr>[0] but I don't
know if that solves the issue in the bug report.

I am going to look into producing the VCE as above for types which have the
same aliasing set or 0 and are either the same size or the outer one is a
factor of the larger one.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (10 preceding siblings ...)
  2006-08-26  6:42 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 14:40 ` pinskia at gcc dot gnu dot org
  2006-08-26 16:41 ` pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 14:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from pinskia at gcc dot gnu dot org  2006-08-26 14:40 -------
A related testcase is:
int f(short a)
{
  unsigned short b = *(unsigned short*)&a;
  return b;

}
---- Which should be optimized into ------
int f1(short a)
{
  unsigned short b = a;
  return b;
}


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (11 preceding siblings ...)
  2006-08-26 14:40 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 16:41 ` pinskia at gcc dot gnu dot org
  2006-08-26 16:51 ` pinskia at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 16:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pinskia at gcc dot gnu dot org  2006-08-26 16:41 -------
A fix for this runs into another bug which I am about to file.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|pinskia at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (12 preceding siblings ...)
  2006-08-26 16:41 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 16:51 ` pinskia at gcc dot gnu dot org
  2006-08-26 23:04 ` pinskia at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 16:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from pinskia at gcc dot gnu dot org  2006-08-26 16:51 -------
(In reply to comment #12)
> A fix for this runs into another bug which I am about to file.
I did not file it but did send an email about the problem:
http://gcc.gnu.org/ml/gcc/2006-08/msg00510.html


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (13 preceding siblings ...)
  2006-08-26 16:51 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 23:04 ` pinskia at gcc dot gnu dot org
  2006-08-26 23:21 ` pinskia at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 23:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pinskia at gcc dot gnu dot org  2006-08-26 23:04 -------
And I found a fix for that so trying to work on the orginal testcase again.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (14 preceding siblings ...)
  2006-08-26 23:04 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 23:21 ` pinskia at gcc dot gnu dot org
  2006-09-05  1:09 ` patchapp at dberlin dot org
                   ` (16 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 23:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from pinskia at gcc dot gnu dot org  2006-08-26 23:20 -------
(In reply to comment #14)
> And I found a fix for that so trying to work on the orginal testcase again.
Actually I am going to submit a patch for the problem in comment #11 and then I
will fix the rest of the bug report.  The memcpy issue should be filed
seperately as it is harder to fix than the orginal issue.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (15 preceding siblings ...)
  2006-08-26 23:21 ` pinskia at gcc dot gnu dot org
@ 2006-09-05  1:09 ` patchapp at dberlin dot org
  2006-12-27  4:35 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: patchapp at dberlin dot org @ 2006-09-05  1:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from patchapp at dberlin dot org  2006-09-05 01:09 -------
Subject: Bug number PR 26069

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00117.html


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (16 preceding siblings ...)
  2006-09-05  1:09 ` patchapp at dberlin dot org
@ 2006-12-27  4:35 ` pinskia at gcc dot gnu dot org
  2007-02-14  9:11 ` mmitchel at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-12-27  4:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from pinskia at gcc dot gnu dot org  2006-12-27 04:35 -------
For these VIEW_CONVERT_EXPR to work correctly, we need to extend
DECL_GIMPLE_REG_P to work for all types and not just VECTOR_TYPE and
COMPLEX_TYPE.  I am going to work on that first and then come back to using
VCE.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (17 preceding siblings ...)
  2006-12-27  4:35 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
@ 2007-02-14  9:11 ` mmitchel at gcc dot gnu dot org
  2007-05-27 19:39 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14  9:11 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.2                       |4.1.3


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (18 preceding siblings ...)
  2007-02-14  9:11 ` mmitchel at gcc dot gnu dot org
@ 2007-05-27 19:39 ` pinskia at gcc dot gnu dot org
  2007-11-03 18:11 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-05-27 19:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from pinskia at gcc dot gnu dot org  2007-05-27 19:38 -------
I am no longer working on this, at least for the next month or two.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|pinskia at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (19 preceding siblings ...)
  2007-05-27 19:39 ` pinskia at gcc dot gnu dot org
@ 2007-11-03 18:11 ` pinskia at gcc dot gnu dot org
  2007-12-03 13:09 ` jakub at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-03 18:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from pinskia at gcc dot gnu dot org  2007-11-03 18:11 -------
(In reply to comment #2)
> If you used GCC's extension of using an union as not violating aliasing rules,
> it works there but does not with using the portable ways:

These are all fixed on PowerPC on the trunk.  Only good works for x86.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Keywords|                            |TREE


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (20 preceding siblings ...)
  2007-11-03 18:11 ` pinskia at gcc dot gnu dot org
@ 2007-12-03 13:09 ` jakub at gcc dot gnu dot org
  2008-02-21 21:55 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3/4.4 " ubizjak at gmail dot com
                   ` (10 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: jakub at gcc dot gnu dot org @ 2007-12-03 13:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from jakub at gcc dot gnu dot org  2007-12-03 13:09 -------
Andrew, do you have any testcases to back up #c17 claim?

Anyway, some things can be handled already without VCE (and it is undesirable
to generate VCE), like the #c11 testcase.
Here are 2 alternatives I've been playing with:
--- fold-const.c.jj99   2007-11-29 19:38:34.000000000 +0100
+++ fold-const.c        2007-12-03 13:28:02.000000000 +0100
@@ -14939,6 +14939,23 @@ fold_indirect_ref_1 (tree type, tree op0
          tree index = bitsize_int (0);
          return fold_build3 (BIT_FIELD_REF, type, op, part_width, index);
        }
+      else if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
+              && (INTEGRAL_TYPE_P (optype) || POINTER_TYPE_P (optype))
+              && TYPE_PRECISION (type) == GET_MODE_BITSIZE (TYPE_MODE (type)))
+       {
+         /* Handle e.g. unsigned short int x; *(short int *) &x;  */
+         if (TYPE_MODE (type) == TYPE_MODE (optype)
+             && TYPE_PRECISION (type) == TYPE_PRECISION (optype))
+           return fold_convert (type, op);
+
+         /* Handle e.g. unsigned long int x; *(char *) &x;  */
+         if (TYPE_PRECISION (type) == BITS_PER_UNIT
+             && TYPE_PRECISION (optype) > TYPE_PRECISION (type)
+             && TYPE_PRECISION (optype)
+                == GET_MODE_BITSIZE (TYPE_MODE (optype)))
+           return fold_build3 (BIT_FIELD_REF, type, op,
+                               bitsize_int (BITS_PER_UNIT), bitsize_int (0));
+       }
     }

   /* ((foo*)&complexfoo)[1] => __imag__ complexfoo */

vs.

--- fold-const.c.jj99   2007-11-29 19:38:34.000000000 +0100
+++ fold-const.c        2007-12-03 13:05:13.000000000 +0100
@@ -14939,6 +14939,46 @@ fold_indirect_ref_1 (tree type, tree op0
          tree index = bitsize_int (0);
          return fold_build3 (BIT_FIELD_REF, type, op, part_width, index);
        }
+      else if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
+              && (INTEGRAL_TYPE_P (optype) || POINTER_TYPE_P (optype))
+              && TYPE_PRECISION (type) == GET_MODE_BITSIZE (TYPE_MODE (type)))
+       {
+         /* Handle e.g. unsigned short int x; *(short int *) &x;  */
+         if (TYPE_MODE (type) == TYPE_MODE (optype)
+             && TYPE_PRECISION (type) == TYPE_PRECISION (optype))
+           return fold_convert (type, op);
+
+         /* Handle e.g. unsigned long int x; *(char *) &x;  */
+         if (TYPE_PRECISION (type) == BITS_PER_UNIT
+             && TYPE_PRECISION (optype) > TYPE_PRECISION (type)
+             && TYPE_PRECISION (optype)
+                == GET_MODE_BITSIZE (TYPE_MODE (optype)))
+           {
+             int shift = 0;
+             tree itype;
+
+             if (TYPE_PRECISION (optype) > BITS_PER_WORD)
+               {
+                 if (WORDS_BIG_ENDIAN)
+                   shift = (TYPE_PRECISION (optype) / BITS_PER_WORD - 1)
+                           * BITS_PER_WORD;
+                 if (BYTES_BIG_ENDIAN)
+                   shift += BITS_PER_WORD - BITS_PER_UNIT;
+               }
+             else if (BYTES_BIG_ENDIAN)
+               shift = TYPE_PRECISION (optype) - BITS_PER_UNIT;
+
+             if (shift == 0)
+               return fold_convert (type, op);
+
+             itype = lang_hooks.types.type_for_size (TYPE_PRECISION (optype),
+                                                     TYPE_UNSIGNED (type));
+             return fold_convert (type,
+                                  fold_build2 (RSHIFT_EXPR, itype,
+                                               fold_convert (itype, op),
+                                               build_int_cst (NULL, shift)));
+           }
+       }
     }

   /* ((foo*)&complexfoo)[1] => __imag__ complexfoo */

The handling of integral types with the same size, just different size or cv
qualification is valid C and so is accessing it through char pointer.  It
handles even things which violate strict aliasing, but we have already warned
at this point.  The same size case is I guess not very controversial, probably
just it shouldn't be done if volatile types are involved.  The above patches
only differ in how they deal with the *(char *) &var case.  Both are able to
optimize properly out the tell_endian routine, but in other cases they e.g.
result in bigger code, even with -Os.  Say on:
struct S { int i; } s;

int foo (void)
{
  return *(char *) &s.i;
}

int bar (int x)
{
  int ret = *(char *) &x;
  baz (&x);
  return ret;
}

on ppc64-linux with -O2 the diff for the first one is:
@@ -41,10 +41,11 @@ bar:
        stdu 1,-144(1)
        stw 3,192(1)
        addi 3,1,144
-       lbzu 29,48(3)
+       ldu 29,48(3)
        bl .baz
        nop
        addi 1,1,144
+       srdi 29,29,56
        mr 3,29
        ld 0,16(1)
        ld 29,-24(1)
and for the second patch is:
@@ -37,11 +37,12 @@ bar:
 .bar:
        mflr 0
        std 29,-24(1)
+       rldicl 29,3,40,56
        std 0,16(1)
        stdu 1,-144(1)
-       stw 3,192(1)
-       addi 3,1,144
-       lbzu 29,48(3)
+       addi 9,1,144
+       stwu 3,48(9)
+       mr 3,9
        bl .baz
        nop
        addi 1,1,144

I guess the latter is probably even faster, but the same difference is there
even for -Os.  On the other side, on various testcases it will create even
shorter code.  The important thing is whether this optimization will remove all
reasons why something had to be TREE_ADDRESSABLE or not, something the folder
really doesn't know.  Anyway, would a patch like the second one be appropriate
for 4.3 stage 3 with added volatile guards and perhaps also another case to
handle ((char *) &i) [1] or other offsetted cases?  If VCE can work (I don't
see why it wouldn't, but haven't found the reasoning for #c17), we can also
handle
any type to any other type iff they have the same size, or any optype with char
type.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3/4.4 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (21 preceding siblings ...)
  2007-12-03 13:09 ` jakub at gcc dot gnu dot org
@ 2008-02-21 21:55 ` ubizjak at gmail dot com
  2008-03-25  3:43 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: ubizjak at gmail dot com @ 2008-02-21 21:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from ubizjak at gmail dot com  2008-02-21 21:54 -------
(In reply to comment #20)

> Here are 2 alternatives I've been playing with:

Any news on this patch?


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (22 preceding siblings ...)
  2008-02-21 21:55 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3/4.4 " ubizjak at gmail dot com
@ 2008-03-25  3:43 ` pinskia at gcc dot gnu dot org
  2008-04-30  3:48 ` [Bug tree-optimization/26069] [4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-03-25  3:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from pinskia at gcc dot gnu dot org  2008-03-25 03:42 -------
All of these testcases work correctly now on the trunk (except for an extra
store for the one in comment #11 but that is PR 30271).


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.4.0
            Summary|[4.0/4.1/4.2/4.3/4.4        |[4.0/4.1/4.2/4.3 Regression]
                   |Regression] Runtime endian- |Runtime endian-ness check is
                   |ness check is no longer     |no longer optimized out.
                   |optimized out.              |


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (23 preceding siblings ...)
  2008-03-25  3:43 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
@ 2008-04-30  3:48 ` pinskia at gcc dot gnu dot org
  2008-04-30  3:59 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-30  3:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from pinskia at gcc dot gnu dot org  2008-04-30 03:47 -------
(In reply to comment #21)
> (In reply to comment #20)
> 
> > Here are 2 alternatives I've been playing with:
> 
> Any news on this patch?

The second patch looks like what is was done on the RTL level with respect of
DSE.  I am testing a patch to tree-ssa-forwprop that adds folding where the
sizes of the types are the same to use VIEW_CONVERT_EXPR.  This will allow us
to do the correct thing on the tree level for comment #11. Note we don't
convert it to a NOP_EXPR yet because it creates invalid gimple.  It also allows
us to "fixup" aliasing issues where the types are the same size so we will get
less bug reports about those cases.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (24 preceding siblings ...)
  2008-04-30  3:48 ` [Bug tree-optimization/26069] [4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
@ 2008-04-30  3:59 ` pinskia at gcc dot gnu dot org
  2008-04-30  4:06 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-30  3:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from pinskia at gcc dot gnu dot org  2008-04-30 03:58 -------
Created an attachment (id=15551)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15551&action=view)
Patch for comment #11 on the tree level

This is the patch which I am testing for the testcase in comment #11 as
mentioned we don't use NOP_EXPR but instead VIEW_CONVERT_EXPR as
VIEW_CONVERT_EXPR can work on non gimple registers.


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (25 preceding siblings ...)
  2008-04-30  3:59 ` pinskia at gcc dot gnu dot org
@ 2008-04-30  4:06 ` pinskia at gcc dot gnu dot org
  2008-04-30  4:14 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-30  4:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from pinskia at gcc dot gnu dot org  2008-04-30 04:04 -------
(In reply to comment #24)
> This is the patch which I am testing for the testcase in comment #11 as
> mentioned we don't use NOP_EXPR but instead VIEW_CONVERT_EXPR as
> VIEW_CONVERT_EXPR can work on non gimple registers.

This patch breaks when we have an array type ...


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (26 preceding siblings ...)
  2008-04-30  4:06 ` pinskia at gcc dot gnu dot org
@ 2008-04-30  4:14 ` pinskia at gcc dot gnu dot org
  2008-04-30  9:26 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-30  4:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #26 from pinskia at gcc dot gnu dot org  2008-04-30 04:13 -------
A simple fix for the patch is to add:
      && TREE_CODE (TREE_TYPE (TREE_OPERAND (def_rhs, 0))) != ARRAY_TYPE

But note, we still get worse code with the C front-end than with the C++
front-end but that is due to the C front producing &a instead of &a[0] .


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.1/4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (27 preceding siblings ...)
  2008-04-30  4:14 ` pinskia at gcc dot gnu dot org
@ 2008-04-30  9:26 ` pinskia at gcc dot gnu dot org
  2008-07-04 20:19 ` [Bug tree-optimization/26069] [4.2/4.3 " jsm28 at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-30  9:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #27 from pinskia at gcc dot gnu dot org  2008-04-30 09:25 -------
Note I need to add tests, checking to make sure that TREE_SIZE is non zero in
the case where we have an array type who's size is unknown.
That is:
      && TYPE_SIZE (TREE_TYPE (rhs))
      && TYPE_SIZE (TREE_TYPE (TREE_OPERAND (def_rhs, 0)))


-- 


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.2/4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (28 preceding siblings ...)
  2008-04-30  9:26 ` pinskia at gcc dot gnu dot org
@ 2008-07-04 20:19 ` jsm28 at gcc dot gnu dot org
  2009-03-31 19:10 ` [Bug tree-optimization/26069] [4.3 " jsm28 at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  32 siblings, 0 replies; 34+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 20:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #28 from jsm28 at gcc dot gnu dot org  2008-07-04 20:19 -------
Closing 4.1 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.1/4.2/4.3 Regression]    |[4.2/4.3 Regression] Runtime
                   |Runtime endian-ness check is|endian-ness check is no
                   |no longer optimized out.    |longer optimized out.
   Target Milestone|4.1.3                       |4.2.5


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (29 preceding siblings ...)
  2008-07-04 20:19 ` [Bug tree-optimization/26069] [4.2/4.3 " jsm28 at gcc dot gnu dot org
@ 2009-03-31 19:10 ` jsm28 at gcc dot gnu dot org
  2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
  2010-04-20 13:05 ` rguenth at gcc dot gnu dot org
  32 siblings, 0 replies; 34+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 19:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #29 from jsm28 at gcc dot gnu dot org  2009-03-31 19:09 -------
Closing 4.2 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2/4.3 Regression] Runtime|[4.3 Regression] Runtime
                   |endian-ness check is no     |endian-ness check is no
                   |longer optimized out.       |longer optimized out.
   Target Milestone|4.2.5                       |4.3.4


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (30 preceding siblings ...)
  2009-03-31 19:10 ` [Bug tree-optimization/26069] [4.3 " jsm28 at gcc dot gnu dot org
@ 2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
  2010-04-20 13:05 ` rguenth at gcc dot gnu dot org
  32 siblings, 0 replies; 34+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #30 from rguenth at gcc dot gnu dot org  2009-08-04 12:27 -------
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.4                       |4.3.5


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Bug tree-optimization/26069] [4.3 Regression] Runtime endian-ness check is no longer optimized out.
  2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
                   ` (31 preceding siblings ...)
  2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
@ 2010-04-20 13:05 ` rguenth at gcc dot gnu dot org
  32 siblings, 0 replies; 34+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-04-20 13:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #31 from rguenth at gcc dot gnu dot org  2010-04-20 13:05 -------
WONTFIX for the regression on the 4.3 branch.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
           Keywords|TREE                        |
         Resolution|                            |FIXED
   Target Milestone|4.3.5                       |4.4.0


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


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2010-04-20 13:05 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-02  5:00 [Bug rtl-optimization/26069] New: Runtime endian-ness check is no longer optimized out atgraham at gmail dot com
2006-02-02  5:02 ` [Bug rtl-optimization/26069] " atgraham at gmail dot com
2006-02-02  5:19 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
2006-02-02 14:56 ` rguenth at gcc dot gnu dot org
2006-02-03 11:55 ` rguenth at gcc dot gnu dot org
2006-02-06 10:34 ` rguenth at gcc dot gnu dot org
2006-02-06 16:53 ` gianni at mariani dot ws
2006-02-14  8:59 ` mmitchel at gcc dot gnu dot org
2006-02-24  0:30 ` mmitchel at gcc dot gnu dot org
2006-04-18 16:22 ` bonzini at gnu dot org
2006-05-25  2:39 ` mmitchel at gcc dot gnu dot org
2006-08-26  6:42 ` pinskia at gcc dot gnu dot org
2006-08-26 14:40 ` pinskia at gcc dot gnu dot org
2006-08-26 16:41 ` pinskia at gcc dot gnu dot org
2006-08-26 16:51 ` pinskia at gcc dot gnu dot org
2006-08-26 23:04 ` pinskia at gcc dot gnu dot org
2006-08-26 23:21 ` pinskia at gcc dot gnu dot org
2006-09-05  1:09 ` patchapp at dberlin dot org
2006-12-27  4:35 ` [Bug rtl-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
2007-02-14  9:11 ` mmitchel at gcc dot gnu dot org
2007-05-27 19:39 ` pinskia at gcc dot gnu dot org
2007-11-03 18:11 ` pinskia at gcc dot gnu dot org
2007-12-03 13:09 ` jakub at gcc dot gnu dot org
2008-02-21 21:55 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3/4.4 " ubizjak at gmail dot com
2008-03-25  3:43 ` [Bug tree-optimization/26069] [4.0/4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
2008-04-30  3:48 ` [Bug tree-optimization/26069] [4.1/4.2/4.3 " pinskia at gcc dot gnu dot org
2008-04-30  3:59 ` pinskia at gcc dot gnu dot org
2008-04-30  4:06 ` pinskia at gcc dot gnu dot org
2008-04-30  4:14 ` pinskia at gcc dot gnu dot org
2008-04-30  9:26 ` pinskia at gcc dot gnu dot org
2008-07-04 20:19 ` [Bug tree-optimization/26069] [4.2/4.3 " jsm28 at gcc dot gnu dot org
2009-03-31 19:10 ` [Bug tree-optimization/26069] [4.3 " jsm28 at gcc dot gnu dot org
2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
2010-04-20 13:05 ` rguenth at gcc dot gnu dot org

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).