[cfe-commits] r72996 - in /cfe/trunk: include/clang/AST/X86Builtins.def lib/CodeGen/CGBuiltin.cpp

Eli Friedman eli.friedman at gmail.com
Sat Jun 6 01:31:46 PDT 2009


Author: efriedma
Date: Sat Jun  6 03:31:46 2009
New Revision: 72996

URL: http://llvm.org/viewvc/llvm-project?rev=72996&view=rev
Log:
Get rid of a bunch of dead builtins.


Modified:
    cfe/trunk/include/clang/AST/X86Builtins.def
    cfe/trunk/lib/CodeGen/CGBuiltin.cpp

Modified: cfe/trunk/include/clang/AST/X86Builtins.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/X86Builtins.def?rev=72996&r1=72995&r2=72996&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/X86Builtins.def (original)
+++ cfe/trunk/include/clang/AST/X86Builtins.def Sat Jun  6 03:31:46 2009
@@ -12,9 +12,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// FIXME: this needs to be the full list supported by GCC.  Right now, I'm just
-// adding stuff on demand.
-
 // The format of this database matches clang/AST/Builtins.def.
 
 // FIXME: In GCC, these builtins are defined depending on whether support for
@@ -54,37 +51,12 @@
 BUILTIN(__builtin_ia32_ucomisdgt, "iV2dV2d", "")
 BUILTIN(__builtin_ia32_ucomisdge, "iV2dV2d", "")
 BUILTIN(__builtin_ia32_ucomisdneq, "iV2dV2d", "")
-BUILTIN(__builtin_ia32_addps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_subps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_mulps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_divps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_addss, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_subss, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_mulss, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_divss, "V4fV4fV4f", "")
 BUILTIN(__builtin_ia32_cmpps, "V4fV4fV4fc", "")
 BUILTIN(__builtin_ia32_cmpss, "V4fV4fV4fc", "")
 BUILTIN(__builtin_ia32_minps, "V4fV4fV4f", "")
 BUILTIN(__builtin_ia32_maxps, "V4fV4fV4f", "")
 BUILTIN(__builtin_ia32_minss, "V4fV4fV4f", "")
 BUILTIN(__builtin_ia32_maxss, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_andps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_andnps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_orps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_xorps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_movss, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_movhlps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_movlhps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_unpckhps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_unpcklps, "V4fV4fV4f", "")
-BUILTIN(__builtin_ia32_paddb, "V8cV8cV8c", "")
-BUILTIN(__builtin_ia32_paddw, "V4sV4sV4s", "")
-BUILTIN(__builtin_ia32_paddd, "V2iV2iV2i", "")
-BUILTIN(__builtin_ia32_paddq, "V1LLiV1LLiV1LLi", "")
-BUILTIN(__builtin_ia32_psubb, "V8cV8cV8c", "")
-BUILTIN(__builtin_ia32_psubw, "V4sV4sV4s", "")
-BUILTIN(__builtin_ia32_psubd, "V2iV2iV2i", "")
-BUILTIN(__builtin_ia32_psubq, "V1LLiV1LLiV1LLi", "")
 BUILTIN(__builtin_ia32_paddsb, "V8cV8cV8c", "")
 BUILTIN(__builtin_ia32_paddsw, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_psubsb, "V8cV8cV8c", "")
@@ -93,13 +65,8 @@
 BUILTIN(__builtin_ia32_paddusw, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_psubusb, "V8cV8cV8c", "")
 BUILTIN(__builtin_ia32_psubusw, "V4sV4sV4s", "")
-BUILTIN(__builtin_ia32_pmullw, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_pmulhw, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_pmulhuw, "V4sV4sV4s", "")
-BUILTIN(__builtin_ia32_pand, "V1LLiV1LLiV1LLi", "")
-BUILTIN(__builtin_ia32_pandn, "V1LLiV1LLiV1LLi", "")
-BUILTIN(__builtin_ia32_por, "V1LLiV1LLiV1LLi", "")
-BUILTIN(__builtin_ia32_pxor, "V1LLiV1LLiV1LLi", "")
 BUILTIN(__builtin_ia32_pavgb, "V8cV8cV8c", "")
 BUILTIN(__builtin_ia32_pavgw, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_pcmpeqb, "V8cV8cV8c", "")
