This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/78090] [x86_64]: GCC allows integer register for inter unit conversion under -mtune-ctrl=^inter_unit_conversions .
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 24 Oct 2016 08:23:08 +0000
- Subject: [Bug rtl-optimization/78090] [x86_64]: GCC allows integer register for inter unit conversion under -mtune-ctrl=^inter_unit_conversions .
- Auto-submitted: auto-generated
- References: <bug-78090-4@http.gcc.gnu.org/bugzilla/>
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")))])