diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2013-05-10 20:47:27 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2013-05-10 20:47:27 +0200 |
commit | 5b3f93c79001d6387a5c78ae9d13482c2712972c (patch) | |
tree | f567c1d9aacfe49399fcb52a02ea8c336958a4a8 /gcc | |
parent | 1f873f0e2c79f45400f051e794ee6a67cf128a9d (diff) | |
download | gcc-5b3f93c79001d6387a5c78ae9d13482c2712972c.zip gcc-5b3f93c79001d6387a5c78ae9d13482c2712972c.tar.gz gcc-5b3f93c79001d6387a5c78ae9d13482c2712972c.tar.bz2 |
i386.md (memory): Handle sseishft1.
* config/i386/i386.md (memory): Handle sseishft1.
* config/i386/sse.md (*vec_extractv4si): Remove memory attribute.
(*vec_extractv2di_1): Ditto.
From-SVN: r198795
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 5 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7da1973..1b2fa2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-10 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (memory): Handle sseishft1. + * config/i386/sse.md (*vec_extractv4si): Remove memory attribute. + (*vec_extractv2di_1): Ditto. + 2013-05-10 Vladimir Makarov <vmakarov@redhat.com> * lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d9179ce..fb64d5e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -615,8 +615,9 @@ "!alu1,negnot,ishift1, imov,imovx,icmp,test,bitmanip, fmov,fcmp,fsgn, - sse,ssemov,ssecmp,ssecomi,ssecvt,ssecvt1,sseicvt,sselog1, - sseshuf1,sseadd1,sseiadd1,mmx,mmxmov,mmxcmp,mmxcvt") + sse,ssemov,ssecmp,ssecomi,ssecvt,ssecvt1,sseicvt, + sselog1,sseshuf1,sseadd1,sseiadd1,sseishft1, + mmx,mmxmov,mmxcmp,mmxcvt") (match_operand 2 "memory_operand")) (const_string "load") (and (eq_attr "type" "icmov,ssemuladd,sse4arg") diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index c9b34b41..66da4af 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -7387,7 +7387,6 @@ } [(set_attr "isa" "*,noavx,avx") (set_attr "type" "sselog1,sseishft1,sseishft1") - (set_attr "memory" "*,none,none") (set_attr "prefix_extra" "1,*,*") (set_attr "length_immediate" "1") (set_attr "prefix" "maybe_vex,orig,vex") @@ -7446,7 +7445,6 @@ [(set_attr "isa" "x64_sse4,*,sse2_noavx,avx,noavx,*,x64") (set_attr "type" "sselog1,ssemov,sseishft1,sseishft1,ssemov,ssemov,imov") (set_attr "length_immediate" "1,*,1,1,*,*,*") - (set_attr "memory" "*,*,none,none,*,*,*") (set_attr "prefix_rex" "1,*,*,*,*,*,*") (set_attr "prefix_extra" "1,*,*,*,*,*,*") (set_attr "prefix" "maybe_vex,maybe_vex,orig,vex,orig,*,*") |