@@ -118,35 +85,12 @@
 BUILTIN(__builtin_ia32_punpcklbw, "V8cV8cV8c", "")
 BUILTIN(__builtin_ia32_punpcklwd, "V4sV4sV4s", "")
 BUILTIN(__builtin_ia32_punpckldq, "V2iV2iV2i", "")
-BUILTIN(__builtin_ia32_addpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_subpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_mulpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_divpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_addsd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_subsd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_mulsd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_divsd, "V2dV2dV2d", "")
 BUILTIN(__builtin_ia32_cmppd, "V2dV2dV2dc", "")
 BUILTIN(__builtin_ia32_cmpsd, "V2dV2dV2dc", "")
 BUILTIN(__builtin_ia32_minpd, "V2dV2dV2d", "")
 BUILTIN(__builtin_ia32_maxpd, "V2dV2dV2d", "")
 BUILTIN(__builtin_ia32_minsd, "V2dV2dV2d", "")
 BUILTIN(__builtin_ia32_maxsd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_andpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_andnpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_orpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_xorpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_movsd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_unpckhpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_unpcklpd, "V2dV2dV2d", "")
-BUILTIN(__builtin_ia32_paddb128, "V16cV16cV16c", "")
-BUILTIN(__builtin_ia32_paddw128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_paddd128, "V4iV4iV4i", "")
-BUILTIN(__builtin_ia32_paddq128, "V2LLiV2LLiV2LLi", "")
-BUILTIN(__builtin_ia32_psubb128, "V16cV16cV16c", "")
-BUILTIN(__builtin_ia32_psubw128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_psubd128, "V4iV4iV4i", "")
-BUILTIN(__builtin_ia32_psubq128, "V2LLiV2LLiV2LLi", "")
 BUILTIN(__builtin_ia32_paddsb128, "V16cV16cV16c", "")
 BUILTIN(__builtin_ia32_paddsw128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_psubsb128, "V16cV16cV16c", "")
@@ -157,10 +101,6 @@
 BUILTIN(__builtin_ia32_psubusw128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_pmullw128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_pmulhw128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_pand128, "V2LLiV2LLiV2LLi", "")
-BUILTIN(__builtin_ia32_pandn128, "V2LLiV2LLiV2LLi", "")
-BUILTIN(__builtin_ia32_por128, "V2LLiV2LLiV2LLi", "")
-BUILTIN(__builtin_ia32_pxor128, "V2LLiV2LLiV2LLi", "")
 BUILTIN(__builtin_ia32_pavgb128, "V16cV16cV16c", "")
 BUILTIN(__builtin_ia32_pavgw128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_pcmpeqb128, "V16cV16cV16c", "")
@@ -173,14 +113,6 @@
 BUILTIN(__builtin_ia32_pmaxsw128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_pminub128, "V16cV16cV16c", "")
 BUILTIN(__builtin_ia32_pminsw128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_punpckhbw128, "V16cV16cV16c", "")
-BUILTIN(__builtin_ia32_punpckhwd128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_punpckhdq128, "V4iV4iV4i", "")
-BUILTIN(__builtin_ia32_punpckhqdq128, "V2LLiV2LLiV2LLi", "")
-BUILTIN(__builtin_ia32_punpcklbw128, "V16cV16cV16c", "")
-BUILTIN(__builtin_ia32_punpcklwd128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_punpckldq128, "V4iV4iV4i", "")
-BUILTIN(__builtin_ia32_punpcklqdq128, "V2LLiV2LLiV2LLi", "")
 BUILTIN(__builtin_ia32_packsswb128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_packssdw128, "V4iV4iV4i", "")
 BUILTIN(__builtin_ia32_packuswb128, "V8sV8sV8s", "")
@@ -229,7 +161,6 @@
 BUILTIN(__builtin_ia32_psrlq, "V1LLiV1LLiV1LLi", "")
 BUILTIN(__builtin_ia32_psraw, "V4sV4sV1LLi", "")
 BUILTIN(__builtin_ia32_psrad, "V2iV2iV1LLi", "")
