This is the mail archive of the gcc-patches@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]

Re: combine bug fix.


  In message <3B672C5C.5351DAAE@redhat.com>you write:
  > All
  > 
  > While trying to build newlib on for x86-x-m68k-elf toolchain with enable-ch
  > ecking
  > enabled compiler I encountered the following abort
  > 
  > /usr/local/src/newlib/newlib-1.9.0/newlib/libm/math/k_rem_pio2.c: In functi
  > on `__kernel_rem_pio2':
  > /usr/local/src/newlib/newlib-1.9.0/newlib/libm/math/k_rem_pio2.c:318: RTL c
  > heck: access of elt 1 of `not' with last elt 0 in combine_simplify_rtx, at 
  > combine.c:3868
  > 
  > The RTL in question was
  > 
  > (not:SI (ashiftrt:SI (reg:SI 55)
  >         (const_int 2 [0x2])))
  > 
  > The problem occurrs because we are trying to apply XEXP (x, 1) 
  > on the above RTL. Now NOT only has one operand so this wrong.
  > 
  > The XEXP (x, 1) appears apart of a XEXP (x, 1) == const1_rtx
  > test which looks entirely bogus to me so I have deleted the
  > test and I have updated the comment to include the NOT so that
  > so that the transformation actually makes sense.
  > 
  > Bootstrapped x86-linux.
  > 
  > ChangeLog
  > 
  > 	* combine.c (combine_simplify_rtx): Update comment and
  > 	remove erroneous test.
Approved.  Please install.

Thanks,
jeff


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