This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/78090] [x86_64]: GCC allows integer register for inter unit conversion under -mtune-ctrl=^inter_unit_conversions .


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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-10-24
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
This is due to RA decision, we have:

(insn 18 37 19 4 (set (reg:SF 98)
        (float:SF (reg/v:SI 100 [orig:92 a ] [92]))) "pr78090.c":12 193
{*floatsisf2_mixed}
     (expr_list:REG_DEAD (reg/v:SI 100 [orig:92 a ] [92])
        (nil)))

and RA creates:

(insn 18 17 20 4 (set (reg:SF 21 xmm0 [98])
        (float:SF (reg/v:SI 5 di [orig:92 a ] [92]))) "pr78090.c":12 193
{*floatsisf2_mixed}
     (nil))

although we have correct tuning in relevant pattern:

   (set (attr "preferred_for_speed")
     (cond [(eq_attr "alternative" "1")
              (symbol_ref "TARGET_INTER_UNIT_CONVERSIONS")]
           (symbol_ref "true")))])

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]