While trying to make GCC remove some sign extensions in some code I got an RTL
sharing violation when enabling Sign-Extension Elimination. I am using
gcc-4.3-20071221 on an AMD64 FreeBSD system (no cross compilation).

$ gcc -c -Os -fsee sharing.c
sharing.c: In function 'ReducedTestCase':
sharing.c:52: error: invalid rtl sharing found in the insn
(insn 87 86 80 4 sharing.c:38 (set (reg/v:QI 65 [ nibble ])
        (subreg:QI (reg:DI 81 [ nibble ]) 0)) -1 (nil))
sharing.c:52: error: shared rtx
(subreg:QI (reg:DI 81 [ nibble ]) 0)
sharing.c:52: internal compiler error: internal consistency failure
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

$ gcc -v
Using built-in specs.
Target: x86_64-unknown-freebsd5.2.1
Configured with: ./configure --prefix=/strg/scratch/gcc/run --enable-threads
--enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 20071221 (experimental) (GCC)


-- 
           Summary: Sharing violation with SEE
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: myg at gladesoft dot com
  GCC host triplet: x86_64-unknown-freebsd5.2.1


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

Reply via email to