-BUILTIN(__builtin_ia32_pshufw, "V4sV4si", "")
 BUILTIN(__builtin_ia32_pmaddwd, "V2iV4sV4s", "")
 BUILTIN(__builtin_ia32_packsswb, "V8cV4sV4s", "")
 BUILTIN(__builtin_ia32_packssdw, "V4sV2iV2i", "")
@@ -238,13 +169,9 @@
 BUILTIN(__builtin_ia32_stmxcsr, "Ui", "")
 BUILTIN(__builtin_ia32_cvtpi2ps, "V4fV4fV2i", "")
 BUILTIN(__builtin_ia32_cvtps2pi, "V2iV4f", "")
-BUILTIN(__builtin_ia32_cvtsi2ss, "V4fV4fi", "")
-BUILTIN(__builtin_ia32_cvtsi642ss, "V4fV4fLLi", "")
 BUILTIN(__builtin_ia32_cvtss2si, "iV4f", "")
 BUILTIN(__builtin_ia32_cvtss2si64, "LLiV4f", "")
 BUILTIN(__builtin_ia32_cvttps2pi, "V2iV4f", "")
-BUILTIN(__builtin_ia32_cvttss2si, "iV4f", "")
-BUILTIN(__builtin_ia32_cvttss2si64, "LLiV4f", "")
 BUILTIN(__builtin_ia32_maskmovq, "vV8cV8cc*", "")
 BUILTIN(__builtin_ia32_loadups, "V4ffC*", "")
 BUILTIN(__builtin_ia32_storeups, "vf*V4f", "")
@@ -264,33 +191,6 @@
 BUILTIN(__builtin_ia32_rsqrtss, "V4fV4f", "")
 BUILTIN(__builtin_ia32_sqrtps, "V4fV4f", "")
 BUILTIN(__builtin_ia32_sqrtss, "V4fV4f", "")
-BUILTIN(__builtin_ia32_shufps, "V4fV4fV4fi", "")
-BUILTIN(__builtin_ia32_femms, "v", "")
-BUILTIN(__builtin_ia32_pavgusb, "V8cV8cV8c", "")
-BUILTIN(__builtin_ia32_pf2id, "V2iV2f", "")
-BUILTIN(__builtin_ia32_pfacc, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfadd, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfcmpeq, "V2iV2fV2f", "")
-BUILTIN(__builtin_ia32_pfcmpge, "V2iV2fV2f", "")
-BUILTIN(__builtin_ia32_pfcmpgt, "V2iV2fV2f", "")
-BUILTIN(__builtin_ia32_pfmax, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfmin, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfmul, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfrcp, "V2fV2f", "")
-BUILTIN(__builtin_ia32_pfrcpit1, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfrcpit2, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfrsqrt, "V2fV2f", "")
-BUILTIN(__builtin_ia32_pfrsqit1, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfsub, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfsubr, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pi2fd, "V2fV2i", "")
-BUILTIN(__builtin_ia32_pmulhrw, "V4sV4sV4s", "")
-BUILTIN(__builtin_ia32_pf2iw, "V2iV2f", "")
-BUILTIN(__builtin_ia32_pfnacc, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pfpnacc, "V2fV2fV2f", "")
-BUILTIN(__builtin_ia32_pi2fw, "V2fV2i", "")
-BUILTIN(__builtin_ia32_pswapdsf, "V2fV2f", "")
-BUILTIN(__builtin_ia32_pswapdsi, "V2iV2i", "")
 BUILTIN(__builtin_ia32_maskmovdqu, "vV16cV16cc*", "")
 BUILTIN(__builtin_ia32_loadupd, "V2ddC*", "")
 BUILTIN(__builtin_ia32_storeupd, "vd*V2d", "")
@@ -301,13 +201,9 @@
 BUILTIN(__builtin_ia32_movnti, "vi*i", "")
 BUILTIN(__builtin_ia32_movntpd, "vd*V2d", "")
 BUILTIN(__builtin_ia32_movntdq, "vV2LLi*V2LLi", "")
