[Bug target/69693] Wrong mode is used to load spilled register
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Feb 5 17:41:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69693
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Created attachment 37598
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37598&action=edit
A patch
It is a backend bug. We need to add
; Used by STV to load a DI into an xmm register.
(define_insn "*movdi_to_v2di"
[(set (match_operand:V2DI 0 "register_operand" "=x")
(subreg:V2DI (match_operand:DI 1 "nonimmediate_operand" "xm") 0))]
"!TARGET_64BIT && TARGET_SSE2"
"%vmovq\t{%1, %0|%0, %1}"
[(set_attr "type" "ssemov")
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "DI")])
I am testing this patch.
More information about the Gcc-bugs
mailing list