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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |law at redhat dot com
         Resolution|---                         |FIXED
            Summary|[4.8/4.9/5                  |[4.8/4.9
                   |Regression][cond-optab]     |Regression][cond-optab]
                   |worse code with bitfields   |worse code with bitfields
                   |on v850, mn10300, avr       |on v850, mn10300, avr

--- Comment #10 from Jeffrey A. Law <law at redhat dot com> ---
First note the testcase is rather bogus.  Modern compilers collapse foo() down
into a simple return as DCE doesn't find any statements within foo() which
affect state outside of foo.  Testing was thus done with "t" being an extern.


The code we generate on the trunk for the v850 is marginally better than what
we generated prior to the cond-optab merge (smaller by a single move insn)

The code we generate on the mn103 is slightly better as well.  It uses fewer
registers (and as a result has less memory traffic to save/restore registers),
and generates smaller code.

The avr code looks considerably better, though my familiarity with that
architecture is minimal.  It appears to use fewer registers and is considerably
smaller.

I haven't done bisection to see what fixed the reported regressions, nor do I
plan to.  While this might have been a regression in 4.8 and 4.9, I don't think
anyone bothered to check and I can't see anyone bothering to do so in the
future or backport the fix if it were identified.


Thus I'm closing as resolved.  If anyone objects, feel free to reopen.

Reply via email to