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



Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |jakub at gcc dot gnu.org



--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-12-11 
11:19:11 UTC ---

Jakub, I presume it's an oversight that the combined tldo_add + store patterns

have a "=r" constraint on the source operand:



(define_insn "*tldo_stb_sp32"

  [(set (mem:QI (plus:SI (unspec:SI [(match_operand:SI 2 "register_operand"

"r")

                     (match_operand 3 "tld_symbolic_operand" "")]

                    UNSPEC_TLSLDO)

             (match_operand:SI 1 "register_operand" "r")))

    (match_operand:QI 0 "register_operand" "=r"))]

  "TARGET_TLS && TARGET_ARCH32"

  "stb\t%0, [%1 + %2], %%tldo_add(%3)"

  [(set_attr "type" "store")])

Reply via email to