Re: A question on gimplifier

2007-04-21 Thread Jim Wilson
H. J. Lu wrote: __builtin_ia32_vec_set_v2di will be expanded to [(set (match_operand:V2DI 0 register_operand =x) (vec_merge:V2DI (vec_duplicate:V2DI (match_operand:DI 2 nonimmediate_operand rm)) (match_operand:V2DI 1 register_operand 0)

A question on gimplifier

2007-04-14 Thread H. J. Lu
I am working on SSE4.1 intrinsic. For code: typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); typedef long long __v2di __attribute__ ((__vector_size__ (16))); extern __m128i res[2]; void foo(long long x, __m128i val) { res[0] = ((__m128i)

Re: A question on gimplifier

2007-04-14 Thread Daniel Jacobowitz
On Sat, Apr 14, 2007 at 11:28:59AM -0700, H. J. Lu wrote: __builtin_ia32_vec_set_v2di will be expanded to [(set (match_operand:V2DI 0 register_operand =x) (vec_merge:V2DI (vec_duplicate:V2DI (match_operand:DI 2 nonimmediate_operand rm))

Re: A question on gimplifier

2007-04-14 Thread H. J. Lu
On Sat, Apr 14, 2007 at 02:49:47PM -0400, Daniel Jacobowitz wrote: On Sat, Apr 14, 2007 at 11:28:59AM -0700, H. J. Lu wrote: __builtin_ia32_vec_set_v2di will be expanded to [(set (match_operand:V2DI 0 register_operand =x) (vec_merge:V2DI (vec_duplicate:V2DI

Re: A question on gimplifier

2007-04-14 Thread Andrew Pinski
On 4/14/07, H. J. Lu [EMAIL PROTECTED] wrote: __builtin_ia32_vec_set_v2di is v2di __builtin_ia32_vec_set_v2di (v2di, long long, const int) v2di and m128i are the same type except for may_alias which only matters when taking its address. --Pinski

Re: A question on gimplifier

2007-04-14 Thread H. J. Lu
On Sat, Apr 14, 2007 at 12:23:24PM -0700, Andrew Pinski wrote: On 4/14/07, H. J. Lu [EMAIL PROTECTED] wrote: __builtin_ia32_vec_set_v2di is v2di __builtin_ia32_vec_set_v2di (v2di, long long, const int) v2di and m128i are the same type except for may_alias which only matters when taking