-BUILTIN(__builtin_ia32_pshufd, "V4iV4ii", "")
-BUILTIN(__builtin_ia32_pshuflw, "V8sV8si", "")
-BUILTIN(__builtin_ia32_pshufhw, "V8sV8si", "")
 BUILTIN(__builtin_ia32_psadbw128, "V2LLiV16cV16c", "")
 BUILTIN(__builtin_ia32_sqrtpd, "V2dV2d", "")
 BUILTIN(__builtin_ia32_sqrtsd, "V2dV2d", "")
-BUILTIN(__builtin_ia32_shufpd, "V2dV2dV2di", "")
 BUILTIN(__builtin_ia32_cvtdq2pd, "V2dV4i", "")
 BUILTIN(__builtin_ia32_cvtdq2ps, "V4fV4i", "")
 BUILTIN(__builtin_ia32_cvtpd2dq, "V2LLiV2d", "")
@@ -317,16 +213,10 @@
 BUILTIN(__builtin_ia32_cvttpd2pi, "V2iV2d", "")
 BUILTIN(__builtin_ia32_cvtpi2pd, "V2dV2i", "")
 BUILTIN(__builtin_ia32_cvtsd2si, "iV2d", "")
-BUILTIN(__builtin_ia32_cvttsd2si, "iV2d", "")
 BUILTIN(__builtin_ia32_cvtsd2si64, "LLiV2d", "")
-BUILTIN(__builtin_ia32_cvttsd2si64, "LLiV2d", "")
 BUILTIN(__builtin_ia32_cvtps2dq, "V4iV4f", "")
 BUILTIN(__builtin_ia32_cvtps2pd, "V2dV4f", "")
 BUILTIN(__builtin_ia32_cvttps2dq, "V4iV4f", "")
-BUILTIN(__builtin_ia32_cvtsi2sd, "V2dV2di", "")
-BUILTIN(__builtin_ia32_cvtsi642sd, "V2dV2dLLi", "")
-BUILTIN(__builtin_ia32_cvtsd2ss, "V4fV4fV2d", "")
-BUILTIN(__builtin_ia32_cvtss2sd, "V2dV2dV4f", "")
 BUILTIN(__builtin_ia32_clflush, "vvC*", "")
 BUILTIN(__builtin_ia32_lfence, "v", "")
 BUILTIN(__builtin_ia32_mfence, "v", "")
@@ -368,21 +258,6 @@
 BUILTIN(__builtin_ia32_lddqu, "V16ccC*", "")
 BUILTIN(__builtin_ia32_palignr128, "V2LLiV2LLiV2LLii", "")
 BUILTIN(__builtin_ia32_palignr, "V1LLiV1LLiV1LLis", "")
