]> granicus.if.org Git - clang/commitdiff
Add correct types for the last remaining intrinsics.
authorAnders Carlsson <andersca@mac.com>
Wed, 28 Nov 2007 06:09:44 +0000 (06:09 +0000)
committerAnders Carlsson <andersca@mac.com>
Wed, 28 Nov 2007 06:09:44 +0000 (06:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44396 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/X86Builtins.def

index 99ed570f7e9639a61c52fcf0da2d9af1de331b2f..18ba684fee56db0cac5abd9d9d38fddd948126ee 100644 (file)
@@ -22,7 +22,8 @@
 
 BUILTIN(__builtin_ia32_emms  , "v", "")
 
-// FIXME: These types are incorrect.
+// FIXME: Are these nothrow/const?
+
 // SSE intrinsics.
 BUILTIN(__builtin_ia32_comieq, "iV4fV4f", "")
 BUILTIN(__builtin_ia32_comilt, "iV4fV4f", "")
@@ -217,42 +218,42 @@ BUILTIN(__builtin_ia32_packsswb128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_packssdw128, "V4iV4iV4i", "")
 BUILTIN(__builtin_ia32_packuswb128, "V8sV8sV8s", "")
 BUILTIN(__builtin_ia32_pmulhuw128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_addsubps, "v", "")
-BUILTIN(__builtin_ia32_addsubpd, "v", "")
-BUILTIN(__builtin_ia32_haddps, "v", "")
-BUILTIN(__builtin_ia32_haddpd, "v", "")
-BUILTIN(__builtin_ia32_hsubps, "v", "")
-BUILTIN(__builtin_ia32_hsubpd, "v", "")
-BUILTIN(__builtin_ia32_phaddw128, "v", "")
-BUILTIN(__builtin_ia32_phaddw, "v", "")
-BUILTIN(__builtin_ia32_phaddd128, "v", "")
-BUILTIN(__builtin_ia32_phaddd, "v", "")
-BUILTIN(__builtin_ia32_phaddsw128, "v", "")
-BUILTIN(__builtin_ia32_phaddsw, "v", "")
-BUILTIN(__builtin_ia32_phsubw128, "v", "")
-BUILTIN(__builtin_ia32_phsubw, "v", "")
-BUILTIN(__builtin_ia32_phsubd128, "v", "")
-BUILTIN(__builtin_ia32_phsubd, "v", "")
-BUILTIN(__builtin_ia32_phsubsw128, "v", "")
-BUILTIN(__builtin_ia32_phsubsw, "v", "")
-BUILTIN(__builtin_ia32_pmaddubsw128, "v", "")
-BUILTIN(__builtin_ia32_pmaddubsw, "v", "")
-BUILTIN(__builtin_ia32_pmulhrsw128, "v", "")
-BUILTIN(__builtin_ia32_pmulhrsw, "v", "")
-BUILTIN(__builtin_ia32_pshufb128, "v", "")
-BUILTIN(__builtin_ia32_pshufb, "v", "")
-BUILTIN(__builtin_ia32_psignb128, "v", "")
-BUILTIN(__builtin_ia32_psignb, "v", "")
-BUILTIN(__builtin_ia32_psignw128, "v", "")
-BUILTIN(__builtin_ia32_psignw, "v", "")
-BUILTIN(__builtin_ia32_psignd128, "v", "")
-BUILTIN(__builtin_ia32_psignd, "v", "")
-BUILTIN(__builtin_ia32_pabsb128, "v", "")
-BUILTIN(__builtin_ia32_pabsb, "v", "")
-BUILTIN(__builtin_ia32_pabsw128, "v", "")
-BUILTIN(__builtin_ia32_pabsw, "v", "")
-BUILTIN(__builtin_ia32_pabsd128, "v", "")
-BUILTIN(__builtin_ia32_pabsd, "v", "")
+BUILTIN(__builtin_ia32_addsubps, "V4fV4fV4f", "")
+BUILTIN(__builtin_ia32_addsubpd, "V2dV2dV2d", "")
+BUILTIN(__builtin_ia32_haddps, "V4fV4fV4f", "")
+BUILTIN(__builtin_ia32_haddpd, "V2dV2dV2d", "")
+BUILTIN(__builtin_ia32_hsubps, "V4fV4fV4f", "")
+BUILTIN(__builtin_ia32_hsubpd, "V2dV2dV2d", "")
+BUILTIN(__builtin_ia32_phaddw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_phaddw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_phaddd128, "V4iV4iV4i", "")
+BUILTIN(__builtin_ia32_phaddd, "V2iV2iV2i", "")
+BUILTIN(__builtin_ia32_phaddsw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_phaddsw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_phsubw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_phsubw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_phsubd128, "V4iV4iV4i", "")
+BUILTIN(__builtin_ia32_phsubd, "V2iV2iV2i", "")
+BUILTIN(__builtin_ia32_phsubsw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_phsubsw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_pmaddubsw128, "V16cV16cV16c", "")
+BUILTIN(__builtin_ia32_pmaddubsw, "V8cV8cV8c", "")
+BUILTIN(__builtin_ia32_pmulhrsw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_pmulhrsw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_pshufb128, "V16cV16cV16c", "")
+BUILTIN(__builtin_ia32_pshufb, "V8cV8cV8c", "")
+BUILTIN(__builtin_ia32_psignb128, "V16cV16cV16c", "")
+BUILTIN(__builtin_ia32_psignb, "V8cV8cV8c", "")
+BUILTIN(__builtin_ia32_psignw128, "V8sV8sV8s", "")
+BUILTIN(__builtin_ia32_psignw, "V4sV4sV4s", "")
+BUILTIN(__builtin_ia32_psignd128, "V4iV4iV4i", "")
+BUILTIN(__builtin_ia32_psignd, "V2iV2iV2i", "")
+BUILTIN(__builtin_ia32_pabsb128, "V16cV16c", "")
+BUILTIN(__builtin_ia32_pabsb, "V8cV8c", "")
+BUILTIN(__builtin_ia32_pabsw128, "V8sV8s", "")
+BUILTIN(__builtin_ia32_pabsw, "V4sV4s", "")
+BUILTIN(__builtin_ia32_pabsd128, "V4iV4i", "")
+BUILTIN(__builtin_ia32_pabsd, "V2iV2i", "")
 BUILTIN(__builtin_ia32_psllw, "V4sV4sV1LLi", "")
 BUILTIN(__builtin_ia32_pslld, "V2iV2iV1LLi", "")
 BUILTIN(__builtin_ia32_psllq, "V1LLiV1LLiV1LLi", "")
@@ -261,7 +262,7 @@ BUILTIN(__builtin_ia32_psrld, "V2iV2iV1LLi", "")
 BUILTIN(__builtin_ia32_psrlq, "V1LLiV1LLiV1LLi", "")
 BUILTIN(__builtin_ia32_psraw, "V4sV4sV1LLi", "")
 BUILTIN(__builtin_ia32_psrad, "V2iV2iV1LLi", "")
-BUILTIN(__builtin_ia32_pshufw, "v", "")
+BUILTIN(__builtin_ia32_pshufw, "V4sV4si", "")
 BUILTIN(__builtin_ia32_pmaddwd, "V2iV4sV4s", "")
 BUILTIN(__builtin_ia32_packsswb, "V8cV4sV4s", "")
 BUILTIN(__builtin_ia32_packssdw, "V4sV2iV2i", "")
@@ -271,12 +272,12 @@ BUILTIN(__builtin_ia32_stmxcsr, "Ui", "")
 BUILTIN(__builtin_ia32_cvtpi2ps, "V4fV4fV2i", "")
 BUILTIN(__builtin_ia32_cvtps2pi, "V2iV4f", "")
 BUILTIN(__builtin_ia32_cvtsi2ss, "V4fV4fi", "")
-BUILTIN(__builtin_ia32_cvtsi642ss, "v", "")
+BUILTIN(__builtin_ia32_cvtsi642ss, "V4fV4fLLi", "")
 BUILTIN(__builtin_ia32_cvtss2si, "iV4f", "")
-BUILTIN(__builtin_ia32_cvtss2si64, "v", "")
+BUILTIN(__builtin_ia32_cvtss2si64, "LLiV4f", "")
 BUILTIN(__builtin_ia32_cvttps2pi, "V2iV4f", "")
 BUILTIN(__builtin_ia32_cvttss2si, "iV4f", "")
-BUILTIN(__builtin_ia32_cvttss2si64, "v", "")
+BUILTIN(__builtin_ia32_cvttss2si64, "LLiV4f", "")
 BUILTIN(__builtin_ia32_maskmovq, "vV8cV8cc*", "")
 BUILTIN(__builtin_ia32_loadups, "V4ffC*", "")
 BUILTIN(__builtin_ia32_storeups, "vf*V4f", "")
@@ -298,31 +299,31 @@ BUILTIN(__builtin_ia32_sqrtps, "V4fV4f", "")
 BUILTIN(__builtin_ia32_sqrtss, "V4fV4f", "")
 BUILTIN(__builtin_ia32_shufps, "V4fV4fV4fi", "")
 BUILTIN(__builtin_ia32_femms, "v", "")
-BUILTIN(__builtin_ia32_pavgusb, "v", "")
-BUILTIN(__builtin_ia32_pf2id, "v", "")
-BUILTIN(__builtin_ia32_pfacc, "v", "")
-BUILTIN(__builtin_ia32_pfadd, "v", "")
-BUILTIN(__builtin_ia32_pfcmpeq, "v", "")
-BUILTIN(__builtin_ia32_pfcmpge, "v", "")
-BUILTIN(__builtin_ia32_pfcmpgt, "v", "")
-BUILTIN(__builtin_ia32_pfmax, "v", "")
-BUILTIN(__builtin_ia32_pfmin, "v", "")
-BUILTIN(__builtin_ia32_pfmul, "v", "")
-BUILTIN(__builtin_ia32_pfrcp, "v", "")
-BUILTIN(__builtin_ia32_pfrcpit1, "v", "")
-BUILTIN(__builtin_ia32_pfrcpit2, "v", "")
-BUILTIN(__builtin_ia32_pfrsqrt, "v", "")
-BUILTIN(__builtin_ia32_pfrsqit1, "v", "")
-BUILTIN(__builtin_ia32_pfsub, "v", "")
-BUILTIN(__builtin_ia32_pfsubr, "v", "")
-BUILTIN(__builtin_ia32_pi2fd, "v", "")
-BUILTIN(__builtin_ia32_pmulhrw, "v", "")
-BUILTIN(__builtin_ia32_pf2iw, "v", "")
-BUILTIN(__builtin_ia32_pfnacc, "v", "")
-BUILTIN(__builtin_ia32_pfpnacc, "v", "")
-BUILTIN(__builtin_ia32_pi2fw, "v", "")
-BUILTIN(__builtin_ia32_pswapdsf, "v", "")
-BUILTIN(__builtin_ia32_pswapdsi, "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, "V2fV2fV2f", "")
+BUILTIN(__builtin_ia32_pfcmpge, "V2fV2fV2f", "")
+BUILTIN(__builtin_ia32_pfcmpgt, "V2fV2fV2f", "")
+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, "V2dd*C", "")
 BUILTIN(__builtin_ia32_storeupd, "vd*V2d", "")
@@ -334,8 +335,8 @@ 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, "v", "")
-BUILTIN(__builtin_ia32_pshufhw, "v", "")
+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", "")
@@ -350,13 +351,13 @@ BUILTIN(__builtin_ia32_cvttpd2pi, "V2iV2d", "")
 BUILTIN(__builtin_ia32_cvtpi2pd, "V2dV2i", "")
 BUILTIN(__builtin_ia32_cvtsd2si, "iV2d", "")
 BUILTIN(__builtin_ia32_cvttsd2si, "iV2d", "")
