BUILTIN(__builtin_ia32_vec_set_v2di, "V2LLiV2LLiLLii", "")
BUILTIN(__builtin_ia32_insertps128, "V4fV4fV4fi", "")
-BUILTIN(__builtin_ia32_movqv4si, "V4iV4i", "")
BUILTIN(__builtin_ia32_loadlv4si, "V4iV2i*", "")
BUILTIN(__builtin_ia32_storelv4si, "vV2i*V2LLi", "")
return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "unpcklpd");
case X86::BI__builtin_ia32_movsd:
return EmitShuffleVector(Ops[0], Ops[1], 2, 1, "movsd");
- case X86::BI__builtin_ia32_movqv4si: {
- llvm::Type *Ty = llvm::VectorType::get(llvm::Type::Int64Ty, 2);
- return Builder.CreateBitCast(Ops[0], Ty);
- }
case X86::BI__builtin_ia32_loadlps:
case X86::BI__builtin_ia32_loadhps: {
// FIXME: This should probably be represented as
tmp_i = __builtin_ia32_vec_ext_v2si(tmp_V2i, imm_i_0_2);
tmp_V8s = __builtin_ia32_vec_set_v8hi(tmp_V8s, tmp_s, imm_i_0_8);
tmp_V4s = __builtin_ia32_vec_set_v4hi(tmp_V4s, tmp_s, imm_i_0_4);
- tmp_V4i = __builtin_ia32_movqv4si(tmp_V4i);
tmp_V4i = __builtin_ia32_loadlv4si(tmp_V2ip);
(void) __builtin_ia32_storelv4si(tmp_V2ip, tmp_V2LLi);
#ifdef USE_SSE4