-BUILTIN(__builtin_ia32_vec_init_v2si, "V2iii", "")
-BUILTIN(__builtin_ia32_vec_init_v4hi, "V4sssss", "")
-BUILTIN(__builtin_ia32_vec_init_v8qi, "V8ccccccccc", "")
-BUILTIN(__builtin_ia32_vec_ext_v2df, "dV2di", "")
-BUILTIN(__builtin_ia32_vec_ext_v2di, "LLiV2LLii", "")
-BUILTIN(__builtin_ia32_vec_ext_v4sf, "fV4fi", "")
-BUILTIN(__builtin_ia32_vec_ext_v4si, "iV4ii", "")
-BUILTIN(__builtin_ia32_vec_ext_v8hi, "UsV8si", "")
-BUILTIN(__builtin_ia32_vec_ext_v4hi, "sV4si", "")
-BUILTIN(__builtin_ia32_vec_ext_v2si, "iV2ii", "")
-BUILTIN(__builtin_ia32_vec_set_v8hi, "V8sV8ssi", "")
-BUILTIN(__builtin_ia32_vec_set_v4hi, "V4sV4ssi", "")
-BUILTIN(__builtin_ia32_vec_set_v16qi, "V16cV16cii", "")
-BUILTIN(__builtin_ia32_vec_set_v4si, "V4iV4iii", "")
-BUILTIN(__builtin_ia32_vec_set_v2di, "V2LLiV2LLiLLii", "")
 BUILTIN(__builtin_ia32_insertps128, "V4fV4fV4fi", "")
 
 BUILTIN(__builtin_ia32_loadlv4si, "V4iV2i*", "")

Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=72996&r1=72995&r2=72996&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Sat Jun  6 03:31:46 2009
@@ -625,81 +625,6 @@
 
   switch (BuiltinID) {
   default: return 0;
-  case X86::BI__builtin_ia32_mulps:
-    return Builder.CreateMul(Ops[0], Ops[1], "mulps");
-  case X86::BI__builtin_ia32_mulpd:
-    return Builder.CreateMul(Ops[0], Ops[1], "mulpd");
-  case X86::BI__builtin_ia32_pand:
-  case X86::BI__builtin_ia32_pand128:
-    return Builder.CreateAnd(Ops[0], Ops[1], "pand");
-  case X86::BI__builtin_ia32_por:
-  case X86::BI__builtin_ia32_por128:
-    return Builder.CreateOr(Ops[0], Ops[1], "por");
-  case X86::BI__builtin_ia32_pxor:
-  case X86::BI__builtin_ia32_pxor128:
-    return Builder.CreateXor(Ops[0], Ops[1], "pxor");
-  case X86::BI__builtin_ia32_pandn:
-  case X86::BI__builtin_ia32_pandn128:
-    Ops[0] = Builder.CreateNot(Ops[0], "tmp");
-    return Builder.CreateAnd(Ops[0], Ops[1], "pandn");
-  case X86::BI__builtin_ia32_paddb:
-  case X86::BI__builtin_ia32_paddb128:
-  case X86::BI__builtin_ia32_paddd:
-  case X86::BI__builtin_ia32_paddd128:
-  case X86::BI__builtin_ia32_paddq:
-  case X86::BI__builtin_ia32_paddq128:
-  case X86::BI__builtin_ia32_paddw:
-  case X86::BI__builtin_ia32_paddw128:
-  case X86::BI__builtin_ia32_addps:
-  case X86::BI__builtin_ia32_addpd:
-    return Builder.CreateAdd(Ops[0], Ops[1], "add");
-  case X86::BI__builtin_ia32_psubb:
-  case X86::BI__builtin_ia32_psubb128:
-  case X86::BI__builtin_ia32_psubd:
-  case X86::BI__builtin_ia32_psubd128:
-  case X86::BI__builtin_ia32_psubq:
-  case X86::BI__builtin_ia32_psubq128:
-  case X86::BI__builtin_ia32_psubw:
-  case X86::BI__builtin_ia32_psubw128:
-  case X86::BI__builtin_ia32_subps:
-  case X86::BI__builtin_ia32_subpd:
-    return Builder.CreateSub(Ops[0], Ops[1], "sub");
-  case X86::BI__builtin_ia32_divps:
-    return Builder.CreateFDiv(Ops[0], Ops[1], "divps");
-  case X86::BI__builtin_ia32_divpd:
-    return Builder.CreateFDiv(Ops[0], Ops[1], "divpd");
-  case X86::BI__builtin_ia32_pmullw:
-  case X86::BI__builtin_ia32_pmullw128:
-    return Builder.CreateMul(Ops[0], Ops[1], "pmul");
-  case X86::BI__builtin_ia32_punpckhbw:
-    return EmitShuffleVector(Ops[0], Ops[1], 4, 12, 5, 13, 6, 14, 7, 15,
-                             "punpckhbw");
-  case X86::BI__builtin_ia32_punpckhbw128:
-    return EmitShuffleVector(Ops[0], Ops[1],  8, 24,  9, 25, 10, 26, 11, 27,
-                                             12, 28, 13, 29, 14, 30, 15, 31,
-                             "punpckhbw");
-  case X86::BI__builtin_ia32_punpckhwd:
-    return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "punpckhwd");
-  case X86::BI__builtin_ia32_punpckhwd128:
-    return EmitShuffleVector(Ops[0], Ops[1], 4, 12, 5, 13, 6, 14, 7, 15,
-                             "punpckhwd");
-  case X86::BI__builtin_ia32_punpckhdq:
-    return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "punpckhdq");
-  case X86::BI__builtin_ia32_punpckhdq128:
-    return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "punpckhdq");
-  case X86::BI__builtin_ia32_punpckhqdq128:
-    return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "punpckhqdq");
-  case X86::BI__builtin_ia32_punpcklbw:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 8, 1, 9, 2, 10, 3, 11,
-                             "punpcklbw");
-  case X86::BI__builtin_ia32_punpcklwd:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "punpcklwd");
-  case X86::BI__builtin_ia32_punpckldq:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "punpckldq");
-  case X86::BI__builtin_ia32_punpckldq128:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "punpckldq");
-  case X86::BI__builtin_ia32_punpcklqdq128:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "punpcklqdq");
   case X86::BI__builtin_ia32_pslldi128: 
   case X86::BI__builtin_ia32_psllqi128:
   case X86::BI__builtin_ia32_psllwi128: 
