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

           Summary: type mismatch in shift expression produces ice with
                    -O3 and -m32
           Product: gcc
           Version: 4.5.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: g...@intrepid.com


This bug has a failure mode similar to bug #42927, except the failure occurs
only when compiling the attached test case with both -O3 and -m32 on an x86_64
host.  Checks must also be enabled.

The following output is produced:

vec-shift-m32-O3-ice.c: In function 'foo':
vec-shift-m32-O3-ice.c:22:1: error: type mismatch in vector shift expression
vector char *
vector char *
unsigned int
vect_var_.26_65 = vect_var_.23_64 v>> 64;

vec-shift-m32-O3-ice.c:22:1: error: type mismatch in vector shift expression
vector char *
vector char *
unsigned int
vect_var_.26_67 = vect_var_.26_66 v>> 32;

vec-shift-m32-O3-ice.c:22:1: internal compiler error: verify_stmts failed


Although the bug was detected in the 4.5.1 release, it can be reproduced in the
gcc-4.6-20100925 snapshot (SVN revision revision 164623) as well.

Reply via email to