This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/43438] [4.3/4.4/4.5 Regression] possible wrong code bug



------- Comment #7 from rguenth at gcc dot gnu dot org  2010-03-19 12:40 -------
make_extraction (mode=SImode, inner=0x7ffff5b48ac8, pos=0, pos_rtx=0x0, len=8, 
    unsignedp=1, in_dest=0, in_compare=0)
    at /space/rguenther/src/svn/trunk/gcc/combine.c:6648
6648      enum machine_mode is_mode = GET_MODE (inner);
(gdb) call debug_rtx (inner)
(subreg:SI (ior:QI (subreg:QI (ior:SI (reg:SI 67 [ g_9 ])
                (const_int 1 [0x1])) 0)
        (const_int -2 [0xfffffffffffffffe])) 0)


      if (CONST_INT_P (new_rtx))
        return gen_int_mode (INTVAL (new_rtx), mode);

misses the nececssary truncation.  Dropping the special casing works
(but doesn't optimize).  Fixing the appearantly many issues works as well.


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]