@@ -807,46 +732,6 @@
     llvm::Function *F = CGM.getIntrinsic(ID);
     return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), name);  
   }
-  case X86::BI__builtin_ia32_pshufw: {
-    unsigned i = cast<ConstantInt>(Ops[1])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[0],
-                             i & 0x3, (i & 0xc) >> 2,
-                             (i & 0x30) >> 4, (i & 0xc0) >> 6,
-                             "pshufw");
-  }
-  case X86::BI__builtin_ia32_pshuflw: {
-    unsigned i = cast<ConstantInt>(Ops[1])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[0], 
-                             i & 0x3, (i & 0xc) >> 2,
-                             (i & 0x30) >> 4, (i & 0xc0) >> 6, 4, 5, 6, 7,
-                             "pshuflw");
-  }
-  case X86::BI__builtin_ia32_pshufhw: {
-    unsigned i = cast<ConstantInt>(Ops[1])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[0], 0, 1, 2, 3,
-                             4 + (i & 0x3), 4 + ((i & 0xc) >> 2),
-                             4 + ((i & 0x30) >> 4), 4 + ((i & 0xc0) >> 6),
-                             "pshufhw");
-  }
-  case X86::BI__builtin_ia32_pshufd: {
-    unsigned i = cast<ConstantInt>(Ops[1])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[0], 
-                             i & 0x3, (i & 0xc) >> 2,
-                             (i & 0x30) >> 4, (i & 0xc0) >> 6,
-                             "pshufd");
-  }
-  case X86::BI__builtin_ia32_vec_init_v4hi:
-  case X86::BI__builtin_ia32_vec_init_v8qi:
-  case X86::BI__builtin_ia32_vec_init_v2si:
-    return EmitVector(&Ops[0], Ops.size());
-  case X86::BI__builtin_ia32_vec_ext_v2si:
-  case X86::BI__builtin_ia32_vec_ext_v2di:
-  case X86::BI__builtin_ia32_vec_ext_v4sf:
-  case X86::BI__builtin_ia32_vec_ext_v4si:
-  case X86::BI__builtin_ia32_vec_ext_v8hi:
-  case X86::BI__builtin_ia32_vec_ext_v4hi:
-  case X86::BI__builtin_ia32_vec_ext_v2df:
-    return Builder.CreateExtractElement(Ops[0], Ops[1], "result");
   case X86::BI__builtin_ia32_cmpps: {
     llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_sse_cmp_ps);
     return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), "cmpps");
@@ -879,41 +764,6 @@
     llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_sse2_cmp_sd);
     return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), "cmpsd");
   }
