[Bug rtl-optimization/53190] CSE (?) CSEs asms

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 2 17:28:00 GMT 2012


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

Uros Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2012-05-02 17:25:22 UTC ---
(In reply to comment #2)
>             (clobber (reg:QI 18 fpsr))
>             (clobber (reg:QI 17 flags))
> 
> 
> It might clobber those but that is not considered an use.  So CSE is doing the
> correct thing as there is no use based on fpsr.

The asm that depends on some unknown-to-gcc global processor state should be
marked as volatile.

This is a bug in glibc.

As a side note, mathinline.h really needs some serious TLC, there are many
functions that are much better implemented with gcc builtin functions, not to
mention that x87 asm in 32bit case interferes *badly* with -mfpmath=sse.

Fortunately, there is -D__NO_MATH_INLINES, used in my projects from day one.

Really, there is no justification for mathinline.h to live, as far as gcc is
concerned.



More information about the Gcc-bugs mailing list