summaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-18 19:40:30 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-18 19:40:30 +0000
commit3f6e13de560249f66d6c3373db116e5ba2ca5c2a (patch)
tree12cb956dfcb4981785e0a7d11d784aac19142133 /gcc/cfgexpand.c
parente6e7a479fb9ff9b4af908c43877f2d17c4f30c37 (diff)
downloadgcc-3f6e13de560249f66d6c3373db116e5ba2ca5c2a.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235169 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgexpand.c')
0 files changed, 0 insertions, 0 deletions