[Bug rtl-optimization/59880] ix86_avoid_lea_for_addr is buggy

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jan 19 17:32:00 GMT 2014


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-01-19
                 CC|                            |uros at gcc dot gnu.org
            Summary|Improve REE for implicit    |ix86_avoid_lea_for_addr is
                   |SI->DI zero-extend          |buggy
     Ever confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, indeed, it is split because of the:
(define_insn_and_split "*lea<mode>"
  [(set (match_operand:SWI48 0 "register_operand" "=r")
        (match_operand:SWI48 1 "address_no_seg_operand" "Ts"))]
splitter.  I'd say it is a bug in ix86_avoid_lea_for_addr, that shouldn't have
returned true in this case, where the second operand is (zero_extend:DI
(reg:SI)).



More information about the Gcc-bugs mailing list