[Bug rtl-optimization/51040] ICE: RTL check: access of elt 1 of 'not' with last elt 0 in gen_rtx_fmt_ee_stat, at ./genrtl.h:33 with __atomic_nand_fetch()

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Wed Nov 9 19:12:00 GMT 2011


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

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011-11-09
         AssignedTo|unassigned at gcc dot       |amacleod at redhat dot com
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #1 from Andrew Macleod <amacleod at redhat dot com> 2011-11-09 19:09:58 UTC ---
Created attachment 25773
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25773
Patch for bug

Proposed fix.

NAND patchup arithmetic was missing the 2 stage AND then NOT operation. 
Instead it was falling into the same sequence as every other operation and
trying to perform a binary operation on a NOT.

I managed to modify and existing testcase to trigger the bug without requiring
a configuration with RTL checking enabled.

Bootstrapped on x86_64-unknown-linux-gnu with no new regressions (pending
completetion of test run)

OK for mainline?



More information about the Gcc-bugs mailing list