[Bug target/27277] [4.2 Regression] standard i387 constant loading insns (fldz, fld1) are not generated anymore

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue May 2 05:41:00 GMT 2006



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-05-02 05:41 -------
Confirmed.  I want to say this was caused by:
2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
            Dale Johannesen  <dalej@apple.com>

        PR target/19653
        * regclass.c (struct reg_pref): Update documentation.
        (regclass): Set prefclass to NO_REGS if memory is the best option.
        (record_reg_classes): Cope with a prefclass set to NO_REGS.
        * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
        into account.  For non-registers, equate an empty preferred
        reload class to a `!' in the constraint; move the if clause to
        do so after those that reject the insn.
        (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
        return NO_REGS.
        (find_dummy_reload): Likewise.
        * doc/tm.texi (Register Classes): Document what it means
        if PREFERRED_*_RELOAD_CLASS return NO_REGS.
        * config/i386/i386.c (ix86_preferred_reload_class): Force
        using SSE registers (and return NO_REGS for floating-point
        constants) if math is done with SSE.
        (ix86_preferred_output_reload_class): New.
        * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
        * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
        * config/i386/i386.md: Remove # register preferences.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bonzini at gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |missed-optimization
   Last reconfirmed|0000-00-00 00:00:00         |2006-05-02 05:41:52
               date|                            |
            Summary|standard i387 constant      |[4.2 Regression] standard
                   |loading insns (fldz, fld1)  |i387 constant loading insns
                   |are not generated anymore   |(fldz, fld1) are not
                   |                            |generated anymore
   Target Milestone|---                         |4.2.0


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



More information about the Gcc-bugs mailing list