]> gcc.gnu.org Git - gcc.git/commit
Optimize load double into xmm with zero_extend
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 18 Apr 2016 19:40:30 +0000 (19:40 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 18 Apr 2016 19:40:30 +0000 (12:40 -0700)
commit91a47c39bfc0e58ac8fea59ba485d220665eca28
tree12cb956dfcb4981785e0a7d11d784aac19142133
parent81c160c6f36e29dd25639f1a327d681c9c1a62ba
Optimize load double into xmm with zero_extend

"movq" should used to load double into xmm register with zero_extend:

(set (reg:V2DF 90)
     (vec_concat:V2DF (reg/v:DF 88 [ d ])
                      (const_double:DF 0.0 [0x0.0p+0])))

Unlike "movsd", which only works with load from memory, "movq" works
with both memory and xmm register.

gcc/

PR target/70708
* config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
replace %vmovsd with "%vmovq".
(vec_concatv2df): Likewise.

gcc/testsuite/

PR target/70708
* gcc.target/i386/pr70708.c: New test.

From-SVN: r235169
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr70708.c [new file with mode: 0644]
This page took 0.07557 seconds and 5 git commands to generate.