-  case X86::BI__builtin_ia32_movss:
-    return EmitShuffleVector(Ops[0], Ops[1], 4, 1, 2, 3, "movss");
-  case X86::BI__builtin_ia32_shufps: {
-    unsigned i = cast<ConstantInt>(Ops[2])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[1], 
-                             i & 0x3, (i & 0xc) >> 2, 
-                             ((i & 0x30) >> 4) + 4, 
-                             ((i & 0xc0) >> 6) + 4, "shufps");
-  }
-  case X86::BI__builtin_ia32_shufpd: {
-    unsigned i = cast<ConstantInt>(Ops[2])->getZExtValue();
-    return EmitShuffleVector(Ops[0], Ops[1], i & 1,
-                             ((i & 2) >> 1)+2, "shufpd");
-  }
-  case X86::BI__builtin_ia32_punpcklbw128:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 16, 1, 17, 2, 18, 3, 19,
-                                             4, 20, 5, 21, 6, 22, 7, 23,
-                                             "punpcklbw");
-  case X86::BI__builtin_ia32_punpcklwd128:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 8, 1, 9, 2, 10, 3, 11,
-                             "punpcklwd");
-  case X86::BI__builtin_ia32_movlhps:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 1, 4, 5, "movlhps");
-  case X86::BI__builtin_ia32_movhlps:
-    return EmitShuffleVector(Ops[0], Ops[1], 6, 7, 2, 3, "movhlps");
-  case X86::BI__builtin_ia32_unpckhps:
-    return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "unpckhps");
-  case X86::BI__builtin_ia32_unpcklps:
-    return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "unpcklps");
-  case X86::BI__builtin_ia32_unpckhpd:
-    return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "unpckhpd");
-  case X86::BI__builtin_ia32_unpcklpd:
-    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_loadlps:
   case X86::BI__builtin_ia32_loadhps: {
     // FIXME: This should probably be represented as 
@@ -977,55 +827,6 @@
     return Builder.CreateBitCast(Ops[0], 
                                  llvm::VectorType::get(llvm::Type::Int32Ty, 4));
   }
-  case X86::BI__builtin_ia32_vec_set_v4hi:
-  case X86::BI__builtin_ia32_vec_set_v8hi:
-    return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrw");
-  case X86::BI__builtin_ia32_vec_set_v4si:
-    return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrd");
-  case X86::BI__builtin_ia32_vec_set_v2di:
-    return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrq");
-  case X86::BI__builtin_ia32_andps:
-  case X86::BI__builtin_ia32_andpd:
-  case X86::BI__builtin_ia32_andnps:
-  case X86::BI__builtin_ia32_andnpd:
-  case X86::BI__builtin_ia32_orps:
-  case X86::BI__builtin_ia32_orpd:
-  case X86::BI__builtin_ia32_xorpd:
-  case X86::BI__builtin_ia32_xorps: {
-    const llvm::Type *ITy = llvm::VectorType::get(llvm::Type::Int32Ty, 4);
-    const llvm::Type *FTy = Ops[0]->getType();
-    Ops[0] = Builder.CreateBitCast(Ops[0], ITy, "bitcast");
-    Ops[1] = Builder.CreateBitCast(Ops[1], ITy, "bitcast");
-    switch (BuiltinID) {
-    case X86::BI__builtin_ia32_andps:
-      Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andps");
-      break;
-    case X86::BI__builtin_ia32_andpd:
-      Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andpd");
-      break;
-    case X86::BI__builtin_ia32_andnps:
-      Ops[0] = Builder.CreateNot(Ops[0], "not");
-      Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andnps");
-      break;
-    case X86::BI__builtin_ia32_andnpd:
-      Ops[0] = Builder.CreateNot(Ops[0], "not");
-      Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andnpd");
-      break;
-    case X86::BI__builtin_ia32_orps:
-      Ops[0] = Builder.CreateOr(Ops[0], Ops[1], "orps");
-      break;
-    case X86::BI__builtin_ia32_orpd:
-      Ops[0] = Builder.CreateOr(Ops[0], Ops[1], "orpd");
-      break;
-    case X86::BI__builtin_ia32_xorps:
-      Ops[0] = Builder.CreateXor(Ops[0], Ops[1], "xorps");
-      break;
-    case X86::BI__builtin_ia32_xorpd:
-      Ops[0] = Builder.CreateXor(Ops[0], Ops[1], "xorpd");
-      break;
-    }
-    return Builder.CreateBitCast(Ops[0], FTy, "bitcast");
-  }
   }
 }
 





More information about the cfe-commits mailing list