https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63783

Kazumoto Kojima <kkojima at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |sh*-*-*
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |4.8.3
           Keywords|                            |wrong-code
   Last reconfirmed|                            |2014-11-09
          Component|c                           |target
                 CC|                            |kkojima at gcc dot gnu.org,
                   |                            |olegendo at gcc dot gnu.org
     Ever confirmed|0                           |1
            Summary|gcc-4.9: Miscompilation of  |[4.9/5 Regression] [SH]
                   |boolean negation on SH4     |Miscompilation of boolean
                   |using -O2                   |negation on SH4 using -O2
      Known to fail|                            |4.9.0

--- Comment #1 from Kazumoto Kojima <kkojima at gcc dot gnu.org> ---
I'd like to add oleg to the CC list.
This is a 4.9/5.0 regression from 4.8.  4.8 compilers generate
the code like

    tst    r1,r1
    movt    r1

for condition = !decision_result and we get

    not    r1,r1

for it with 4.9 and the newer compilers.
It seems that sh_treg_combine phase added at 4.9 does this.

Reply via email to