Patchwork [7/n,i386] : Improve memory attribute handling in vec_extract patterns

login
register
mail settings
Submitter Uros Bizjak
Date May 10, 2013, 6:51 p.m.
Message ID <CAFULd4Yvoqy6Zr6DRyOO+ZYAVx7BfF7bM=4Aq9J1mkM93zRQAw@mail.gmail.com>
Download mbox | patch
Permalink /patch/243056/
State New
Headers show

Comments

Uros Bizjak - May 10, 2013, 6:51 p.m.
Hello!

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.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

Uros.

Patch

Index: i386.md
===================================================================
--- i386.md	(revision 198780)
+++ i386.md	(working copy)
@@ -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")
Index: sse.md
===================================================================
--- sse.md	(revision 198780)
+++ sse.md	(working copy)
@@ -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,*,*")