Patchwork vec_set<mode> for 32-byte vectors

login
register
mail settings
Submitter Jakub Jelinek
Date Oct. 13, 2011, 4:21 p.m.
Message ID <20111013162125.GQ2210@tyan-ft48-01.lab.bos.redhat.com>
Download mbox | patch
Permalink /patch/119566/
State New
Headers show

Comments

Jakub Jelinek - Oct. 13, 2011, 4:21 p.m.
Hi!

As noted by Kirill Yukhin (and what lead to the previous tree-ssa.c patch),
vec_set<mode> wasn't wired for 32-byte vectors.
Although ix86_expand_vector_set handles 32-byte vectors just fine (even for
AVX and integer vectors), without the expander we'd force things into memory
etc.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?

2011-10-13  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
	to V.


	Jakub
Richard Henderson - Oct. 13, 2011, 4:25 p.m.
On 10/13/2011 09:21 AM, Jakub Jelinek wrote:
> 	* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode to V.

Ok.


r~

Patch

--- gcc/config/i386/sse.md.jj	2011-10-13 12:26:13.000000000 +0200
+++ gcc/config/i386/sse.md	2011-10-13 14:50:15.000000000 +0200
@@ -3786,7 +3786,7 @@  (define_split
 })
 
 (define_expand "vec_set<mode>"
-  [(match_operand:V_128 0 "register_operand" "")
+  [(match_operand:V 0 "register_operand" "")
    (match_operand:<ssescalarmode> 1 "register_operand" "")
    (match_operand 2 "const_int_operand" "")]
   "TARGET_SSE"