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")
On Saturday 14 April 2007 20:32, H. J. Lu wrote:
> 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 a
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
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
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
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"))
>
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) __builtin_ia32_vec_set_v2