-BUILTIN(__builtin_ia32_cvtsd2si64, "v", "")
-BUILTIN(__builtin_ia32_cvttsd2si64, "v", "")
+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, "v", "")
+BUILTIN(__builtin_ia32_cvtsi642sd, "V2dV2dLLi", "")
 BUILTIN(__builtin_ia32_cvtsd2ss, "V4fV4fV2d", "")
 BUILTIN(__builtin_ia32_cvtss2sd, "V2dV2dV4f", "")
 BUILTIN(__builtin_ia32_clflush, "vv*C", "")
@@ -374,32 +375,23 @@ BUILTIN(__builtin_ia32_psrldi, "V2iV2ii", "")
 BUILTIN(__builtin_ia32_psrlqi, "V1LLiV1LLii", "")
 BUILTIN(__builtin_ia32_pmuludq, "V1LLiV2iV2i", "")
 BUILTIN(__builtin_ia32_pmuludq128, "V2LLiV4iV4i", "")
-BUILTIN(__builtin_ia32_psllw128, "v", "")
-BUILTIN(__builtin_ia32_pslld128, "v", "")
-BUILTIN(__builtin_ia32_psllq128, "v", "")
-BUILTIN(__builtin_ia32_psrlw128, "v", "")
 BUILTIN(__builtin_ia32_psrld128, "V2iV2iV1LLi", "")
