[Bug tree-optimization/25554] New: [4.0 Regression] unrecognizable insn on x86_64 with -O2 -ftracer

halcy0n at gentoo dot org gcc-bugzilla@gcc.gnu.org
Sat Dec 24 04:26:00 GMT 2005


When compiling the supplied test case with `gcc -c -O2 -ftracer test.c` with
gcc-4.0.3 the following error occurs:

test.c: In function ‘mpfr_pow_ui’:
test.c:18: error: unrecognizable insn:
(insn 96 44 46 6 (set (reg:CCZ 17 flags)
        (compare:CCZ (and:DI (reg/v:DI 66 [ n ])
                (const_int 4611686018427387904 [0x4000000000000000]))
            (const_int 0 [0x0]))) -1 (nil)
    (expr_list:REG_DEAD (reg/v:DI 66 [ n ])
        (nil)))
test.c:18: internal compiler error: in extract_insn, at recog.c:2020


This does not occur in 3.4, 4.1, or 4.2.  Revision 98597 on gcc-4_1-branch
seems to be where it was fixed for 4.1.  Here is the testcase I am using:

unsigned int __gmpfr_flags;                                                     

int                                                                             
mpfr_pow_ui (unsigned long int n)                                               
{                                                                               
  unsigned long m;                                                              
  int inexact;                                                                  

  int i;                                                                        
  for (m = n, i = 0; m; i++, m >>= 1)                                           
    ;                                                                           

  ((void) (__gmpfr_flags &= 31 ^ 1));                                           

  if (n & (1UL << (i-2)))                                                       
    return 0;                                                                   

}

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4/configure --prefix=/home/halcy0n/gcc-test/bin-4/
--enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.0.3 20051222 (prerelease)


-- 
           Summary: [4.0 Regression] unrecognizable insn on x86_64 with -O2
                    -ftracer
           Product: gcc
           Version: 4.0.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: halcy0n at gentoo dot org
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



More information about the Gcc-bugs mailing list