[llvm-commits] [dragonegg] r85803 - in /dragonegg/trunk: TODO x86/llvm-target.cpp
Duncan Sands
baldrick at free.fr
Mon Nov 2 07:56:37 PST 2009
Author: baldrick
Date: Mon Nov 2 09:56:37 2009
New Revision: 85803
URL: http://llvm.org/viewvc/llvm-project?rev=85803&view=rev
Log:
Add the list of all x86 builtins supported by gcc-4.5, with ones
we don't support commented out. This way it is easy to see what
needs doing. Add a note about how we could easily add support
for several gcc builtins. Comment out the IX86_BUILTIN_LOADQ
expansion code from llvm-gcc, because I couldn't work out which
gcc intrinsic (if any) it corresponds to.
Modified:
dragonegg/trunk/TODO
dragonegg/trunk/x86/llvm-target.cpp
Modified: dragonegg/trunk/TODO
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/TODO?rev=85803&r1=85802&r2=85803&view=diff
==============================================================================
--- dragonegg/trunk/TODO (original)
+++ dragonegg/trunk/TODO Mon Nov 2 09:56:37 2009
@@ -62,3 +62,7 @@
Output proper debug info rather than throwing most of it away.
Add support for exception handling.
+
+Many x86 specific builtins are not supported, even though it would be easy to
+add support for some of them, for example the 256 bit versions of builtins we
+do support. Improve this.
Modified: dragonegg/trunk/x86/llvm-target.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/x86/llvm-target.cpp?rev=85803&r1=85802&r2=85803&view=diff
==============================================================================
--- dragonegg/trunk/x86/llvm-target.cpp (original)
+++ dragonegg/trunk/x86/llvm-target.cpp Mon Nov 2 09:56:37 2009
@@ -82,18 +82,42 @@
const Type *ResultType,
std::vector<Value*> &Ops) {
const HandlerEntry Handlers[] = {
+ // Unsupported builtins are commented out.
{"__builtin_ia32_addpd", &&IX86_BUILTIN_ADDPD},
- {"__builtin_ia32_addpd256", &&IX86_BUILTIN_ADDPD},
+ //{"__builtin_ia32_addpd256", &&IX86_BUILTIN_ADDPD256},
{"__builtin_ia32_addps", &&IX86_BUILTIN_ADDPS},
- {"__builtin_ia32_addps256", &&IX86_BUILTIN_ADDPS},
+ //{"__builtin_ia32_addps256", &&IX86_BUILTIN_ADDPS256},
+ //{"__builtin_ia32_addsd", &&IX86_BUILTIN_ADDSD},
+ //{"__builtin_ia32_addss", &&IX86_BUILTIN_ADDSS},
+ //{"__builtin_ia32_addsubpd", &&IX86_BUILTIN_ADDSUBPD},
+ //{"__builtin_ia32_addsubpd256", &&IX86_BUILTIN_ADDSUBPD256},
+ //{"__builtin_ia32_addsubps", &&IX86_BUILTIN_ADDSUBPS},
+ //{"__builtin_ia32_addsubps256", &&IX86_BUILTIN_ADDSUBPS256},
+ //{"__builtin_ia32_aesdec128", &&IX86_BUILTIN_AESDEC128},
+ //{"__builtin_ia32_aesdeclast128", &&IX86_BUILTIN_AESDECLAST128},
+ //{"__builtin_ia32_aesenc128", &&IX86_BUILTIN_AESENC128},
+ //{"__builtin_ia32_aesenclast128", &&IX86_BUILTIN_AESENCLAST128},
+ //{"__builtin_ia32_aesimc128", &&IX86_BUILTIN_AESIMC128},
+ //{"__builtin_ia32_aeskeygenassist128", &&IX86_BUILTIN_AESKEYGENASSIST128},
{"__builtin_ia32_andnpd", &&IX86_BUILTIN_ANDNPD},
- {"__builtin_ia32_andnpd256", &&IX86_BUILTIN_ANDNPD},
+ //{"__builtin_ia32_andnpd256", &&IX86_BUILTIN_ANDNPD256},
{"__builtin_ia32_andnps", &&IX86_BUILTIN_ANDNPS},
- {"__builtin_ia32_andnps256", &&IX86_BUILTIN_ANDNPS},
+ //{"__builtin_ia32_andnps256", &&IX86_BUILTIN_ANDNPS256},
{"__builtin_ia32_andpd", &&IX86_BUILTIN_ANDPD},
- {"__builtin_ia32_andpd256", &&IX86_BUILTIN_ANDPD},
+ //{"__builtin_ia32_andpd256", &&IX86_BUILTIN_ANDPD256},
{"__builtin_ia32_andps", &&IX86_BUILTIN_ANDPS},
- {"__builtin_ia32_andps256", &&IX86_BUILTIN_ANDPS},
+ //{"__builtin_ia32_andps256", &&IX86_BUILTIN_ANDPS256},
+ //{"__builtin_ia32_blendpd", &&IX86_BUILTIN_BLENDPD},
+ //{"__builtin_ia32_blendpd256", &&IX86_BUILTIN_BLENDPD256},
+ //{"__builtin_ia32_blendps", &&IX86_BUILTIN_BLENDPS},
+ //{"__builtin_ia32_blendps256", &&IX86_BUILTIN_BLENDPS256},
+ //{"__builtin_ia32_blendvpd", &&IX86_BUILTIN_BLENDVPD},
+ //{"__builtin_ia32_blendvpd256", &&IX86_BUILTIN_BLENDVPD256},
+ //{"__builtin_ia32_blendvps", &&IX86_BUILTIN_BLENDVPS},
+ //{"__builtin_ia32_blendvps256", &&IX86_BUILTIN_BLENDVPS256},
+ //{"__builtin_ia32_bsrdi", &&IX86_BUILTIN_BSRDI},
+ //{"__builtin_ia32_bsrsi", &&IX86_BUILTIN_BSRSI},
+ //{"__builtin_ia32_clflush", &&IX86_BUILTIN_CLFLUSH},
{"__builtin_ia32_cmpeqpd", &&IX86_BUILTIN_CMPEQPD},
{"__builtin_ia32_cmpeqps", &&IX86_BUILTIN_CMPEQPS},
{"__builtin_ia32_cmpeqsd", &&IX86_BUILTIN_CMPEQSD},
@@ -116,8 +140,10 @@
{"__builtin_ia32_cmpneqss", &&IX86_BUILTIN_CMPNEQSS},
{"__builtin_ia32_cmpngepd", &&IX86_BUILTIN_CMPNGEPD},
{"__builtin_ia32_cmpngeps", &&IX86_BUILTIN_CMPNGEPS},
+ //{"__builtin_ia32_cmpngess", &&IX86_BUILTIN_CMPNGESS},
{"__builtin_ia32_cmpngtpd", &&IX86_BUILTIN_CMPNGTPD},
{"__builtin_ia32_cmpngtps", &&IX86_BUILTIN_CMPNGTPS},
+ //{"__builtin_ia32_cmpngtss", &&IX86_BUILTIN_CMPNGTSS},
{"__builtin_ia32_cmpnlepd", &&IX86_BUILTIN_CMPNLEPD},
{"__builtin_ia32_cmpnleps", &&IX86_BUILTIN_CMPNLEPS},
{"__builtin_ia32_cmpnlesd", &&IX86_BUILTIN_CMPNLESD},
@@ -130,71 +156,400 @@
{"__builtin_ia32_cmpordps", &&IX86_BUILTIN_CMPORDPS},
{"__builtin_ia32_cmpordsd", &&IX86_BUILTIN_CMPORDSD},
{"__builtin_ia32_cmpordss", &&IX86_BUILTIN_CMPORDSS},
+ //{"__builtin_ia32_cmppd", &&IX86_BUILTIN_CMPPD},
+ //{"__builtin_ia32_cmppd256", &&IX86_BUILTIN_CMPPD256},
+ //{"__builtin_ia32_cmpps", &&IX86_BUILTIN_CMPPS},
+ //{"__builtin_ia32_cmpps256", &&IX86_BUILTIN_CMPPS256},
+ //{"__builtin_ia32_cmpsd", &&IX86_BUILTIN_CMPSD},
+ //{"__builtin_ia32_cmpss", &&IX86_BUILTIN_CMPSS},
{"__builtin_ia32_cmpunordpd", &&IX86_BUILTIN_CMPUNORDPD},
{"__builtin_ia32_cmpunordps", &&IX86_BUILTIN_CMPUNORDPS},
{"__builtin_ia32_cmpunordsd", &&IX86_BUILTIN_CMPUNORDSD},
{"__builtin_ia32_cmpunordss", &&IX86_BUILTIN_CMPUNORDSS},
+ //{"__builtin_ia32_comieq", &&IX86_BUILTIN_COMIEQSS},
+ //{"__builtin_ia32_comige", &&IX86_BUILTIN_COMIGESS},
+ //{"__builtin_ia32_comigt", &&IX86_BUILTIN_COMIGTSS},
+ //{"__builtin_ia32_comile", &&IX86_BUILTIN_COMILESS},
+ //{"__builtin_ia32_comilt", &&IX86_BUILTIN_COMILTSS},
+ //{"__builtin_ia32_comineq", &&IX86_BUILTIN_COMINEQSS},
+ //{"__builtin_ia32_comisdeq", &&IX86_BUILTIN_COMIEQSD},
+ //{"__builtin_ia32_comisdge", &&IX86_BUILTIN_COMIGESD},
+ //{"__builtin_ia32_comisdgt", &&IX86_BUILTIN_COMIGTSD},
+ //{"__builtin_ia32_comisdle", &&IX86_BUILTIN_COMILESD},
+ //{"__builtin_ia32_comisdlt", &&IX86_BUILTIN_COMILTSD},
+ //{"__builtin_ia32_comisdneq", &&IX86_BUILTIN_COMINEQSD},
+ //{"__builtin_ia32_copysignpd", &&IX86_BUILTIN_CPYSGNPD},
+ //{"__builtin_ia32_copysignps", &&IX86_BUILTIN_CPYSGNPS},
+ //{"__builtin_ia32_crc32di", &&IX86_BUILTIN_CRC32DI},
+ //{"__builtin_ia32_crc32hi", &&IX86_BUILTIN_CRC32HI},
+ //{"__builtin_ia32_crc32qi", &&IX86_BUILTIN_CRC32QI},
+ //{"__builtin_ia32_crc32si", &&IX86_BUILTIN_CRC32SI},
+ //{"__builtin_ia32_cvtdq2pd", &&IX86_BUILTIN_CVTDQ2PD},
+ //{"__builtin_ia32_cvtdq2pd256", &&IX86_BUILTIN_CVTDQ2PD256},
+ //{"__builtin_ia32_cvtdq2ps", &&IX86_BUILTIN_CVTDQ2PS},
+ //{"__builtin_ia32_cvtdq2ps256", &&IX86_BUILTIN_CVTDQ2PS256},
+ //{"__builtin_ia32_cvtpd2dq", &&IX86_BUILTIN_CVTPD2DQ},
+ //{"__builtin_ia32_cvtpd2dq256", &&IX86_BUILTIN_CVTPD2DQ256},
+ //{"__builtin_ia32_cvtpd2pi", &&IX86_BUILTIN_CVTPD2PI},
+ //{"__builtin_ia32_cvtpd2ps", &&IX86_BUILTIN_CVTPD2PS},
+ //{"__builtin_ia32_cvtpd2ps256", &&IX86_BUILTIN_CVTPD2PS256},
+ //{"__builtin_ia32_cvtpi2pd", &&IX86_BUILTIN_CVTPI2PD},
+ //{"__builtin_ia32_cvtpi2ps", &&IX86_BUILTIN_CVTPI2PS},
+ //{"__builtin_ia32_cvtps2dq", &&IX86_BUILTIN_CVTPS2DQ},
+ //{"__builtin_ia32_cvtps2dq256", &&IX86_BUILTIN_CVTPS2DQ256},
+ //{"__builtin_ia32_cvtps2pd", &&IX86_BUILTIN_CVTPS2PD},
+ //{"__builtin_ia32_cvtps2pd256", &&IX86_BUILTIN_CVTPS2PD256},
+ //{"__builtin_ia32_cvtps2pi", &&IX86_BUILTIN_CVTPS2PI},
+ //{"__builtin_ia32_cvtsd2si", &&IX86_BUILTIN_CVTSD2SI},
+ //{"__builtin_ia32_cvtsd2si64", &&IX86_BUILTIN_CVTSD2SI64},
+ //{"__builtin_ia32_cvtsd2ss", &&IX86_BUILTIN_CVTSD2SS},
+ //{"__builtin_ia32_cvtsi2sd", &&IX86_BUILTIN_CVTSI2SD},
+ //{"__builtin_ia32_cvtsi2ss", &&IX86_BUILTIN_CVTSI2SS},
+ //{"__builtin_ia32_cvtsi642sd", &&IX86_BUILTIN_CVTSI642SD},
+ //{"__builtin_ia32_cvtsi642ss", &&IX86_BUILTIN_CVTSI642SS},
+ //{"__builtin_ia32_cvtss2sd", &&IX86_BUILTIN_CVTSS2SD},
+ //{"__builtin_ia32_cvtss2si", &&IX86_BUILTIN_CVTSS2SI},
+ //{"__builtin_ia32_cvtss2si64", &&IX86_BUILTIN_CVTSS2SI64},
+ //{"__builtin_ia32_cvttpd2dq", &&IX86_BUILTIN_CVTTPD2DQ},
+ //{"__builtin_ia32_cvttpd2dq256", &&IX86_BUILTIN_CVTTPD2DQ256},
+ //{"__builtin_ia32_cvttpd2pi", &&IX86_BUILTIN_CVTTPD2PI},
+ //{"__builtin_ia32_cvttps2dq", &&IX86_BUILTIN_CVTTPS2DQ},
+ //{"__builtin_ia32_cvttps2dq256", &&IX86_BUILTIN_CVTTPS2DQ256},
+ //{"__builtin_ia32_cvttps2pi", &&IX86_BUILTIN_CVTTPS2PI},
+ //{"__builtin_ia32_cvttsd2si", &&IX86_BUILTIN_CVTTSD2SI},
+ //{"__builtin_ia32_cvttsd2si64", &&IX86_BUILTIN_CVTTSD2SI64},
+ //{"__builtin_ia32_cvttss2si", &&IX86_BUILTIN_CVTTSS2SI},
+ //{"__builtin_ia32_cvttss2si64", &&IX86_BUILTIN_CVTTSS2SI64},
+ //{"__builtin_ia32_cvtudq2ps", &&IX86_BUILTIN_CVTUDQ2PS},
{"__builtin_ia32_divpd", &&IX86_BUILTIN_DIVPD},
- {"__builtin_ia32_divpd256", &&IX86_BUILTIN_DIVPD},
+ //{"__builtin_ia32_divpd256", &&IX86_BUILTIN_DIVPD256},
{"__builtin_ia32_divps", &&IX86_BUILTIN_DIVPS},
- {"__builtin_ia32_divps256", &&IX86_BUILTIN_DIVPS},
+ //{"__builtin_ia32_divps256", &&IX86_BUILTIN_DIVPS256},
+ //{"__builtin_ia32_divsd", &&IX86_BUILTIN_DIVSD},
+ //{"__builtin_ia32_divss", &&IX86_BUILTIN_DIVSS},
+ //{"__builtin_ia32_dppd", &&IX86_BUILTIN_DPPD},
+ //{"__builtin_ia32_dpps", &&IX86_BUILTIN_DPPS},
+ //{"__builtin_ia32_dpps256", &&IX86_BUILTIN_DPPS256},
+ //{"__builtin_ia32_emms", &&IX86_BUILTIN_EMMS},
+ //{"__builtin_ia32_extrq", &&IX86_BUILTIN_EXTRQ},
+ //{"__builtin_ia32_extrqi", &&IX86_BUILTIN_EXTRQI},
+ //{"__builtin_ia32_femms", &&IX86_BUILTIN_FEMMS},
+ //{"__builtin_ia32_haddpd", &&IX86_BUILTIN_HADDPD},
+ //{"__builtin_ia32_haddpd256", &&IX86_BUILTIN_HADDPD256},
+ //{"__builtin_ia32_haddps", &&IX86_BUILTIN_HADDPS},
+ //{"__builtin_ia32_haddps256", &&IX86_BUILTIN_HADDPS256},
+ //{"__builtin_ia32_hsubpd", &&IX86_BUILTIN_HSUBPD},
+ //{"__builtin_ia32_hsubpd256", &&IX86_BUILTIN_HSUBPD256},
+ //{"__builtin_ia32_hsubps", &&IX86_BUILTIN_HSUBPS},
+ //{"__builtin_ia32_hsubps256", &&IX86_BUILTIN_HSUBPS256},
+ //{"__builtin_ia32_insertps128", &&IX86_BUILTIN_INSERTPS128},
+ //{"__builtin_ia32_insertq", &&IX86_BUILTIN_INSERTQ},
+ //{"__builtin_ia32_insertqi", &&IX86_BUILTIN_INSERTQI},
+ //{"__builtin_ia32_lddqu", &&IX86_BUILTIN_LDDQU},
+ //{"__builtin_ia32_lddqu256", &&IX86_BUILTIN_LDDQU256},
{"__builtin_ia32_ldmxcsr", &&IX86_BUILTIN_LDMXCSR},
+ //{"__builtin_ia32_lfence", &&IX86_BUILTIN_LFENCE},
{"__builtin_ia32_loaddqu", &&IX86_BUILTIN_LOADDQU},
- {"__builtin_ia32_loaddqu256", &&IX86_BUILTIN_LOADDQU},
+ //{"__builtin_ia32_loaddqu256", &&IX86_BUILTIN_LOADDQU256},
{"__builtin_ia32_loadhpd", &&IX86_BUILTIN_LOADHPD},
{"__builtin_ia32_loadhps", &&IX86_BUILTIN_LOADHPS},
{"__builtin_ia32_loadlpd", &&IX86_BUILTIN_LOADLPD},
{"__builtin_ia32_loadlps", &&IX86_BUILTIN_LOADLPS},
- {"__builtin_ia32_loadlv4si", &&IX86_BUILTIN_LOADQ},
{"__builtin_ia32_loadupd", &&IX86_BUILTIN_LOADUPD},
- {"__builtin_ia32_loadupd256", &&IX86_BUILTIN_LOADUPD},
+ //{"__builtin_ia32_loadupd256", &&IX86_BUILTIN_LOADUPD256},
{"__builtin_ia32_loadups", &&IX86_BUILTIN_LOADUPS},
- {"__builtin_ia32_loadups256", &&IX86_BUILTIN_LOADUPS},
+ //{"__builtin_ia32_loadups256", &&IX86_BUILTIN_LOADUPS256},
+ //{"__builtin_ia32_maskloadpd", &&IX86_BUILTIN_MASKLOADPD},
+ //{"__builtin_ia32_maskloadpd256", &&IX86_BUILTIN_MASKLOADPD256},
+ //{"__builtin_ia32_maskloadps", &&IX86_BUILTIN_MASKLOADPS},
+ //{"__builtin_ia32_maskloadps256", &&IX86_BUILTIN_MASKLOADPS256},
+ //{"__builtin_ia32_maskmovdqu", &&IX86_BUILTIN_MASKMOVDQU},
+ //{"__builtin_ia32_maskmovq", &&IX86_BUILTIN_MASKMOVQ},
+ //{"__builtin_ia32_maskstorepd", &&IX86_BUILTIN_MASKSTOREPD},
+ //{"__builtin_ia32_maskstorepd256", &&IX86_BUILTIN_MASKSTOREPD256},
+ //{"__builtin_ia32_maskstoreps", &&IX86_BUILTIN_MASKSTOREPS},
+ //{"__builtin_ia32_maskstoreps256", &&IX86_BUILTIN_MASKSTOREPS256},
+ //{"__builtin_ia32_maxpd", &&IX86_BUILTIN_MAXPD},
+ //{"__builtin_ia32_maxpd256", &&IX86_BUILTIN_MAXPD256},
+ //{"__builtin_ia32_maxps", &&IX86_BUILTIN_MAXPS},
+ //{"__builtin_ia32_maxps256", &&IX86_BUILTIN_MAXPS256},
+ //{"__builtin_ia32_maxsd", &&IX86_BUILTIN_MAXSD},
+ //{"__builtin_ia32_maxss", &&IX86_BUILTIN_MAXSS},
+ //{"__builtin_ia32_mfence", &&IX86_BUILTIN_MFENCE},
+ //{"__builtin_ia32_minpd", &&IX86_BUILTIN_MINPD},
+ //{"__builtin_ia32_minpd256", &&IX86_BUILTIN_MINPD256},
+ //{"__builtin_ia32_minps", &&IX86_BUILTIN_MINPS},
+ //{"__builtin_ia32_minps256", &&IX86_BUILTIN_MINPS256},
+ //{"__builtin_ia32_minsd", &&IX86_BUILTIN_MINSD},
+ //{"__builtin_ia32_minss", &&IX86_BUILTIN_MINSS},
+ //{"__builtin_ia32_monitor", &&IX86_BUILTIN_MONITOR},
+ //{"__builtin_ia32_movddup256", &&IX86_BUILTIN_MOVDDUP256},
{"__builtin_ia32_movhlps", &&IX86_BUILTIN_MOVHLPS},
{"__builtin_ia32_movlhps", &&IX86_BUILTIN_MOVLHPS},
+ //{"__builtin_ia32_movmskpd", &&IX86_BUILTIN_MOVMSKPD},
+ //{"__builtin_ia32_movmskpd256", &&IX86_BUILTIN_MOVMSKPD256},
+ //{"__builtin_ia32_movmskps", &&IX86_BUILTIN_MOVMSKPS},
+ //{"__builtin_ia32_movmskps256", &&IX86_BUILTIN_MOVMSKPS256},
+ //{"__builtin_ia32_movntdq", &&IX86_BUILTIN_MOVNTDQ},
+ //{"__builtin_ia32_movntdq256", &&IX86_BUILTIN_MOVNTDQ256},
+ //{"__builtin_ia32_movntdqa", &&IX86_BUILTIN_MOVNTDQA},
+ //{"__builtin_ia32_movnti", &&IX86_BUILTIN_MOVNTI},
+ //{"__builtin_ia32_movntpd", &&IX86_BUILTIN_MOVNTPD},
+ //{"__builtin_ia32_movntpd256", &&IX86_BUILTIN_MOVNTPD256},
+ //{"__builtin_ia32_movntps", &&IX86_BUILTIN_MOVNTPS},
+ //{"__builtin_ia32_movntps256", &&IX86_BUILTIN_MOVNTPS256},
+ //{"__builtin_ia32_movntq", &&IX86_BUILTIN_MOVNTQ},
+ //{"__builtin_ia32_movntsd", &&IX86_BUILTIN_MOVNTSD},
+ //{"__builtin_ia32_movntss", &&IX86_BUILTIN_MOVNTSS},
{"__builtin_ia32_movq128", &&IX86_BUILTIN_MOVQ128},
{"__builtin_ia32_movsd", &&IX86_BUILTIN_MOVSD},
{"__builtin_ia32_movshdup", &&IX86_BUILTIN_MOVSHDUP},
- {"__builtin_ia32_movshdup256", &&IX86_BUILTIN_MOVSHDUP},
+ //{"__builtin_ia32_movshdup256", &&IX86_BUILTIN_MOVSHDUP256},
{"__builtin_ia32_movsldup", &&IX86_BUILTIN_MOVSLDUP},
- {"__builtin_ia32_movsldup256", &&IX86_BUILTIN_MOVSLDUP},
+ //{"__builtin_ia32_movsldup256", &&IX86_BUILTIN_MOVSLDUP256},
{"__builtin_ia32_movss", &&IX86_BUILTIN_MOVSS},
+ //{"__builtin_ia32_mpsadbw128", &&IX86_BUILTIN_MPSADBW128},
{"__builtin_ia32_mulpd", &&IX86_BUILTIN_MULPD},
- {"__builtin_ia32_mulpd256", &&IX86_BUILTIN_MULPD},
+ //{"__builtin_ia32_mulpd256", &&IX86_BUILTIN_MULPD256},
{"__builtin_ia32_mulps", &&IX86_BUILTIN_MULPS},
- {"__builtin_ia32_mulps256", &&IX86_BUILTIN_MULPS},
+ //{"__builtin_ia32_mulps256", &&IX86_BUILTIN_MULPS256},
+ //{"__builtin_ia32_mulsd", &&IX86_BUILTIN_MULSD},
+ //{"__builtin_ia32_mulss", &&IX86_BUILTIN_MULSS},
+ //{"__builtin_ia32_mwait", &&IX86_BUILTIN_MWAIT},
{"__builtin_ia32_orpd", &&IX86_BUILTIN_ORPD},
- {"__builtin_ia32_orpd256", &&IX86_BUILTIN_ORPD},
+ //{"__builtin_ia32_orpd256", &&IX86_BUILTIN_ORPD256},
{"__builtin_ia32_orps", &&IX86_BUILTIN_ORPS},
- {"__builtin_ia32_orps256", &&IX86_BUILTIN_ORPS},
+ //{"__builtin_ia32_orps256", &&IX86_BUILTIN_ORPS256},
+ //{"__builtin_ia32_pabsb", &&IX86_BUILTIN_PABSB},
+ //{"__builtin_ia32_pabsb128", &&IX86_BUILTIN_PABSB128},
+ //{"__builtin_ia32_pabsd", &&IX86_BUILTIN_PABSD},
+ //{"__builtin_ia32_pabsd128", &&IX86_BUILTIN_PABSD128},
+ //{"__builtin_ia32_pabsw", &&IX86_BUILTIN_PABSW},
+ //{"__builtin_ia32_pabsw128", &&IX86_BUILTIN_PABSW128},
+ //{"__builtin_ia32_packssdw", &&IX86_BUILTIN_PACKSSDW},
+ //{"__builtin_ia32_packssdw128", &&IX86_BUILTIN_PACKSSDW128},
+ //{"__builtin_ia32_packsswb", &&IX86_BUILTIN_PACKSSWB},
+ //{"__builtin_ia32_packsswb128", &&IX86_BUILTIN_PACKSSWB128},
+ //{"__builtin_ia32_packusdw128", &&IX86_BUILTIN_PACKUSDW128},
+ //{"__builtin_ia32_packuswb", &&IX86_BUILTIN_PACKUSWB},
+ //{"__builtin_ia32_packuswb128", &&IX86_BUILTIN_PACKUSWB128},
{"__builtin_ia32_paddb", &&IX86_BUILTIN_PADDB},
{"__builtin_ia32_paddb128", &&IX86_BUILTIN_PADDB128},
{"__builtin_ia32_paddd", &&IX86_BUILTIN_PADDD},
{"__builtin_ia32_paddd128", &&IX86_BUILTIN_PADDD128},
{"__builtin_ia32_paddq", &&IX86_BUILTIN_PADDQ},
{"__builtin_ia32_paddq128", &&IX86_BUILTIN_PADDQ128},
+ //{"__builtin_ia32_paddsb", &&IX86_BUILTIN_PADDSB},
+ //{"__builtin_ia32_paddsb128", &&IX86_BUILTIN_PADDSB128},
+ //{"__builtin_ia32_paddsw", &&IX86_BUILTIN_PADDSW},
+ //{"__builtin_ia32_paddsw128", &&IX86_BUILTIN_PADDSW128},
+ //{"__builtin_ia32_paddusb", &&IX86_BUILTIN_PADDUSB},
+ //{"__builtin_ia32_paddusb128", &&IX86_BUILTIN_PADDUSB128},
+ //{"__builtin_ia32_paddusw", &&IX86_BUILTIN_PADDUSW},
+ //{"__builtin_ia32_paddusw128", &&IX86_BUILTIN_PADDUSW128},
{"__builtin_ia32_paddw", &&IX86_BUILTIN_PADDW},
{"__builtin_ia32_paddw128", &&IX86_BUILTIN_PADDW128},
+ //{"__builtin_ia32_palignr", &&IX86_BUILTIN_PALIGNR},
+ //{"__builtin_ia32_palignr128", &&IX86_BUILTIN_PALIGNR128},
{"__builtin_ia32_pand", &&IX86_BUILTIN_PAND},
{"__builtin_ia32_pand128", &&IX86_BUILTIN_PAND128},
{"__builtin_ia32_pandn", &&IX86_BUILTIN_PANDN},
{"__builtin_ia32_pandn128", &&IX86_BUILTIN_PANDN128},
+ //{"__builtin_ia32_pavgb", &&IX86_BUILTIN_PAVGB},
+ //{"__builtin_ia32_pavgb128", &&IX86_BUILTIN_PAVGB128},
+ //{"__builtin_ia32_pavgusb", &&IX86_BUILTIN_PAVGUSB},
+ //{"__builtin_ia32_pavgw", &&IX86_BUILTIN_PAVGW},
+ //{"__builtin_ia32_pavgw128", &&IX86_BUILTIN_PAVGW128},
+ //{"__builtin_ia32_pblendvb128", &&IX86_BUILTIN_PBLENDVB128},
+ //{"__builtin_ia32_pblendw128", &&IX86_BUILTIN_PBLENDW128},
+ //{"__builtin_ia32_pclmulqdq128", &&IX86_BUILTIN_PCLMULQDQ128},
+ //{"__builtin_ia32_pcmpeqb", &&IX86_BUILTIN_PCMPEQB},
+ //{"__builtin_ia32_pcmpeqb128", &&IX86_BUILTIN_PCMPEQB128},
+ //{"__builtin_ia32_pcmpeqd", &&IX86_BUILTIN_PCMPEQD},
+ //{"__builtin_ia32_pcmpeqd128", &&IX86_BUILTIN_PCMPEQD128},
+ //{"__builtin_ia32_pcmpeqq", &&IX86_BUILTIN_PCMPEQQ},
+ //{"__builtin_ia32_pcmpeqw", &&IX86_BUILTIN_PCMPEQW},
+ //{"__builtin_ia32_pcmpeqw128", &&IX86_BUILTIN_PCMPEQW128},
+ //{"__builtin_ia32_pcmpestri128", &&IX86_BUILTIN_PCMPESTRI128},
+ //{"__builtin_ia32_pcmpestria128", &&IX86_BUILTIN_PCMPESTRA128},
+ //{"__builtin_ia32_pcmpestric128", &&IX86_BUILTIN_PCMPESTRC128},
+ //{"__builtin_ia32_pcmpestrio128", &&IX86_BUILTIN_PCMPESTRO128},
+ //{"__builtin_ia32_pcmpestris128", &&IX86_BUILTIN_PCMPESTRS128},
+ //{"__builtin_ia32_pcmpestriz128", &&IX86_BUILTIN_PCMPESTRZ128},
+ //{"__builtin_ia32_pcmpestrm128", &&IX86_BUILTIN_PCMPESTRM128},
+ //{"__builtin_ia32_pcmpgtb", &&IX86_BUILTIN_PCMPGTB},
+ //{"__builtin_ia32_pcmpgtb128", &&IX86_BUILTIN_PCMPGTB128},
+ //{"__builtin_ia32_pcmpgtd", &&IX86_BUILTIN_PCMPGTD},
+ //{"__builtin_ia32_pcmpgtd128", &&IX86_BUILTIN_PCMPGTD128},
+ //{"__builtin_ia32_pcmpgtq", &&IX86_BUILTIN_PCMPGTQ},
+ //{"__builtin_ia32_pcmpgtw", &&IX86_BUILTIN_PCMPGTW},
+ //{"__builtin_ia32_pcmpgtw128", &&IX86_BUILTIN_PCMPGTW128},
+ //{"__builtin_ia32_pcmpistri128", &&IX86_BUILTIN_PCMPISTRI128},
+ //{"__builtin_ia32_pcmpistria128", &&IX86_BUILTIN_PCMPISTRA128},
+ //{"__builtin_ia32_pcmpistric128", &&IX86_BUILTIN_PCMPISTRC128},
+ //{"__builtin_ia32_pcmpistrio128", &&IX86_BUILTIN_PCMPISTRO128},
+ //{"__builtin_ia32_pcmpistris128", &&IX86_BUILTIN_PCMPISTRS128},
+ //{"__builtin_ia32_pcmpistriz128", &&IX86_BUILTIN_PCMPISTRZ128},
+ //{"__builtin_ia32_pcmpistrm128", &&IX86_BUILTIN_PCMPISTRM128},
+ //{"__builtin_ia32_pd256_pd", &&IX86_BUILTIN_PD256_PD},
+ //{"__builtin_ia32_pd_pd256", &&IX86_BUILTIN_PD_PD256},
+ //{"__builtin_ia32_pf2id", &&IX86_BUILTIN_PF2ID},
+ //{"__builtin_ia32_pf2iw", &&IX86_BUILTIN_PF2IW},
+ //{"__builtin_ia32_pfacc", &&IX86_BUILTIN_PFACC},
+ //{"__builtin_ia32_pfadd", &&IX86_BUILTIN_PFADD},
+ //{"__builtin_ia32_pfcmpeq", &&IX86_BUILTIN_PFCMPEQ},
+ //{"__builtin_ia32_pfcmpge", &&IX86_BUILTIN_PFCMPGE},
+ //{"__builtin_ia32_pfcmpgt", &&IX86_BUILTIN_PFCMPGT},
+ //{"__builtin_ia32_pfmax", &&IX86_BUILTIN_PFMAX},
+ //{"__builtin_ia32_pfmin", &&IX86_BUILTIN_PFMIN},
+ //{"__builtin_ia32_pfmul", &&IX86_BUILTIN_PFMUL},
+ //{"__builtin_ia32_pfnacc", &&IX86_BUILTIN_PFNACC},
+ //{"__builtin_ia32_pfpnacc", &&IX86_BUILTIN_PFPNACC},
+ //{"__builtin_ia32_pfrcp", &&IX86_BUILTIN_PFRCP},
+ //{"__builtin_ia32_pfrcpit1", &&IX86_BUILTIN_PFRCPIT1},
+ //{"__builtin_ia32_pfrcpit2", &&IX86_BUILTIN_PFRCPIT2},
+ //{"__builtin_ia32_pfrsqit1", &&IX86_BUILTIN_PFRSQIT1},
+ //{"__builtin_ia32_pfrsqrt", &&IX86_BUILTIN_PFRSQRT},
+ //{"__builtin_ia32_pfsub", &&IX86_BUILTIN_PFSUB},
+ //{"__builtin_ia32_pfsubr", &&IX86_BUILTIN_PFSUBR},
+ //{"__builtin_ia32_phaddd", &&IX86_BUILTIN_PHADDD},
+ //{"__builtin_ia32_phaddd128", &&IX86_BUILTIN_PHADDD128},
+ //{"__builtin_ia32_phaddsw", &&IX86_BUILTIN_PHADDSW},
+ //{"__builtin_ia32_phaddsw128", &&IX86_BUILTIN_PHADDSW128},
+ //{"__builtin_ia32_phaddw", &&IX86_BUILTIN_PHADDW},
+ //{"__builtin_ia32_phaddw128", &&IX86_BUILTIN_PHADDW128},
+ //{"__builtin_ia32_phminposuw128", &&IX86_BUILTIN_PHMINPOSUW128},
+ //{"__builtin_ia32_phsubd", &&IX86_BUILTIN_PHSUBD},
+ //{"__builtin_ia32_phsubd128", &&IX86_BUILTIN_PHSUBD128},
+ //{"__builtin_ia32_phsubsw", &&IX86_BUILTIN_PHSUBSW},
+ //{"__builtin_ia32_phsubsw128", &&IX86_BUILTIN_PHSUBSW128},
+ //{"__builtin_ia32_phsubw", &&IX86_BUILTIN_PHSUBW},
+ //{"__builtin_ia32_phsubw128", &&IX86_BUILTIN_PHSUBW128},
+ //{"__builtin_ia32_pi2fd", &&IX86_BUILTIN_PI2FD},
+ //{"__builtin_ia32_pi2fw", &&IX86_BUILTIN_PI2FW},
+ //{"__builtin_ia32_pmaddubsw", &&IX86_BUILTIN_PMADDUBSW},
+ //{"__builtin_ia32_pmaddubsw128", &&IX86_BUILTIN_PMADDUBSW128},
+ //{"__builtin_ia32_pmaddwd", &&IX86_BUILTIN_PMADDWD},
+ //{"__builtin_ia32_pmaddwd128", &&IX86_BUILTIN_PMADDWD128},
+ //{"__builtin_ia32_pmaxsb128", &&IX86_BUILTIN_PMAXSB128},
+ //{"__builtin_ia32_pmaxsd128", &&IX86_BUILTIN_PMAXSD128},
+ //{"__builtin_ia32_pmaxsw", &&IX86_BUILTIN_PMAXSW},
+ //{"__builtin_ia32_pmaxsw128", &&IX86_BUILTIN_PMAXSW128},
+ //{"__builtin_ia32_pmaxub", &&IX86_BUILTIN_PMAXUB},
+ //{"__builtin_ia32_pmaxub128", &&IX86_BUILTIN_PMAXUB128},
+ //{"__builtin_ia32_pmaxud128", &&IX86_BUILTIN_PMAXUD128},
+ //{"__builtin_ia32_pmaxuw128", &&IX86_BUILTIN_PMAXUW128},
+ //{"__builtin_ia32_pminsb128", &&IX86_BUILTIN_PMINSB128},
+ //{"__builtin_ia32_pminsd128", &&IX86_BUILTIN_PMINSD128},
+ //{"__builtin_ia32_pminsw", &&IX86_BUILTIN_PMINSW},
+ //{"__builtin_ia32_pminsw128", &&IX86_BUILTIN_PMINSW128},
+ //{"__builtin_ia32_pminub", &&IX86_BUILTIN_PMINUB},
+ //{"__builtin_ia32_pminub128", &&IX86_BUILTIN_PMINUB128},
+ //{"__builtin_ia32_pminud128", &&IX86_BUILTIN_PMINUD128},
+ //{"__builtin_ia32_pminuw128", &&IX86_BUILTIN_PMINUW128},
+ //{"__builtin_ia32_pmovmskb", &&IX86_BUILTIN_PMOVMSKB},
+ //{"__builtin_ia32_pmovmskb128", &&IX86_BUILTIN_PMOVMSKB128},
+ //{"__builtin_ia32_pmovsxbd128", &&IX86_BUILTIN_PMOVSXBD128},
+ //{"__builtin_ia32_pmovsxbq128", &&IX86_BUILTIN_PMOVSXBQ128},
+ //{"__builtin_ia32_pmovsxbw128", &&IX86_BUILTIN_PMOVSXBW128},
+ //{"__builtin_ia32_pmovsxdq128", &&IX86_BUILTIN_PMOVSXDQ128},
+ //{"__builtin_ia32_pmovsxwd128", &&IX86_BUILTIN_PMOVSXWD128},
+ //{"__builtin_ia32_pmovsxwq128", &&IX86_BUILTIN_PMOVSXWQ128},
+ //{"__builtin_ia32_pmovzxbd128", &&IX86_BUILTIN_PMOVZXBD128},
+ //{"__builtin_ia32_pmovzxbq128", &&IX86_BUILTIN_PMOVZXBQ128},
+ //{"__builtin_ia32_pmovzxbw128", &&IX86_BUILTIN_PMOVZXBW128},
+ //{"__builtin_ia32_pmovzxdq128", &&IX86_BUILTIN_PMOVZXDQ128},
+ //{"__builtin_ia32_pmovzxwd128", &&IX86_BUILTIN_PMOVZXWD128},
+ //{"__builtin_ia32_pmovzxwq128", &&IX86_BUILTIN_PMOVZXWQ128},
+ //{"__builtin_ia32_pmuldq128", &&IX86_BUILTIN_PMULDQ128},
+ //{"__builtin_ia32_pmulhrsw", &&IX86_BUILTIN_PMULHRSW},
+ //{"__builtin_ia32_pmulhrsw128", &&IX86_BUILTIN_PMULHRSW128},
+ //{"__builtin_ia32_pmulhrw", &&IX86_BUILTIN_PMULHRW},
+ //{"__builtin_ia32_pmulhuw", &&IX86_BUILTIN_PMULHUW},
+ //{"__builtin_ia32_pmulhuw128", &&IX86_BUILTIN_PMULHUW128},
+ //{"__builtin_ia32_pmulhw", &&IX86_BUILTIN_PMULHW},
+ //{"__builtin_ia32_pmulhw128", &&IX86_BUILTIN_PMULHW128},
+ //{"__builtin_ia32_pmulld128", &&IX86_BUILTIN_PMULLD128},
{"__builtin_ia32_pmullw", &&IX86_BUILTIN_PMULLW},
{"__builtin_ia32_pmullw128", &&IX86_BUILTIN_PMULLW128},
+ //{"__builtin_ia32_pmuludq", &&IX86_BUILTIN_PMULUDQ},
+ //{"__builtin_ia32_pmuludq128", &&IX86_BUILTIN_PMULUDQ128},
{"__builtin_ia32_por", &&IX86_BUILTIN_POR},
{"__builtin_ia32_por128", &&IX86_BUILTIN_POR128},
+ //{"__builtin_ia32_ps256_ps", &&IX86_BUILTIN_PS256_PS},
+ //{"__builtin_ia32_psadbw", &&IX86_BUILTIN_PSADBW},
+ //{"__builtin_ia32_psadbw128", &&IX86_BUILTIN_PSADBW128},
+ //{"__builtin_ia32_pshufb", &&IX86_BUILTIN_PSHUFB},
+ //{"__builtin_ia32_pshufb128", &&IX86_BUILTIN_PSHUFB128},
{"__builtin_ia32_pshufd", &&IX86_BUILTIN_PSHUFD},
{"__builtin_ia32_pshufhw", &&IX86_BUILTIN_PSHUFHW},
{"__builtin_ia32_pshuflw", &&IX86_BUILTIN_PSHUFLW},
{"__builtin_ia32_pshufw", &&IX86_BUILTIN_PSHUFW},
+ //{"__builtin_ia32_psignb", &&IX86_BUILTIN_PSIGNB},
+ //{"__builtin_ia32_psignb128", &&IX86_BUILTIN_PSIGNB128},
+ //{"__builtin_ia32_psignd", &&IX86_BUILTIN_PSIGND},
+ //{"__builtin_ia32_psignd128", &&IX86_BUILTIN_PSIGND128},
+ //{"__builtin_ia32_psignw", &&IX86_BUILTIN_PSIGNW},
+ //{"__builtin_ia32_psignw128", &&IX86_BUILTIN_PSIGNW128},
+ //{"__builtin_ia32_pslld", &&IX86_BUILTIN_PSLLD},
+ //{"__builtin_ia32_pslld128", &&IX86_BUILTIN_PSLLD128},
+ //{"__builtin_ia32_pslldi", &&IX86_BUILTIN_PSLLDI},
+ //{"__builtin_ia32_pslldi128", &&IX86_BUILTIN_PSLLDI128},
+ //{"__builtin_ia32_pslldqi128", &&IX86_BUILTIN_PSLLDQI128},
+ //{"__builtin_ia32_psllq", &&IX86_BUILTIN_PSLLQ},
+ //{"__builtin_ia32_psllq128", &&IX86_BUILTIN_PSLLQ128},
+ //{"__builtin_ia32_psllqi", &&IX86_BUILTIN_PSLLQI},
+ //{"__builtin_ia32_psllqi128", &&IX86_BUILTIN_PSLLQI128},
+ //{"__builtin_ia32_psllw", &&IX86_BUILTIN_PSLLW},
+ //{"__builtin_ia32_psllw128", &&IX86_BUILTIN_PSLLW128},
+ //{"__builtin_ia32_psllwi", &&IX86_BUILTIN_PSLLWI},
+ //{"__builtin_ia32_psllwi128", &&IX86_BUILTIN_PSLLWI128},
+ //{"__builtin_ia32_ps_ps256", &&IX86_BUILTIN_PS_PS256},
+ //{"__builtin_ia32_psrad", &&IX86_BUILTIN_PSRAD},
+ //{"__builtin_ia32_psrad128", &&IX86_BUILTIN_PSRAD128},
+ //{"__builtin_ia32_psradi", &&IX86_BUILTIN_PSRADI},
+ //{"__builtin_ia32_psradi128", &&IX86_BUILTIN_PSRADI128},
+ //{"__builtin_ia32_psraw", &&IX86_BUILTIN_PSRAW},
+ //{"__builtin_ia32_psraw128", &&IX86_BUILTIN_PSRAW128},
+ //{"__builtin_ia32_psrawi", &&IX86_BUILTIN_PSRAWI},
+ //{"__builtin_ia32_psrawi128", &&IX86_BUILTIN_PSRAWI128},
+ //{"__builtin_ia32_psrld", &&IX86_BUILTIN_PSRLD},
+ //{"__builtin_ia32_psrld128", &&IX86_BUILTIN_PSRLD128},
+ //{"__builtin_ia32_psrldi", &&IX86_BUILTIN_PSRLDI},
+ //{"__builtin_ia32_psrldi128", &&IX86_BUILTIN_PSRLDI128},
+ //{"__builtin_ia32_psrldqi128", &&IX86_BUILTIN_PSRLDQI128},
+ //{"__builtin_ia32_psrlq", &&IX86_BUILTIN_PSRLQ},
+ //{"__builtin_ia32_psrlq128", &&IX86_BUILTIN_PSRLQ128},
+ //{"__builtin_ia32_psrlqi", &&IX86_BUILTIN_PSRLQI},
+ //{"__builtin_ia32_psrlqi128", &&IX86_BUILTIN_PSRLQI128},
+ //{"__builtin_ia32_psrlw", &&IX86_BUILTIN_PSRLW},
+ //{"__builtin_ia32_psrlw128", &&IX86_BUILTIN_PSRLW128},
+ //{"__builtin_ia32_psrlwi", &&IX86_BUILTIN_PSRLWI},
+ //{"__builtin_ia32_psrlwi128", &&IX86_BUILTIN_PSRLWI128},
{"__builtin_ia32_psubb", &&IX86_BUILTIN_PSUBB},
{"__builtin_ia32_psubb128", &&IX86_BUILTIN_PSUBB128},
{"__builtin_ia32_psubd", &&IX86_BUILTIN_PSUBD},
{"__builtin_ia32_psubd128", &&IX86_BUILTIN_PSUBD128},
{"__builtin_ia32_psubq", &&IX86_BUILTIN_PSUBQ},
{"__builtin_ia32_psubq128", &&IX86_BUILTIN_PSUBQ128},
+ //{"__builtin_ia32_psubsb", &&IX86_BUILTIN_PSUBSB},
+ //{"__builtin_ia32_psubsb128", &&IX86_BUILTIN_PSUBSB128},
+ //{"__builtin_ia32_psubsw", &&IX86_BUILTIN_PSUBSW},
+ //{"__builtin_ia32_psubsw128", &&IX86_BUILTIN_PSUBSW128},
+ //{"__builtin_ia32_psubusb", &&IX86_BUILTIN_PSUBUSB},
+ //{"__builtin_ia32_psubusb128", &&IX86_BUILTIN_PSUBUSB128},
+ //{"__builtin_ia32_psubusw", &&IX86_BUILTIN_PSUBUSW},
+ //{"__builtin_ia32_psubusw128", &&IX86_BUILTIN_PSUBUSW128},
{"__builtin_ia32_psubw", &&IX86_BUILTIN_PSUBW},
{"__builtin_ia32_psubw128", &&IX86_BUILTIN_PSUBW128},
+ //{"__builtin_ia32_pswapdsf", &&IX86_BUILTIN_PSWAPDSF},
+ //{"__builtin_ia32_pswapdsi", &&IX86_BUILTIN_PSWAPDSI},
+ //{"__builtin_ia32_ptestc128", &&IX86_BUILTIN_PTESTC},
+ //{"__builtin_ia32_ptestc256", &&IX86_BUILTIN_PTESTC256},
+ //{"__builtin_ia32_ptestnzc128", &&IX86_BUILTIN_PTESTNZC},
+ //{"__builtin_ia32_ptestnzc256", &&IX86_BUILTIN_PTESTNZC256},
+ //{"__builtin_ia32_ptestz128", &&IX86_BUILTIN_PTESTZ},
+ //{"__builtin_ia32_ptestz256", &&IX86_BUILTIN_PTESTZ256},
{"__builtin_ia32_punpckhbw", &&IX86_BUILTIN_PUNPCKHBW},
{"__builtin_ia32_punpckhbw128", &&IX86_BUILTIN_PUNPCKHBW128},
{"__builtin_ia32_punpckhdq", &&IX86_BUILTIN_PUNPCKHDQ},
@@ -211,31 +566,83 @@
{"__builtin_ia32_punpcklwd128", &&IX86_BUILTIN_PUNPCKLWD128},
{"__builtin_ia32_pxor", &&IX86_BUILTIN_PXOR},
{"__builtin_ia32_pxor128", &&IX86_BUILTIN_PXOR128},
+ //{"__builtin_ia32_rcpps", &&IX86_BUILTIN_RCPPS},
+ //{"__builtin_ia32_rcpps256", &&IX86_BUILTIN_RCPPS256},
+ //{"__builtin_ia32_rcpss", &&IX86_BUILTIN_RCPSS},
+ //{"__builtin_ia32_rdpmc", &&IX86_BUILTIN_RDPMC},
+ //{"__builtin_ia32_rdtsc", &&IX86_BUILTIN_RDTSC},
+ //{"__builtin_ia32_rdtscp", &&IX86_BUILTIN_RDTSCP},
+ //{"__builtin_ia32_rolhi", &&IX86_BUILTIN_ROLHI},
+ //{"__builtin_ia32_rolqi", &&IX86_BUILTIN_ROLQI},
+ //{"__builtin_ia32_rorhi", &&IX86_BUILTIN_RORHI},
+ //{"__builtin_ia32_rorqi", &&IX86_BUILTIN_RORQI},
+ //{"__builtin_ia32_roundpd", &&IX86_BUILTIN_ROUNDPD},
+ //{"__builtin_ia32_roundpd256", &&IX86_BUILTIN_ROUNDPD256},
+ //{"__builtin_ia32_roundps", &&IX86_BUILTIN_ROUNDPS},
+ //{"__builtin_ia32_roundps256", &&IX86_BUILTIN_ROUNDPS256},
+ //{"__builtin_ia32_roundsd", &&IX86_BUILTIN_ROUNDSD},
+ //{"__builtin_ia32_roundss", &&IX86_BUILTIN_ROUNDSS},
+ //{"__builtin_ia32_rsqrtf", &&IX86_BUILTIN_RSQRTF},
+ //{"__builtin_ia32_rsqrtps", &&IX86_BUILTIN_RSQRTPS},
+ //{"__builtin_ia32_rsqrtps256", &&IX86_BUILTIN_RSQRTPS256},
+ //{"__builtin_ia32_rsqrtps_nr", &&IX86_BUILTIN_RSQRTPS_NR},
+ //{"__builtin_ia32_rsqrtps_nr256", &&IX86_BUILTIN_RSQRTPS_NR256},
+ //{"__builtin_ia32_rsqrtss", &&IX86_BUILTIN_RSQRTSS},
+ //{"__builtin_ia32_sfence", &&IX86_BUILTIN_SFENCE},
{"__builtin_ia32_shufpd", &&IX86_BUILTIN_SHUFPD},
- {"__builtin_ia32_shufpd256", &&IX86_BUILTIN_SHUFPD},
+ //{"__builtin_ia32_shufpd256", &&IX86_BUILTIN_SHUFPD256},
{"__builtin_ia32_shufps", &&IX86_BUILTIN_SHUFPS},
- {"__builtin_ia32_shufps256", &&IX86_BUILTIN_SHUFPS},
+ //{"__builtin_ia32_shufps256", &&IX86_BUILTIN_SHUFPS256},
+ //{"__builtin_ia32_si256_si", &&IX86_BUILTIN_SI256_SI},
+ //{"__builtin_ia32_si_si256", &&IX86_BUILTIN_SI_SI256},
+ //{"__builtin_ia32_sqrtpd", &&IX86_BUILTIN_SQRTPD},
+ //{"__builtin_ia32_sqrtpd256", &&IX86_BUILTIN_SQRTPD256},
+ //{"__builtin_ia32_sqrtps", &&IX86_BUILTIN_SQRTPS},
+ //{"__builtin_ia32_sqrtps256", &&IX86_BUILTIN_SQRTPS256},
+ //{"__builtin_ia32_sqrtps_nr", &&IX86_BUILTIN_SQRTPS_NR},
+ //{"__builtin_ia32_sqrtps_nr256", &&IX86_BUILTIN_SQRTPS_NR256},
+ //{"__builtin_ia32_sqrtsd", &&IX86_BUILTIN_SQRTSD},
+ //{"__builtin_ia32_sqrtss", &&IX86_BUILTIN_SQRTSS},
{"__builtin_ia32_stmxcsr", &&IX86_BUILTIN_STMXCSR},
{"__builtin_ia32_storedqu", &&IX86_BUILTIN_STOREDQU},
- {"__builtin_ia32_storedqu256", &&IX86_BUILTIN_STOREDQU},
+ //{"__builtin_ia32_storedqu256", &&IX86_BUILTIN_STOREDQU256},
{"__builtin_ia32_storehps", &&IX86_BUILTIN_STOREHPS},
{"__builtin_ia32_storelps", &&IX86_BUILTIN_STORELPS},
{"__builtin_ia32_storeupd", &&IX86_BUILTIN_STOREUPD},
- {"__builtin_ia32_storeupd256", &&IX86_BUILTIN_STOREUPD},
+ //{"__builtin_ia32_storeupd256", &&IX86_BUILTIN_STOREUPD256},
{"__builtin_ia32_storeups", &&IX86_BUILTIN_STOREUPS},
- {"__builtin_ia32_storeups256", &&IX86_BUILTIN_STOREUPS},
+ //{"__builtin_ia32_storeups256", &&IX86_BUILTIN_STOREUPS256},
{"__builtin_ia32_subpd", &&IX86_BUILTIN_SUBPD},
- {"__builtin_ia32_subpd256", &&IX86_BUILTIN_SUBPD},
+ //{"__builtin_ia32_subpd256", &&IX86_BUILTIN_SUBPD256},
{"__builtin_ia32_subps", &&IX86_BUILTIN_SUBPS},
- {"__builtin_ia32_subps256", &&IX86_BUILTIN_SUBPS},
+ //{"__builtin_ia32_subps256", &&IX86_BUILTIN_SUBPS256},
+ //{"__builtin_ia32_subsd", &&IX86_BUILTIN_SUBSD},
+ //{"__builtin_ia32_subss", &&IX86_BUILTIN_SUBSS},
+ //{"__builtin_ia32_ucomieq", &&IX86_BUILTIN_UCOMIEQSS},
+ //{"__builtin_ia32_ucomige", &&IX86_BUILTIN_UCOMIGESS},
+ //{"__builtin_ia32_ucomigt", &&IX86_BUILTIN_UCOMIGTSS},
+ //{"__builtin_ia32_ucomile", &&IX86_BUILTIN_UCOMILESS},
+ //{"__builtin_ia32_ucomilt", &&IX86_BUILTIN_UCOMILTSS},
+ //{"__builtin_ia32_ucomineq", &&IX86_BUILTIN_UCOMINEQSS},
+ //{"__builtin_ia32_ucomisdeq", &&IX86_BUILTIN_UCOMIEQSD},
+ //{"__builtin_ia32_ucomisdge", &&IX86_BUILTIN_UCOMIGESD},
+ //{"__builtin_ia32_ucomisdgt", &&IX86_BUILTIN_UCOMIGTSD},
+ //{"__builtin_ia32_ucomisdle", &&IX86_BUILTIN_UCOMILESD},
+ //{"__builtin_ia32_ucomisdlt", &&IX86_BUILTIN_UCOMILTSD},
+ //{"__builtin_ia32_ucomisdneq", &&IX86_BUILTIN_UCOMINEQSD},
{"__builtin_ia32_unpckhpd", &&IX86_BUILTIN_UNPCKHPD},
- {"__builtin_ia32_unpckhpd256", &&IX86_BUILTIN_UNPCKHPD},
+ //{"__builtin_ia32_unpckhpd256", &&IX86_BUILTIN_UNPCKHPD256},
{"__builtin_ia32_unpckhps", &&IX86_BUILTIN_UNPCKHPS},
- {"__builtin_ia32_unpckhps256", &&IX86_BUILTIN_UNPCKHPS},
+ //{"__builtin_ia32_unpckhps256", &&IX86_BUILTIN_UNPCKHPS256},
{"__builtin_ia32_unpcklpd", &&IX86_BUILTIN_UNPCKLPD},
- {"__builtin_ia32_unpcklpd256", &&IX86_BUILTIN_UNPCKLPD},
+ //{"__builtin_ia32_unpcklpd256", &&IX86_BUILTIN_UNPCKLPD256},
{"__builtin_ia32_unpcklps", &&IX86_BUILTIN_UNPCKLPS},
- {"__builtin_ia32_unpcklps256", &&IX86_BUILTIN_UNPCKLPS},
+ //{"__builtin_ia32_unpcklps256", &&IX86_BUILTIN_UNPCKLPS256},
+ //{"__builtin_ia32_vbroadcastf128_pd256", &&IX86_BUILTIN_VBROADCASTPD256},
+ //{"__builtin_ia32_vbroadcastf128_ps256", &&IX86_BUILTIN_VBROADCASTPS256},
+ //{"__builtin_ia32_vbroadcastsd256", &&IX86_BUILTIN_VBROADCASTSD256},
+ //{"__builtin_ia32_vbroadcastss", &&IX86_BUILTIN_VBROADCASTSS},
+ //{"__builtin_ia32_vbroadcastss256", &&IX86_BUILTIN_VBROADCASTSS256},
{"__builtin_ia32_vec_ext_v16qi", &&IX86_BUILTIN_VEC_EXT_V16QI},
{"__builtin_ia32_vec_ext_v2df", &&IX86_BUILTIN_VEC_EXT_V2DF},
{"__builtin_ia32_vec_ext_v2di", &&IX86_BUILTIN_VEC_EXT_V2DI},
@@ -247,15 +654,79 @@
{"__builtin_ia32_vec_init_v2si", &&IX86_BUILTIN_VEC_INIT_V2SI},
{"__builtin_ia32_vec_init_v4hi", &&IX86_BUILTIN_VEC_INIT_V4HI},
{"__builtin_ia32_vec_init_v8qi", &&IX86_BUILTIN_VEC_INIT_V8QI},
+ //{"__builtin_ia32_vec_pack_sfix", &&IX86_BUILTIN_VEC_PACK_SFIX},
{"__builtin_ia32_vec_set_v16qi", &&IX86_BUILTIN_VEC_SET_V16QI},
{"__builtin_ia32_vec_set_v2di", &&IX86_BUILTIN_VEC_SET_V2DI},
{"__builtin_ia32_vec_set_v4hi", &&IX86_BUILTIN_VEC_SET_V4HI},
+ //{"__builtin_ia32_vec_set_v4sf", &&IX86_BUILTIN_VEC_SET_V4SF},
{"__builtin_ia32_vec_set_v4si", &&IX86_BUILTIN_VEC_SET_V4SI},
{"__builtin_ia32_vec_set_v8hi", &&IX86_BUILTIN_VEC_SET_V8HI},
+ //{"__builtin_ia32_vextractf128_pd256", &&IX86_BUILTIN_EXTRACTF128PD256},
+ //{"__builtin_ia32_vextractf128_ps256", &&IX86_BUILTIN_EXTRACTF128PS256},
+ //{"__builtin_ia32_vextractf128_si256", &&IX86_BUILTIN_EXTRACTF128SI256},
+ //{"__builtin_ia32_vfmaddpd", &&IX86_BUILTIN_VFMADDPD},
+ //{"__builtin_ia32_vfmaddpd256", &&IX86_BUILTIN_VFMADDPD256},
+ //{"__builtin_ia32_vfmaddps", &&IX86_BUILTIN_VFMADDPS},
+ //{"__builtin_ia32_vfmaddps256", &&IX86_BUILTIN_VFMADDPS256},
+ //{"__builtin_ia32_vfmaddsd", &&IX86_BUILTIN_VFMADDSD},
+ //{"__builtin_ia32_vfmaddss", &&IX86_BUILTIN_VFMADDSS},
+ //{"__builtin_ia32_vfmaddsubpd", &&IX86_BUILTIN_VFMADDSUBPD},
+ //{"__builtin_ia32_vfmaddsubpd256", &&IX86_BUILTIN_VFMADDSUBPD256},
+ //{"__builtin_ia32_vfmaddsubps", &&IX86_BUILTIN_VFMADDSUBPS},
+ //{"__builtin_ia32_vfmaddsubps256", &&IX86_BUILTIN_VFMADDSUBPS256},
+ //{"__builtin_ia32_vfmsubaddpd", &&IX86_BUILTIN_VFMSUBADDPD},
+ //{"__builtin_ia32_vfmsubaddpd256", &&IX86_BUILTIN_VFMSUBADDPD256},
+ //{"__builtin_ia32_vfmsubaddps", &&IX86_BUILTIN_VFMSUBADDPS},
+ //{"__builtin_ia32_vfmsubaddps256", &&IX86_BUILTIN_VFMSUBADDPS256},
+ //{"__builtin_ia32_vfmsubpd", &&IX86_BUILTIN_VFMSUBPD},
+ //{"__builtin_ia32_vfmsubpd256", &&IX86_BUILTIN_VFMSUBPD256},
+ //{"__builtin_ia32_vfmsubps", &&IX86_BUILTIN_VFMSUBPS},
+ //{"__builtin_ia32_vfmsubps256", &&IX86_BUILTIN_VFMSUBPS256},
+ //{"__builtin_ia32_vfmsubsd", &&IX86_BUILTIN_VFMSUBSD},
+ //{"__builtin_ia32_vfmsubss", &&IX86_BUILTIN_VFMSUBSS},
+ //{"__builtin_ia32_vfnmaddpd", &&IX86_BUILTIN_VFNMADDPD},
+ //{"__builtin_ia32_vfnmaddpd256", &&IX86_BUILTIN_VFNMADDPD256},
+ //{"__builtin_ia32_vfnmaddps", &&IX86_BUILTIN_VFNMADDPS},
+ //{"__builtin_ia32_vfnmaddps256", &&IX86_BUILTIN_VFNMADDPS256},
+ //{"__builtin_ia32_vfnmaddsd", &&IX86_BUILTIN_VFNMADDSD},
+ //{"__builtin_ia32_vfnmaddss", &&IX86_BUILTIN_VFNMADDSS},
+ //{"__builtin_ia32_vfnmsubpd", &&IX86_BUILTIN_VFNMSUBPD},
+ //{"__builtin_ia32_vfnmsubpd256", &&IX86_BUILTIN_VFNMSUBPD256},
+ //{"__builtin_ia32_vfnmsubps", &&IX86_BUILTIN_VFNMSUBPS},
+ //{"__builtin_ia32_vfnmsubps256", &&IX86_BUILTIN_VFNMSUBPS256},
+ //{"__builtin_ia32_vfnmsubsd", &&IX86_BUILTIN_VFNMSUBSD},
+ //{"__builtin_ia32_vfnmsubss", &&IX86_BUILTIN_VFNMSUBSS},
+ //{"__builtin_ia32_vinsertf128_pd256", &&IX86_BUILTIN_VINSERTF128PD256},
+ //{"__builtin_ia32_vinsertf128_ps256", &&IX86_BUILTIN_VINSERTF128PS256},
+ //{"__builtin_ia32_vinsertf128_si256", &&IX86_BUILTIN_VINSERTF128SI256},
+ //{"__builtin_ia32_vperm2f128_pd256", &&IX86_BUILTIN_VPERM2F128PD256},
+ //{"__builtin_ia32_vperm2f128_ps256", &&IX86_BUILTIN_VPERM2F128PS256},
+ //{"__builtin_ia32_vperm2f128_si256", &&IX86_BUILTIN_VPERM2F128SI256},
+ //{"__builtin_ia32_vpermilpd", &&IX86_BUILTIN_VPERMILPD},
+ //{"__builtin_ia32_vpermilpd256", &&IX86_BUILTIN_VPERMILPD256},
+ //{"__builtin_ia32_vpermilps", &&IX86_BUILTIN_VPERMILPS},
+ //{"__builtin_ia32_vpermilps256", &&IX86_BUILTIN_VPERMILPS256},
+ //{"__builtin_ia32_vpermilvarpd", &&IX86_BUILTIN_VPERMILVARPD},
+ //{"__builtin_ia32_vpermilvarpd256", &&IX86_BUILTIN_VPERMILVARPD256},
+ //{"__builtin_ia32_vpermilvarps", &&IX86_BUILTIN_VPERMILVARPS},
+ //{"__builtin_ia32_vpermilvarps256", &&IX86_BUILTIN_VPERMILVARPS256},
+ //{"__builtin_ia32_vtestcpd", &&IX86_BUILTIN_VTESTCPD},
+ //{"__builtin_ia32_vtestcpd256", &&IX86_BUILTIN_VTESTCPD256},
+ //{"__builtin_ia32_vtestcps", &&IX86_BUILTIN_VTESTCPS},
+ //{"__builtin_ia32_vtestcps256", &&IX86_BUILTIN_VTESTCPS256},
+ //{"__builtin_ia32_vtestnzcpd", &&IX86_BUILTIN_VTESTNZCPD},
+ //{"__builtin_ia32_vtestnzcpd256", &&IX86_BUILTIN_VTESTNZCPD256},
+ //{"__builtin_ia32_vtestnzcps", &&IX86_BUILTIN_VTESTNZCPS},
+ //{"__builtin_ia32_vtestnzcps256", &&IX86_BUILTIN_VTESTNZCPS256},
+ //{"__builtin_ia32_vtestzpd", &&IX86_BUILTIN_VTESTZPD},
+ //{"__builtin_ia32_vtestzpd256", &&IX86_BUILTIN_VTESTZPD256},
+ //{"__builtin_ia32_vtestzps", &&IX86_BUILTIN_VTESTZPS},
+ //{"__builtin_ia32_vtestzps256", &&IX86_BUILTIN_VTESTZPS256},
+ //{"__builtin_ia32_vzeroall", &&IX86_BUILTIN_VZEROALL},
{"__builtin_ia32_xorpd", &&IX86_BUILTIN_XORPD},
- {"__builtin_ia32_xorpd256", &&IX86_BUILTIN_XORPD},
+ //{"__builtin_ia32_xorpd256", &&IX86_BUILTIN_XORPD256},
{"__builtin_ia32_xorps", &&IX86_BUILTIN_XORPS},
- {"__builtin_ia32_xorps256", &&IX86_BUILTIN_XORPS}
+ //{"__builtin_ia32_xorps256", &&IX86_BUILTIN_XORPS256},
};
static std::vector<void*> FunctionCodeCache;
@@ -500,17 +971,17 @@
Result = BuildVectorShuffle(Result, Ops[0], 4, 5, 2, 3);
return true;
}
- IX86_BUILTIN_LOADQ: {
- const PointerType *i64Ptr = Type::getInt64PtrTy(Context);
- Ops[0] = Builder.CreateBitCast(Ops[0], i64Ptr);
- Ops[0] = Builder.CreateLoad(Ops[0]);
- Value *Zero = ConstantInt::get(Type::getInt64Ty(Context), 0);
- Result = BuildVector(Zero, Zero, NULL);
- Value *Idx = ConstantInt::get(Type::getInt32Ty(Context), 0);
- Result = Builder.CreateInsertElement(Result, Ops[0], Idx);
- Result = Builder.CreateBitCast(Result, ResultType);
- return true;
- }
+//TODO IX86_BUILTIN_LOADQ: {
+//TODO const PointerType *i64Ptr = Type::getInt64PtrTy(Context);
+//TODO Ops[0] = Builder.CreateBitCast(Ops[0], i64Ptr);
+//TODO Ops[0] = Builder.CreateLoad(Ops[0]);
+//TODO Value *Zero = ConstantInt::get(Type::getInt64Ty(Context), 0);
+//TODO Result = BuildVector(Zero, Zero, NULL);
+//TODO Value *Idx = ConstantInt::get(Type::getInt32Ty(Context), 0);
+//TODO Result = Builder.CreateInsertElement(Result, Ops[0], Idx);
+//TODO Result = Builder.CreateBitCast(Result, ResultType);
+//TODO return true;
+//TODO }
IX86_BUILTIN_LOADUPS: {
VectorType *v4f32 = VectorType::get(Type::getFloatTy(Context), 4);
const PointerType *v4f32Ptr = v4f32->getPointerTo();
More information about the llvm-commits
mailing list