-BUILTIN(__builtin_ia32_psrlq128, "v", "")
-BUILTIN(__builtin_ia32_psraw128, "v", "")
-BUILTIN(__builtin_ia32_psrad128, "v", "")
-BUILTIN(__builtin_ia32_pslldqi128, "v", "")
 BUILTIN(__builtin_ia32_psllwi128, "V8sV8si", "")
 BUILTIN(__builtin_ia32_pslldi128, "V4iV4ii", "")
 BUILTIN(__builtin_ia32_psllqi128, "V2LLiV2LLii", "")
-BUILTIN(__builtin_ia32_psrldqi128, "v", "")
 BUILTIN(__builtin_ia32_psrlwi128, "V8sV8si", "")
 BUILTIN(__builtin_ia32_psrldi128, "V4iV4ii", "")
 BUILTIN(__builtin_ia32_psrlqi128, "V2LLiV2LLii", "")
 BUILTIN(__builtin_ia32_psrawi128, "V8sV8si", "")
 BUILTIN(__builtin_ia32_psradi128, "V4iV4ii", "")
 BUILTIN(__builtin_ia32_pmaddwd128, "V8sV8sV8s", "")
-BUILTIN(__builtin_ia32_monitor, "v", "")
-BUILTIN(__builtin_ia32_mwait, "v", "")
-BUILTIN(__builtin_ia32_movshdup, "v", "")
-BUILTIN(__builtin_ia32_movsldup, "v", "")
-BUILTIN(__builtin_ia32_lddqu, "v", "")
-BUILTIN(__builtin_ia32_palignr128, "v", "")
-BUILTIN(__builtin_ia32_palignr, "v", "")
+BUILTIN(__builtin_ia32_monitor, "vv*UiUi", "")
+BUILTIN(__builtin_ia32_mwait, "vUiUi", "")
+BUILTIN(__builtin_ia32_movshdup, "V4fV4f", "")
+BUILTIN(__builtin_ia32_movsldup, "V4fV4f", "")
+BUILTIN(__builtin_ia32_lddqu, "V16ccC*", "")
+BUILTIN(__builtin_ia32_palignr128, "V2LLiV2LLii", "")
+BUILTIN(__builtin_ia32_palignr, "V1LLiV1LLii", "")
 BUILTIN(__builtin_ia32_vec_init_v2si, "V2iii", "")
 BUILTIN(__builtin_ia32_vec_init_v4hi, "V4sssss", "")
 BUILTIN(__builtin_ia32_vec_init_v8qi, "V8ccccccccc", "")