diff options
Diffstat (limited to 'include/llvm/IR/Intrinsics.gen')
-rw-r--r-- | include/llvm/IR/Intrinsics.gen | 66682 |
1 files changed, 66682 insertions, 0 deletions
diff --git a/include/llvm/IR/Intrinsics.gen b/include/llvm/IR/Intrinsics.gen new file mode 100644 index 0000000..a99da7a --- /dev/null +++ b/include/llvm/IR/Intrinsics.gen @@ -0,0 +1,66682 @@ +/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ +|* *| +|*Intrinsic Function Source Fragment *| +|* *| +|* Automatically generated file, do not edit! *| +|* *| +\*===----------------------------------------------------------------------===*/ + +// VisualStudio defines setjmp as _setjmp +#if defined(_MSC_VER) && defined(setjmp) && \ + !defined(setjmp_undefined_for_msvc) +# pragma push_macro("setjmp") +# undef setjmp +# define setjmp_undefined_for_msvc +#endif + +// Enum values for Intrinsics.h +#ifdef GET_INTRINSIC_ENUM_VALUES + AMDGPU_div_fixup, // llvm.AMDGPU.div.fixup + AMDGPU_div_fmas, // llvm.AMDGPU.div.fmas + AMDGPU_div_scale, // llvm.AMDGPU.div.scale + AMDGPU_rcp, // llvm.AMDGPU.rcp + AMDGPU_rsq, // llvm.AMDGPU.rsq + AMDGPU_rsq_clamped, // llvm.AMDGPU.rsq.clamped + AMDGPU_trig_preop, // llvm.AMDGPU.trig.preop + aarch64_clrex, // llvm.aarch64.clrex + aarch64_crc32b, // llvm.aarch64.crc32b + aarch64_crc32cb, // llvm.aarch64.crc32cb + aarch64_crc32ch, // llvm.aarch64.crc32ch + aarch64_crc32cw, // llvm.aarch64.crc32cw + aarch64_crc32cx, // llvm.aarch64.crc32cx + aarch64_crc32h, // llvm.aarch64.crc32h + aarch64_crc32w, // llvm.aarch64.crc32w + aarch64_crc32x, // llvm.aarch64.crc32x + aarch64_crypto_aesd, // llvm.aarch64.crypto.aesd + aarch64_crypto_aese, // llvm.aarch64.crypto.aese + aarch64_crypto_aesimc, // llvm.aarch64.crypto.aesimc + aarch64_crypto_aesmc, // llvm.aarch64.crypto.aesmc + aarch64_crypto_sha1c, // llvm.aarch64.crypto.sha1c + aarch64_crypto_sha1h, // llvm.aarch64.crypto.sha1h + aarch64_crypto_sha1m, // llvm.aarch64.crypto.sha1m + aarch64_crypto_sha1p, // llvm.aarch64.crypto.sha1p + aarch64_crypto_sha1su0, // llvm.aarch64.crypto.sha1su0 + aarch64_crypto_sha1su1, // llvm.aarch64.crypto.sha1su1 + aarch64_crypto_sha256h, // llvm.aarch64.crypto.sha256h + aarch64_crypto_sha256h2, // llvm.aarch64.crypto.sha256h2 + aarch64_crypto_sha256su0, // llvm.aarch64.crypto.sha256su0 + aarch64_crypto_sha256su1, // llvm.aarch64.crypto.sha256su1 + aarch64_dmb, // llvm.aarch64.dmb + aarch64_dsb, // llvm.aarch64.dsb + aarch64_hint, // llvm.aarch64.hint + aarch64_isb, // llvm.aarch64.isb + aarch64_ldaxp, // llvm.aarch64.ldaxp + aarch64_ldaxr, // llvm.aarch64.ldaxr + aarch64_ldxp, // llvm.aarch64.ldxp + aarch64_ldxr, // llvm.aarch64.ldxr + aarch64_neon_abs, // llvm.aarch64.neon.abs + aarch64_neon_addhn, // llvm.aarch64.neon.addhn + aarch64_neon_addp, // llvm.aarch64.neon.addp + aarch64_neon_cls, // llvm.aarch64.neon.cls + aarch64_neon_fabd, // llvm.aarch64.neon.fabd + aarch64_neon_facge, // llvm.aarch64.neon.facge + aarch64_neon_facgt, // llvm.aarch64.neon.facgt + aarch64_neon_faddv, // llvm.aarch64.neon.faddv + aarch64_neon_fcvtas, // llvm.aarch64.neon.fcvtas + aarch64_neon_fcvtau, // llvm.aarch64.neon.fcvtau + aarch64_neon_fcvtms, // llvm.aarch64.neon.fcvtms + aarch64_neon_fcvtmu, // llvm.aarch64.neon.fcvtmu + aarch64_neon_fcvtns, // llvm.aarch64.neon.fcvtns + aarch64_neon_fcvtnu, // llvm.aarch64.neon.fcvtnu + aarch64_neon_fcvtps, // llvm.aarch64.neon.fcvtps + aarch64_neon_fcvtpu, // llvm.aarch64.neon.fcvtpu + aarch64_neon_fcvtxn, // llvm.aarch64.neon.fcvtxn + aarch64_neon_fcvtzs, // llvm.aarch64.neon.fcvtzs + aarch64_neon_fcvtzu, // llvm.aarch64.neon.fcvtzu + aarch64_neon_fmax, // llvm.aarch64.neon.fmax + aarch64_neon_fmaxnm, // llvm.aarch64.neon.fmaxnm + aarch64_neon_fmaxnmp, // llvm.aarch64.neon.fmaxnmp + aarch64_neon_fmaxnmv, // llvm.aarch64.neon.fmaxnmv + aarch64_neon_fmaxp, // llvm.aarch64.neon.fmaxp + aarch64_neon_fmaxv, // llvm.aarch64.neon.fmaxv + aarch64_neon_fmin, // llvm.aarch64.neon.fmin + aarch64_neon_fminnm, // llvm.aarch64.neon.fminnm + aarch64_neon_fminnmp, // llvm.aarch64.neon.fminnmp + aarch64_neon_fminnmv, // llvm.aarch64.neon.fminnmv + aarch64_neon_fminp, // llvm.aarch64.neon.fminp + aarch64_neon_fminv, // llvm.aarch64.neon.fminv + aarch64_neon_fmulx, // llvm.aarch64.neon.fmulx + aarch64_neon_frecpe, // llvm.aarch64.neon.frecpe + aarch64_neon_frecps, // llvm.aarch64.neon.frecps + aarch64_neon_frecpx, // llvm.aarch64.neon.frecpx + aarch64_neon_frintn, // llvm.aarch64.neon.frintn + aarch64_neon_frsqrte, // llvm.aarch64.neon.frsqrte + aarch64_neon_frsqrts, // llvm.aarch64.neon.frsqrts + aarch64_neon_ld1x2, // llvm.aarch64.neon.ld1x2 + aarch64_neon_ld1x3, // llvm.aarch64.neon.ld1x3 + aarch64_neon_ld1x4, // llvm.aarch64.neon.ld1x4 + aarch64_neon_ld2, // llvm.aarch64.neon.ld2 + aarch64_neon_ld2lane, // llvm.aarch64.neon.ld2lane + aarch64_neon_ld2r, // llvm.aarch64.neon.ld2r + aarch64_neon_ld3, // llvm.aarch64.neon.ld3 + aarch64_neon_ld3lane, // llvm.aarch64.neon.ld3lane + aarch64_neon_ld3r, // llvm.aarch64.neon.ld3r + aarch64_neon_ld4, // llvm.aarch64.neon.ld4 + aarch64_neon_ld4lane, // llvm.aarch64.neon.ld4lane + aarch64_neon_ld4r, // llvm.aarch64.neon.ld4r + aarch64_neon_pmul, // llvm.aarch64.neon.pmul + aarch64_neon_pmull, // llvm.aarch64.neon.pmull + aarch64_neon_pmull64, // llvm.aarch64.neon.pmull64 + aarch64_neon_raddhn, // llvm.aarch64.neon.raddhn + aarch64_neon_rbit, // llvm.aarch64.neon.rbit + aarch64_neon_rshrn, // llvm.aarch64.neon.rshrn + aarch64_neon_rsubhn, // llvm.aarch64.neon.rsubhn + aarch64_neon_sabd, // llvm.aarch64.neon.sabd + aarch64_neon_saddlp, // llvm.aarch64.neon.saddlp + aarch64_neon_saddlv, // llvm.aarch64.neon.saddlv + aarch64_neon_saddv, // llvm.aarch64.neon.saddv + aarch64_neon_scalar_sqxtn, // llvm.aarch64.neon.scalar.sqxtn + aarch64_neon_scalar_sqxtun, // llvm.aarch64.neon.scalar.sqxtun + aarch64_neon_scalar_uqxtn, // llvm.aarch64.neon.scalar.uqxtn + aarch64_neon_shadd, // llvm.aarch64.neon.shadd + aarch64_neon_shll, // llvm.aarch64.neon.shll + aarch64_neon_shsub, // llvm.aarch64.neon.shsub + aarch64_neon_smax, // llvm.aarch64.neon.smax + aarch64_neon_smaxp, // llvm.aarch64.neon.smaxp + aarch64_neon_smaxv, // llvm.aarch64.neon.smaxv + aarch64_neon_smin, // llvm.aarch64.neon.smin + aarch64_neon_sminp, // llvm.aarch64.neon.sminp + aarch64_neon_sminv, // llvm.aarch64.neon.sminv + aarch64_neon_smull, // llvm.aarch64.neon.smull + aarch64_neon_sqabs, // llvm.aarch64.neon.sqabs + aarch64_neon_sqadd, // llvm.aarch64.neon.sqadd + aarch64_neon_sqdmulh, // llvm.aarch64.neon.sqdmulh + aarch64_neon_sqdmull, // llvm.aarch64.neon.sqdmull + aarch64_neon_sqdmulls_scalar, // llvm.aarch64.neon.sqdmulls.scalar + aarch64_neon_sqneg, // llvm.aarch64.neon.sqneg + aarch64_neon_sqrdmulh, // llvm.aarch64.neon.sqrdmulh + aarch64_neon_sqrshl, // llvm.aarch64.neon.sqrshl + aarch64_neon_sqrshrn, // llvm.aarch64.neon.sqrshrn + aarch64_neon_sqrshrun, // llvm.aarch64.neon.sqrshrun + aarch64_neon_sqshl, // llvm.aarch64.neon.sqshl + aarch64_neon_sqshlu, // llvm.aarch64.neon.sqshlu + aarch64_neon_sqshrn, // llvm.aarch64.neon.sqshrn + aarch64_neon_sqshrun, // llvm.aarch64.neon.sqshrun + aarch64_neon_sqsub, // llvm.aarch64.neon.sqsub + aarch64_neon_sqxtn, // llvm.aarch64.neon.sqxtn + aarch64_neon_sqxtun, // llvm.aarch64.neon.sqxtun + aarch64_neon_srhadd, // llvm.aarch64.neon.srhadd + aarch64_neon_srshl, // llvm.aarch64.neon.srshl + aarch64_neon_sshl, // llvm.aarch64.neon.sshl + aarch64_neon_sshll, // llvm.aarch64.neon.sshll + aarch64_neon_st1x2, // llvm.aarch64.neon.st1x2 + aarch64_neon_st1x3, // llvm.aarch64.neon.st1x3 + aarch64_neon_st1x4, // llvm.aarch64.neon.st1x4 + aarch64_neon_st2, // llvm.aarch64.neon.st2 + aarch64_neon_st2lane, // llvm.aarch64.neon.st2lane + aarch64_neon_st3, // llvm.aarch64.neon.st3 + aarch64_neon_st3lane, // llvm.aarch64.neon.st3lane + aarch64_neon_st4, // llvm.aarch64.neon.st4 + aarch64_neon_st4lane, // llvm.aarch64.neon.st4lane + aarch64_neon_subhn, // llvm.aarch64.neon.subhn + aarch64_neon_suqadd, // llvm.aarch64.neon.suqadd + aarch64_neon_tbl1, // llvm.aarch64.neon.tbl1 + aarch64_neon_tbl2, // llvm.aarch64.neon.tbl2 + aarch64_neon_tbl3, // llvm.aarch64.neon.tbl3 + aarch64_neon_tbl4, // llvm.aarch64.neon.tbl4 + aarch64_neon_tbx1, // llvm.aarch64.neon.tbx1 + aarch64_neon_tbx2, // llvm.aarch64.neon.tbx2 + aarch64_neon_tbx3, // llvm.aarch64.neon.tbx3 + aarch64_neon_tbx4, // llvm.aarch64.neon.tbx4 + aarch64_neon_uabd, // llvm.aarch64.neon.uabd + aarch64_neon_uaddlp, // llvm.aarch64.neon.uaddlp + aarch64_neon_uaddlv, // llvm.aarch64.neon.uaddlv + aarch64_neon_uaddv, // llvm.aarch64.neon.uaddv + aarch64_neon_uhadd, // llvm.aarch64.neon.uhadd + aarch64_neon_uhsub, // llvm.aarch64.neon.uhsub + aarch64_neon_umax, // llvm.aarch64.neon.umax + aarch64_neon_umaxp, // llvm.aarch64.neon.umaxp + aarch64_neon_umaxv, // llvm.aarch64.neon.umaxv + aarch64_neon_umin, // llvm.aarch64.neon.umin + aarch64_neon_uminp, // llvm.aarch64.neon.uminp + aarch64_neon_uminv, // llvm.aarch64.neon.uminv + aarch64_neon_umull, // llvm.aarch64.neon.umull + aarch64_neon_uqadd, // llvm.aarch64.neon.uqadd + aarch64_neon_uqrshl, // llvm.aarch64.neon.uqrshl + aarch64_neon_uqrshrn, // llvm.aarch64.neon.uqrshrn + aarch64_neon_uqshl, // llvm.aarch64.neon.uqshl + aarch64_neon_uqshrn, // llvm.aarch64.neon.uqshrn + aarch64_neon_uqsub, // llvm.aarch64.neon.uqsub + aarch64_neon_uqxtn, // llvm.aarch64.neon.uqxtn + aarch64_neon_urecpe, // llvm.aarch64.neon.urecpe + aarch64_neon_urhadd, // llvm.aarch64.neon.urhadd + aarch64_neon_urshl, // llvm.aarch64.neon.urshl + aarch64_neon_ursqrte, // llvm.aarch64.neon.ursqrte + aarch64_neon_ushl, // llvm.aarch64.neon.ushl + aarch64_neon_ushll, // llvm.aarch64.neon.ushll + aarch64_neon_usqadd, // llvm.aarch64.neon.usqadd + aarch64_neon_vcopy_lane, // llvm.aarch64.neon.vcopy.lane + aarch64_neon_vcvtfp2fxs, // llvm.aarch64.neon.vcvtfp2fxs + aarch64_neon_vcvtfp2fxu, // llvm.aarch64.neon.vcvtfp2fxu + aarch64_neon_vcvtfp2hf, // llvm.aarch64.neon.vcvtfp2hf + aarch64_neon_vcvtfxs2fp, // llvm.aarch64.neon.vcvtfxs2fp + aarch64_neon_vcvtfxu2fp, // llvm.aarch64.neon.vcvtfxu2fp + aarch64_neon_vcvthf2fp, // llvm.aarch64.neon.vcvthf2fp + aarch64_neon_vsli, // llvm.aarch64.neon.vsli + aarch64_neon_vsri, // llvm.aarch64.neon.vsri + aarch64_rbit, // llvm.aarch64.rbit + aarch64_sdiv, // llvm.aarch64.sdiv + aarch64_sisd_fabd, // llvm.aarch64.sisd.fabd + aarch64_sisd_fcvtxn, // llvm.aarch64.sisd.fcvtxn + aarch64_stlxp, // llvm.aarch64.stlxp + aarch64_stlxr, // llvm.aarch64.stlxr + aarch64_stxp, // llvm.aarch64.stxp + aarch64_stxr, // llvm.aarch64.stxr + aarch64_udiv, // llvm.aarch64.udiv + adjust_trampoline, // llvm.adjust.trampoline + annotation, // llvm.annotation + arm_cdp, // llvm.arm.cdp + arm_cdp2, // llvm.arm.cdp2 + arm_clrex, // llvm.arm.clrex + arm_crc32b, // llvm.arm.crc32b + arm_crc32cb, // llvm.arm.crc32cb + arm_crc32ch, // llvm.arm.crc32ch + arm_crc32cw, // llvm.arm.crc32cw + arm_crc32h, // llvm.arm.crc32h + arm_crc32w, // llvm.arm.crc32w + arm_dmb, // llvm.arm.dmb + arm_dsb, // llvm.arm.dsb + arm_get_fpscr, // llvm.arm.get.fpscr + arm_hint, // llvm.arm.hint + arm_isb, // llvm.arm.isb + arm_ldaex, // llvm.arm.ldaex + arm_ldaexd, // llvm.arm.ldaexd + arm_ldrex, // llvm.arm.ldrex + arm_ldrexd, // llvm.arm.ldrexd + arm_mcr, // llvm.arm.mcr + arm_mcr2, // llvm.arm.mcr2 + arm_mcrr, // llvm.arm.mcrr + arm_mcrr2, // llvm.arm.mcrr2 + arm_mrc, // llvm.arm.mrc + arm_mrc2, // llvm.arm.mrc2 + arm_neon_aesd, // llvm.arm.neon.aesd + arm_neon_aese, // llvm.arm.neon.aese + arm_neon_aesimc, // llvm.arm.neon.aesimc + arm_neon_aesmc, // llvm.arm.neon.aesmc + arm_neon_sha1c, // llvm.arm.neon.sha1c + arm_neon_sha1h, // llvm.arm.neon.sha1h + arm_neon_sha1m, // llvm.arm.neon.sha1m + arm_neon_sha1p, // llvm.arm.neon.sha1p + arm_neon_sha1su0, // llvm.arm.neon.sha1su0 + arm_neon_sha1su1, // llvm.arm.neon.sha1su1 + arm_neon_sha256h, // llvm.arm.neon.sha256h + arm_neon_sha256h2, // llvm.arm.neon.sha256h2 + arm_neon_sha256su0, // llvm.arm.neon.sha256su0 + arm_neon_sha256su1, // llvm.arm.neon.sha256su1 + arm_neon_vabds, // llvm.arm.neon.vabds + arm_neon_vabdu, // llvm.arm.neon.vabdu + arm_neon_vabs, // llvm.arm.neon.vabs + arm_neon_vacge, // llvm.arm.neon.vacge + arm_neon_vacgt, // llvm.arm.neon.vacgt + arm_neon_vbsl, // llvm.arm.neon.vbsl + arm_neon_vcls, // llvm.arm.neon.vcls + arm_neon_vclz, // llvm.arm.neon.vclz + arm_neon_vcnt, // llvm.arm.neon.vcnt + arm_neon_vcvtas, // llvm.arm.neon.vcvtas + arm_neon_vcvtau, // llvm.arm.neon.vcvtau + arm_neon_vcvtfp2fxs, // llvm.arm.neon.vcvtfp2fxs + arm_neon_vcvtfp2fxu, // llvm.arm.neon.vcvtfp2fxu + arm_neon_vcvtfp2hf, // llvm.arm.neon.vcvtfp2hf + arm_neon_vcvtfxs2fp, // llvm.arm.neon.vcvtfxs2fp + arm_neon_vcvtfxu2fp, // llvm.arm.neon.vcvtfxu2fp + arm_neon_vcvthf2fp, // llvm.arm.neon.vcvthf2fp + arm_neon_vcvtms, // llvm.arm.neon.vcvtms + arm_neon_vcvtmu, // llvm.arm.neon.vcvtmu + arm_neon_vcvtns, // llvm.arm.neon.vcvtns + arm_neon_vcvtnu, // llvm.arm.neon.vcvtnu + arm_neon_vcvtps, // llvm.arm.neon.vcvtps + arm_neon_vcvtpu, // llvm.arm.neon.vcvtpu + arm_neon_vhadds, // llvm.arm.neon.vhadds + arm_neon_vhaddu, // llvm.arm.neon.vhaddu + arm_neon_vhsubs, // llvm.arm.neon.vhsubs + arm_neon_vhsubu, // llvm.arm.neon.vhsubu + arm_neon_vld1, // llvm.arm.neon.vld1 + arm_neon_vld2, // llvm.arm.neon.vld2 + arm_neon_vld2lane, // llvm.arm.neon.vld2lane + arm_neon_vld3, // llvm.arm.neon.vld3 + arm_neon_vld3lane, // llvm.arm.neon.vld3lane + arm_neon_vld4, // llvm.arm.neon.vld4 + arm_neon_vld4lane, // llvm.arm.neon.vld4lane + arm_neon_vmaxnm, // llvm.arm.neon.vmaxnm + arm_neon_vmaxs, // llvm.arm.neon.vmaxs + arm_neon_vmaxu, // llvm.arm.neon.vmaxu + arm_neon_vminnm, // llvm.arm.neon.vminnm + arm_neon_vmins, // llvm.arm.neon.vmins + arm_neon_vminu, // llvm.arm.neon.vminu + arm_neon_vmullp, // llvm.arm.neon.vmullp + arm_neon_vmulls, // llvm.arm.neon.vmulls + arm_neon_vmullu, // llvm.arm.neon.vmullu + arm_neon_vmulp, // llvm.arm.neon.vmulp + arm_neon_vpadals, // llvm.arm.neon.vpadals + arm_neon_vpadalu, // llvm.arm.neon.vpadalu + arm_neon_vpadd, // llvm.arm.neon.vpadd + arm_neon_vpaddls, // llvm.arm.neon.vpaddls + arm_neon_vpaddlu, // llvm.arm.neon.vpaddlu + arm_neon_vpmaxs, // llvm.arm.neon.vpmaxs + arm_neon_vpmaxu, // llvm.arm.neon.vpmaxu + arm_neon_vpmins, // llvm.arm.neon.vpmins + arm_neon_vpminu, // llvm.arm.neon.vpminu + arm_neon_vqabs, // llvm.arm.neon.vqabs + arm_neon_vqadds, // llvm.arm.neon.vqadds + arm_neon_vqaddu, // llvm.arm.neon.vqaddu + arm_neon_vqdmulh, // llvm.arm.neon.vqdmulh + arm_neon_vqdmull, // llvm.arm.neon.vqdmull + arm_neon_vqmovns, // llvm.arm.neon.vqmovns + arm_neon_vqmovnsu, // llvm.arm.neon.vqmovnsu + arm_neon_vqmovnu, // llvm.arm.neon.vqmovnu + arm_neon_vqneg, // llvm.arm.neon.vqneg + arm_neon_vqrdmulh, // llvm.arm.neon.vqrdmulh + arm_neon_vqrshiftns, // llvm.arm.neon.vqrshiftns + arm_neon_vqrshiftnsu, // llvm.arm.neon.vqrshiftnsu + arm_neon_vqrshiftnu, // llvm.arm.neon.vqrshiftnu + arm_neon_vqrshifts, // llvm.arm.neon.vqrshifts + arm_neon_vqrshiftu, // llvm.arm.neon.vqrshiftu + arm_neon_vqshiftns, // llvm.arm.neon.vqshiftns + arm_neon_vqshiftnsu, // llvm.arm.neon.vqshiftnsu + arm_neon_vqshiftnu, // llvm.arm.neon.vqshiftnu + arm_neon_vqshifts, // llvm.arm.neon.vqshifts + arm_neon_vqshiftsu, // llvm.arm.neon.vqshiftsu + arm_neon_vqshiftu, // llvm.arm.neon.vqshiftu + arm_neon_vqsubs, // llvm.arm.neon.vqsubs + arm_neon_vqsubu, // llvm.arm.neon.vqsubu + arm_neon_vraddhn, // llvm.arm.neon.vraddhn + arm_neon_vrecpe, // llvm.arm.neon.vrecpe + arm_neon_vrecps, // llvm.arm.neon.vrecps + arm_neon_vrhadds, // llvm.arm.neon.vrhadds + arm_neon_vrhaddu, // llvm.arm.neon.vrhaddu + arm_neon_vrinta, // llvm.arm.neon.vrinta + arm_neon_vrintm, // llvm.arm.neon.vrintm + arm_neon_vrintn, // llvm.arm.neon.vrintn + arm_neon_vrintp, // llvm.arm.neon.vrintp + arm_neon_vrintx, // llvm.arm.neon.vrintx + arm_neon_vrintz, // llvm.arm.neon.vrintz + arm_neon_vrshiftn, // llvm.arm.neon.vrshiftn + arm_neon_vrshifts, // llvm.arm.neon.vrshifts + arm_neon_vrshiftu, // llvm.arm.neon.vrshiftu + arm_neon_vrsqrte, // llvm.arm.neon.vrsqrte + arm_neon_vrsqrts, // llvm.arm.neon.vrsqrts + arm_neon_vrsubhn, // llvm.arm.neon.vrsubhn + arm_neon_vshiftins, // llvm.arm.neon.vshiftins + arm_neon_vshifts, // llvm.arm.neon.vshifts + arm_neon_vshiftu, // llvm.arm.neon.vshiftu + arm_neon_vst1, // llvm.arm.neon.vst1 + arm_neon_vst2, // llvm.arm.neon.vst2 + arm_neon_vst2lane, // llvm.arm.neon.vst2lane + arm_neon_vst3, // llvm.arm.neon.vst3 + arm_neon_vst3lane, // llvm.arm.neon.vst3lane + arm_neon_vst4, // llvm.arm.neon.vst4 + arm_neon_vst4lane, // llvm.arm.neon.vst4lane + arm_neon_vtbl1, // llvm.arm.neon.vtbl1 + arm_neon_vtbl2, // llvm.arm.neon.vtbl2 + arm_neon_vtbl3, // llvm.arm.neon.vtbl3 + arm_neon_vtbl4, // llvm.arm.neon.vtbl4 + arm_neon_vtbx1, // llvm.arm.neon.vtbx1 + arm_neon_vtbx2, // llvm.arm.neon.vtbx2 + arm_neon_vtbx3, // llvm.arm.neon.vtbx3 + arm_neon_vtbx4, // llvm.arm.neon.vtbx4 + arm_qadd, // llvm.arm.qadd + arm_qsub, // llvm.arm.qsub + arm_rbit, // llvm.arm.rbit + arm_set_fpscr, // llvm.arm.set.fpscr + arm_ssat, // llvm.arm.ssat + arm_stlex, // llvm.arm.stlex + arm_stlexd, // llvm.arm.stlexd + arm_strex, // llvm.arm.strex + arm_strexd, // llvm.arm.strexd + arm_thread_pointer, // llvm.arm.thread.pointer + arm_undefined, // llvm.arm.undefined + arm_usat, // llvm.arm.usat + arm_vcvtr, // llvm.arm.vcvtr + arm_vcvtru, // llvm.arm.vcvtru + bswap, // llvm.bswap + ceil, // llvm.ceil + clear_cache, // llvm.clear_cache + convert_from_fp16, // llvm.convert.from.fp16 + convert_to_fp16, // llvm.convert.to.fp16 + convertff, // llvm.convertff + convertfsi, // llvm.convertfsi + convertfui, // llvm.convertfui + convertsif, // llvm.convertsif + convertss, // llvm.convertss + convertsu, // llvm.convertsu + convertuif, // llvm.convertuif + convertus, // llvm.convertus + convertuu, // llvm.convertuu + copysign, // llvm.copysign + cos, // llvm.cos + ctlz, // llvm.ctlz + ctpop, // llvm.ctpop + cttz, // llvm.cttz + cuda_syncthreads, // llvm.cuda.syncthreads + dbg_declare, // llvm.dbg.declare + dbg_value, // llvm.dbg.value + debugtrap, // llvm.debugtrap + donothing, // llvm.donothing + eh_dwarf_cfa, // llvm.eh.dwarf.cfa + eh_return_i32, // llvm.eh.return.i32 + eh_return_i64, // llvm.eh.return.i64 + eh_sjlj_callsite, // llvm.eh.sjlj.callsite + eh_sjlj_functioncontext, // llvm.eh.sjlj.functioncontext + eh_sjlj_longjmp, // llvm.eh.sjlj.longjmp + eh_sjlj_lsda, // llvm.eh.sjlj.lsda + eh_sjlj_setjmp, // llvm.eh.sjlj.setjmp + eh_typeid_for, // llvm.eh.typeid.for + eh_unwind_init, // llvm.eh.unwind.init + exp, // llvm.exp + exp2, // llvm.exp2 + expect, // llvm.expect + experimental_patchpoint_i64, // llvm.experimental.patchpoint.i64 + experimental_patchpoint_void, // llvm.experimental.patchpoint.void + experimental_stackmap, // llvm.experimental.stackmap + fabs, // llvm.fabs + floor, // llvm.floor + flt_rounds, // llvm.flt.rounds + fma, // llvm.fma + fmuladd, // llvm.fmuladd + frameaddress, // llvm.frameaddress + gcread, // llvm.gcread + gcroot, // llvm.gcroot + gcwrite, // llvm.gcwrite + hexagon_A2_abs, // llvm.hexagon.A2.abs + hexagon_A2_absp, // llvm.hexagon.A2.absp + hexagon_A2_abssat, // llvm.hexagon.A2.abssat + hexagon_A2_add, // llvm.hexagon.A2.add + hexagon_A2_addh_h16_hh, // llvm.hexagon.A2.addh.h16.hh + hexagon_A2_addh_h16_hl, // llvm.hexagon.A2.addh.h16.hl + hexagon_A2_addh_h16_lh, // llvm.hexagon.A2.addh.h16.lh + hexagon_A2_addh_h16_ll, // llvm.hexagon.A2.addh.h16.ll + hexagon_A2_addh_h16_sat_hh, // llvm.hexagon.A2.addh.h16.sat.hh + hexagon_A2_addh_h16_sat_hl, // llvm.hexagon.A2.addh.h16.sat.hl + hexagon_A2_addh_h16_sat_lh, // llvm.hexagon.A2.addh.h16.sat.lh + hexagon_A2_addh_h16_sat_ll, // llvm.hexagon.A2.addh.h16.sat.ll + hexagon_A2_addh_l16_hl, // llvm.hexagon.A2.addh.l16.hl + hexagon_A2_addh_l16_ll, // llvm.hexagon.A2.addh.l16.ll + hexagon_A2_addh_l16_sat_hl, // llvm.hexagon.A2.addh.l16.sat.hl + hexagon_A2_addh_l16_sat_ll, // llvm.hexagon.A2.addh.l16.sat.ll + hexagon_A2_addi, // llvm.hexagon.A2.addi + hexagon_A2_addp, // llvm.hexagon.A2.addp + hexagon_A2_addpsat, // llvm.hexagon.A2.addpsat + hexagon_A2_addsat, // llvm.hexagon.A2.addsat + hexagon_A2_addsp, // llvm.hexagon.A2.addsp + hexagon_A2_and, // llvm.hexagon.A2.and + hexagon_A2_andir, // llvm.hexagon.A2.andir + hexagon_A2_andp, // llvm.hexagon.A2.andp + hexagon_A2_aslh, // llvm.hexagon.A2.aslh + hexagon_A2_asrh, // llvm.hexagon.A2.asrh + hexagon_A2_combine_hh, // llvm.hexagon.A2.combine.hh + hexagon_A2_combine_hl, // llvm.hexagon.A2.combine.hl + hexagon_A2_combine_lh, // llvm.hexagon.A2.combine.lh + hexagon_A2_combine_ll, // llvm.hexagon.A2.combine.ll + hexagon_A2_combineii, // llvm.hexagon.A2.combineii + hexagon_A2_combinew, // llvm.hexagon.A2.combinew + hexagon_A2_max, // llvm.hexagon.A2.max + hexagon_A2_maxp, // llvm.hexagon.A2.maxp + hexagon_A2_maxu, // llvm.hexagon.A2.maxu + hexagon_A2_maxup, // llvm.hexagon.A2.maxup + hexagon_A2_min, // llvm.hexagon.A2.min + hexagon_A2_minp, // llvm.hexagon.A2.minp + hexagon_A2_minu, // llvm.hexagon.A2.minu + hexagon_A2_minup, // llvm.hexagon.A2.minup + hexagon_A2_neg, // llvm.hexagon.A2.neg + hexagon_A2_negp, // llvm.hexagon.A2.negp + hexagon_A2_negsat, // llvm.hexagon.A2.negsat + hexagon_A2_not, // llvm.hexagon.A2.not + hexagon_A2_notp, // llvm.hexagon.A2.notp + hexagon_A2_or, // llvm.hexagon.A2.or + hexagon_A2_orir, // llvm.hexagon.A2.orir + hexagon_A2_orp, // llvm.hexagon.A2.orp + hexagon_A2_roundsat, // llvm.hexagon.A2.roundsat + hexagon_A2_sat, // llvm.hexagon.A2.sat + hexagon_A2_satb, // llvm.hexagon.A2.satb + hexagon_A2_sath, // llvm.hexagon.A2.sath + hexagon_A2_satub, // llvm.hexagon.A2.satub + hexagon_A2_satuh, // llvm.hexagon.A2.satuh + hexagon_A2_sub, // llvm.hexagon.A2.sub + hexagon_A2_subh_h16_hh, // llvm.hexagon.A2.subh.h16.hh + hexagon_A2_subh_h16_hl, // llvm.hexagon.A2.subh.h16.hl + hexagon_A2_subh_h16_lh, // llvm.hexagon.A2.subh.h16.lh + hexagon_A2_subh_h16_ll, // llvm.hexagon.A2.subh.h16.ll + hexagon_A2_subh_h16_sat_hh, // llvm.hexagon.A2.subh.h16.sat.hh + hexagon_A2_subh_h16_sat_hl, // llvm.hexagon.A2.subh.h16.sat.hl + hexagon_A2_subh_h16_sat_lh, // llvm.hexagon.A2.subh.h16.sat.lh + hexagon_A2_subh_h16_sat_ll, // llvm.hexagon.A2.subh.h16.sat.ll + hexagon_A2_subh_l16_hl, // llvm.hexagon.A2.subh.l16.hl + hexagon_A2_subh_l16_ll, // llvm.hexagon.A2.subh.l16.ll + hexagon_A2_subh_l16_sat_hl, // llvm.hexagon.A2.subh.l16.sat.hl + hexagon_A2_subh_l16_sat_ll, // llvm.hexagon.A2.subh.l16.sat.ll + hexagon_A2_subp, // llvm.hexagon.A2.subp + hexagon_A2_subri, // llvm.hexagon.A2.subri + hexagon_A2_subsat, // llvm.hexagon.A2.subsat + hexagon_A2_svaddh, // llvm.hexagon.A2.svaddh + hexagon_A2_svaddhs, // llvm.hexagon.A2.svaddhs + hexagon_A2_svadduhs, // llvm.hexagon.A2.svadduhs + hexagon_A2_svavgh, // llvm.hexagon.A2.svavgh + hexagon_A2_svavghs, // llvm.hexagon.A2.svavghs + hexagon_A2_svnavgh, // llvm.hexagon.A2.svnavgh + hexagon_A2_svsubh, // llvm.hexagon.A2.svsubh + hexagon_A2_svsubhs, // llvm.hexagon.A2.svsubhs + hexagon_A2_svsubuhs, // llvm.hexagon.A2.svsubuhs + hexagon_A2_swiz, // llvm.hexagon.A2.swiz + hexagon_A2_sxtb, // llvm.hexagon.A2.sxtb + hexagon_A2_sxth, // llvm.hexagon.A2.sxth + hexagon_A2_sxtw, // llvm.hexagon.A2.sxtw + hexagon_A2_tfr, // llvm.hexagon.A2.tfr + hexagon_A2_tfrih, // llvm.hexagon.A2.tfrih + hexagon_A2_tfril, // llvm.hexagon.A2.tfril + hexagon_A2_tfrp, // llvm.hexagon.A2.tfrp + hexagon_A2_tfrpi, // llvm.hexagon.A2.tfrpi + hexagon_A2_tfrsi, // llvm.hexagon.A2.tfrsi + hexagon_A2_vabsh, // llvm.hexagon.A2.vabsh + hexagon_A2_vabshsat, // llvm.hexagon.A2.vabshsat + hexagon_A2_vabsw, // llvm.hexagon.A2.vabsw + hexagon_A2_vabswsat, // llvm.hexagon.A2.vabswsat + hexagon_A2_vaddb_map, // llvm.hexagon.A2.vaddb.map + hexagon_A2_vaddh, // llvm.hexagon.A2.vaddh + hexagon_A2_vaddhs, // llvm.hexagon.A2.vaddhs + hexagon_A2_vaddub, // llvm.hexagon.A2.vaddub + hexagon_A2_vaddubs, // llvm.hexagon.A2.vaddubs + hexagon_A2_vadduhs, // llvm.hexagon.A2.vadduhs + hexagon_A2_vaddw, // llvm.hexagon.A2.vaddw + hexagon_A2_vaddws, // llvm.hexagon.A2.vaddws + hexagon_A2_vavgh, // llvm.hexagon.A2.vavgh + hexagon_A2_vavghcr, // llvm.hexagon.A2.vavghcr + hexagon_A2_vavghr, // llvm.hexagon.A2.vavghr + hexagon_A2_vavgub, // llvm.hexagon.A2.vavgub + hexagon_A2_vavgubr, // llvm.hexagon.A2.vavgubr + hexagon_A2_vavguh, // llvm.hexagon.A2.vavguh + hexagon_A2_vavguhr, // llvm.hexagon.A2.vavguhr + hexagon_A2_vavguw, // llvm.hexagon.A2.vavguw + hexagon_A2_vavguwr, // llvm.hexagon.A2.vavguwr + hexagon_A2_vavgw, // llvm.hexagon.A2.vavgw + hexagon_A2_vavgwcr, // llvm.hexagon.A2.vavgwcr + hexagon_A2_vavgwr, // llvm.hexagon.A2.vavgwr + hexagon_A2_vcmpbeq, // llvm.hexagon.A2.vcmpbeq + hexagon_A2_vcmpbgtu, // llvm.hexagon.A2.vcmpbgtu + hexagon_A2_vcmpheq, // llvm.hexagon.A2.vcmpheq + hexagon_A2_vcmphgt, // llvm.hexagon.A2.vcmphgt + hexagon_A2_vcmphgtu, // llvm.hexagon.A2.vcmphgtu + hexagon_A2_vcmpweq, // llvm.hexagon.A2.vcmpweq + hexagon_A2_vcmpwgt, // llvm.hexagon.A2.vcmpwgt + hexagon_A2_vcmpwgtu, // llvm.hexagon.A2.vcmpwgtu + hexagon_A2_vconj, // llvm.hexagon.A2.vconj + hexagon_A2_vmaxb, // llvm.hexagon.A2.vmaxb + hexagon_A2_vmaxh, // llvm.hexagon.A2.vmaxh + hexagon_A2_vmaxub, // llvm.hexagon.A2.vmaxub + hexagon_A2_vmaxuh, // llvm.hexagon.A2.vmaxuh + hexagon_A2_vmaxuw, // llvm.hexagon.A2.vmaxuw + hexagon_A2_vmaxw, // llvm.hexagon.A2.vmaxw + hexagon_A2_vminb, // llvm.hexagon.A2.vminb + hexagon_A2_vminh, // llvm.hexagon.A2.vminh + hexagon_A2_vminub, // llvm.hexagon.A2.vminub + hexagon_A2_vminuh, // llvm.hexagon.A2.vminuh + hexagon_A2_vminuw, // llvm.hexagon.A2.vminuw + hexagon_A2_vminw, // llvm.hexagon.A2.vminw + hexagon_A2_vnavgh, // llvm.hexagon.A2.vnavgh + hexagon_A2_vnavghcr, // llvm.hexagon.A2.vnavghcr + hexagon_A2_vnavghr, // llvm.hexagon.A2.vnavghr + hexagon_A2_vnavgw, // llvm.hexagon.A2.vnavgw + hexagon_A2_vnavgwcr, // llvm.hexagon.A2.vnavgwcr + hexagon_A2_vnavgwr, // llvm.hexagon.A2.vnavgwr + hexagon_A2_vraddub, // llvm.hexagon.A2.vraddub + hexagon_A2_vraddub_acc, // llvm.hexagon.A2.vraddub.acc + hexagon_A2_vrsadub, // llvm.hexagon.A2.vrsadub + hexagon_A2_vrsadub_acc, // llvm.hexagon.A2.vrsadub.acc + hexagon_A2_vsubb_map, // llvm.hexagon.A2.vsubb.map + hexagon_A2_vsubh, // llvm.hexagon.A2.vsubh + hexagon_A2_vsubhs, // llvm.hexagon.A2.vsubhs + hexagon_A2_vsubub, // llvm.hexagon.A2.vsubub + hexagon_A2_vsububs, // llvm.hexagon.A2.vsububs + hexagon_A2_vsubuhs, // llvm.hexagon.A2.vsubuhs + hexagon_A2_vsubw, // llvm.hexagon.A2.vsubw + hexagon_A2_vsubws, // llvm.hexagon.A2.vsubws + hexagon_A2_xor, // llvm.hexagon.A2.xor + hexagon_A2_xorp, // llvm.hexagon.A2.xorp + hexagon_A2_zxtb, // llvm.hexagon.A2.zxtb + hexagon_A2_zxth, // llvm.hexagon.A2.zxth + hexagon_A4_andn, // llvm.hexagon.A4.andn + hexagon_A4_andnp, // llvm.hexagon.A4.andnp + hexagon_A4_bitsplit, // llvm.hexagon.A4.bitsplit + hexagon_A4_bitspliti, // llvm.hexagon.A4.bitspliti + hexagon_A4_boundscheck, // llvm.hexagon.A4.boundscheck + hexagon_A4_cmpbeq, // llvm.hexagon.A4.cmpbeq + hexagon_A4_cmpbeqi, // llvm.hexagon.A4.cmpbeqi + hexagon_A4_cmpbgt, // llvm.hexagon.A4.cmpbgt + hexagon_A4_cmpbgti, // llvm.hexagon.A4.cmpbgti + hexagon_A4_cmpbgtu, // llvm.hexagon.A4.cmpbgtu + hexagon_A4_cmpbgtui, // llvm.hexagon.A4.cmpbgtui + hexagon_A4_cmpheq, // llvm.hexagon.A4.cmpheq + hexagon_A4_cmpheqi, // llvm.hexagon.A4.cmpheqi + hexagon_A4_cmphgt, // llvm.hexagon.A4.cmphgt + hexagon_A4_cmphgti, // llvm.hexagon.A4.cmphgti + hexagon_A4_cmphgtu, // llvm.hexagon.A4.cmphgtu + hexagon_A4_cmphgtui, // llvm.hexagon.A4.cmphgtui + hexagon_A4_combineir, // llvm.hexagon.A4.combineir + hexagon_A4_combineri, // llvm.hexagon.A4.combineri + hexagon_A4_cround_ri, // llvm.hexagon.A4.cround.ri + hexagon_A4_cround_rr, // llvm.hexagon.A4.cround.rr + hexagon_A4_modwrapu, // llvm.hexagon.A4.modwrapu + hexagon_A4_orn, // llvm.hexagon.A4.orn + hexagon_A4_ornp, // llvm.hexagon.A4.ornp + hexagon_A4_rcmpeq, // llvm.hexagon.A4.rcmpeq + hexagon_A4_rcmpeqi, // llvm.hexagon.A4.rcmpeqi + hexagon_A4_rcmpneq, // llvm.hexagon.A4.rcmpneq + hexagon_A4_rcmpneqi, // llvm.hexagon.A4.rcmpneqi + hexagon_A4_round_ri, // llvm.hexagon.A4.round.ri + hexagon_A4_round_ri_sat, // llvm.hexagon.A4.round.ri.sat + hexagon_A4_round_rr, // llvm.hexagon.A4.round.rr + hexagon_A4_round_rr_sat, // llvm.hexagon.A4.round.rr.sat + hexagon_A4_tlbmatch, // llvm.hexagon.A4.tlbmatch + hexagon_A4_vcmpbeq_any, // llvm.hexagon.A4.vcmpbeq.any + hexagon_A4_vcmpbeqi, // llvm.hexagon.A4.vcmpbeqi + hexagon_A4_vcmpbgt, // llvm.hexagon.A4.vcmpbgt + hexagon_A4_vcmpbgti, // llvm.hexagon.A4.vcmpbgti + hexagon_A4_vcmpbgtui, // llvm.hexagon.A4.vcmpbgtui + hexagon_A4_vcmpheqi, // llvm.hexagon.A4.vcmpheqi + hexagon_A4_vcmphgti, // llvm.hexagon.A4.vcmphgti + hexagon_A4_vcmphgtui, // llvm.hexagon.A4.vcmphgtui + hexagon_A4_vcmpweqi, // llvm.hexagon.A4.vcmpweqi + hexagon_A4_vcmpwgti, // llvm.hexagon.A4.vcmpwgti + hexagon_A4_vcmpwgtui, // llvm.hexagon.A4.vcmpwgtui + hexagon_A4_vrmaxh, // llvm.hexagon.A4.vrmaxh + hexagon_A4_vrmaxuh, // llvm.hexagon.A4.vrmaxuh + hexagon_A4_vrmaxuw, // llvm.hexagon.A4.vrmaxuw + hexagon_A4_vrmaxw, // llvm.hexagon.A4.vrmaxw + hexagon_A4_vrminh, // llvm.hexagon.A4.vrminh + hexagon_A4_vrminuh, // llvm.hexagon.A4.vrminuh + hexagon_A4_vrminuw, // llvm.hexagon.A4.vrminuw + hexagon_A4_vrminw, // llvm.hexagon.A4.vrminw + hexagon_A5_vaddhubs, // llvm.hexagon.A5.vaddhubs + hexagon_C2_all8, // llvm.hexagon.C2.all8 + hexagon_C2_and, // llvm.hexagon.C2.and + hexagon_C2_andn, // llvm.hexagon.C2.andn + hexagon_C2_any8, // llvm.hexagon.C2.any8 + hexagon_C2_bitsclr, // llvm.hexagon.C2.bitsclr + hexagon_C2_bitsclri, // llvm.hexagon.C2.bitsclri + hexagon_C2_bitsset, // llvm.hexagon.C2.bitsset + hexagon_C2_cmpeq, // llvm.hexagon.C2.cmpeq + hexagon_C2_cmpeqi, // llvm.hexagon.C2.cmpeqi + hexagon_C2_cmpeqp, // llvm.hexagon.C2.cmpeqp + hexagon_C2_cmpgei, // llvm.hexagon.C2.cmpgei + hexagon_C2_cmpgeui, // llvm.hexagon.C2.cmpgeui + hexagon_C2_cmpgt, // llvm.hexagon.C2.cmpgt + hexagon_C2_cmpgti, // llvm.hexagon.C2.cmpgti + hexagon_C2_cmpgtp, // llvm.hexagon.C2.cmpgtp + hexagon_C2_cmpgtu, // llvm.hexagon.C2.cmpgtu + hexagon_C2_cmpgtui, // llvm.hexagon.C2.cmpgtui + hexagon_C2_cmpgtup, // llvm.hexagon.C2.cmpgtup + hexagon_C2_cmplt, // llvm.hexagon.C2.cmplt + hexagon_C2_cmpltu, // llvm.hexagon.C2.cmpltu + hexagon_C2_mask, // llvm.hexagon.C2.mask + hexagon_C2_mux, // llvm.hexagon.C2.mux + hexagon_C2_muxii, // llvm.hexagon.C2.muxii + hexagon_C2_muxir, // llvm.hexagon.C2.muxir + hexagon_C2_muxri, // llvm.hexagon.C2.muxri + hexagon_C2_not, // llvm.hexagon.C2.not + hexagon_C2_or, // llvm.hexagon.C2.or + hexagon_C2_orn, // llvm.hexagon.C2.orn + hexagon_C2_pxfer_map, // llvm.hexagon.C2.pxfer.map + hexagon_C2_tfrpr, // llvm.hexagon.C2.tfrpr + hexagon_C2_tfrrp, // llvm.hexagon.C2.tfrrp + hexagon_C2_vitpack, // llvm.hexagon.C2.vitpack + hexagon_C2_vmux, // llvm.hexagon.C2.vmux + hexagon_C2_xor, // llvm.hexagon.C2.xor + hexagon_C4_and_and, // llvm.hexagon.C4.and.and + hexagon_C4_and_andn, // llvm.hexagon.C4.and.andn + hexagon_C4_and_or, // llvm.hexagon.C4.and.or + hexagon_C4_and_orn, // llvm.hexagon.C4.and.orn + hexagon_C4_cmplte, // llvm.hexagon.C4.cmplte + hexagon_C4_cmpltei, // llvm.hexagon.C4.cmpltei + hexagon_C4_cmplteu, // llvm.hexagon.C4.cmplteu + hexagon_C4_cmplteui, // llvm.hexagon.C4.cmplteui + hexagon_C4_cmpneq, // llvm.hexagon.C4.cmpneq + hexagon_C4_cmpneqi, // llvm.hexagon.C4.cmpneqi + hexagon_C4_fastcorner9, // llvm.hexagon.C4.fastcorner9 + hexagon_C4_fastcorner9_not, // llvm.hexagon.C4.fastcorner9.not + hexagon_C4_nbitsclr, // llvm.hexagon.C4.nbitsclr + hexagon_C4_nbitsclri, // llvm.hexagon.C4.nbitsclri + hexagon_C4_nbitsset, // llvm.hexagon.C4.nbitsset + hexagon_C4_or_and, // llvm.hexagon.C4.or.and + hexagon_C4_or_andn, // llvm.hexagon.C4.or.andn + hexagon_C4_or_or, // llvm.hexagon.C4.or.or + hexagon_C4_or_orn, // llvm.hexagon.C4.or.orn + hexagon_F2_conv_d2df, // llvm.hexagon.F2.conv.d2df + hexagon_F2_conv_d2sf, // llvm.hexagon.F2.conv.d2sf + hexagon_F2_conv_df2d, // llvm.hexagon.F2.conv.df2d + hexagon_F2_conv_df2d_chop, // llvm.hexagon.F2.conv.df2d.chop + hexagon_F2_conv_df2sf, // llvm.hexagon.F2.conv.df2sf + hexagon_F2_conv_df2ud, // llvm.hexagon.F2.conv.df2ud + hexagon_F2_conv_df2ud_chop, // llvm.hexagon.F2.conv.df2ud.chop + hexagon_F2_conv_df2uw, // llvm.hexagon.F2.conv.df2uw + hexagon_F2_conv_df2uw_chop, // llvm.hexagon.F2.conv.df2uw.chop + hexagon_F2_conv_df2w, // llvm.hexagon.F2.conv.df2w + hexagon_F2_conv_df2w_chop, // llvm.hexagon.F2.conv.df2w.chop + hexagon_F2_conv_sf2d, // llvm.hexagon.F2.conv.sf2d + hexagon_F2_conv_sf2d_chop, // llvm.hexagon.F2.conv.sf2d.chop + hexagon_F2_conv_sf2df, // llvm.hexagon.F2.conv.sf2df + hexagon_F2_conv_sf2ud, // llvm.hexagon.F2.conv.sf2ud + hexagon_F2_conv_sf2ud_chop, // llvm.hexagon.F2.conv.sf2ud.chop + hexagon_F2_conv_sf2uw, // llvm.hexagon.F2.conv.sf2uw + hexagon_F2_conv_sf2uw_chop, // llvm.hexagon.F2.conv.sf2uw.chop + hexagon_F2_conv_sf2w, // llvm.hexagon.F2.conv.sf2w + hexagon_F2_conv_sf2w_chop, // llvm.hexagon.F2.conv.sf2w.chop + hexagon_F2_conv_ud2df, // llvm.hexagon.F2.conv.ud2df + hexagon_F2_conv_ud2sf, // llvm.hexagon.F2.conv.ud2sf + hexagon_F2_conv_uw2df, // llvm.hexagon.F2.conv.uw2df + hexagon_F2_conv_uw2sf, // llvm.hexagon.F2.conv.uw2sf + hexagon_F2_conv_w2df, // llvm.hexagon.F2.conv.w2df + hexagon_F2_conv_w2sf, // llvm.hexagon.F2.conv.w2sf + hexagon_F2_dfadd, // llvm.hexagon.F2.dfadd + hexagon_F2_dfclass, // llvm.hexagon.F2.dfclass + hexagon_F2_dfcmpeq, // llvm.hexagon.F2.dfcmpeq + hexagon_F2_dfcmpge, // llvm.hexagon.F2.dfcmpge + hexagon_F2_dfcmpgt, // llvm.hexagon.F2.dfcmpgt + hexagon_F2_dfcmpuo, // llvm.hexagon.F2.dfcmpuo + hexagon_F2_dffixupd, // llvm.hexagon.F2.dffixupd + hexagon_F2_dffixupn, // llvm.hexagon.F2.dffixupn + hexagon_F2_dffixupr, // llvm.hexagon.F2.dffixupr + hexagon_F2_dffma, // llvm.hexagon.F2.dffma + hexagon_F2_dffma_lib, // llvm.hexagon.F2.dffma.lib + hexagon_F2_dffma_sc, // llvm.hexagon.F2.dffma.sc + hexagon_F2_dffms, // llvm.hexagon.F2.dffms + hexagon_F2_dffms_lib, // llvm.hexagon.F2.dffms.lib + hexagon_F2_dfimm_n, // llvm.hexagon.F2.dfimm.n + hexagon_F2_dfimm_p, // llvm.hexagon.F2.dfimm.p + hexagon_F2_dfmax, // llvm.hexagon.F2.dfmax + hexagon_F2_dfmin, // llvm.hexagon.F2.dfmin + hexagon_F2_dfmpy, // llvm.hexagon.F2.dfmpy + hexagon_F2_dfsub, // llvm.hexagon.F2.dfsub + hexagon_F2_sfadd, // llvm.hexagon.F2.sfadd + hexagon_F2_sfclass, // llvm.hexagon.F2.sfclass + hexagon_F2_sfcmpeq, // llvm.hexagon.F2.sfcmpeq + hexagon_F2_sfcmpge, // llvm.hexagon.F2.sfcmpge + hexagon_F2_sfcmpgt, // llvm.hexagon.F2.sfcmpgt + hexagon_F2_sfcmpuo, // llvm.hexagon.F2.sfcmpuo + hexagon_F2_sffixupd, // llvm.hexagon.F2.sffixupd + hexagon_F2_sffixupn, // llvm.hexagon.F2.sffixupn + hexagon_F2_sffixupr, // llvm.hexagon.F2.sffixupr + hexagon_F2_sffma, // llvm.hexagon.F2.sffma + hexagon_F2_sffma_lib, // llvm.hexagon.F2.sffma.lib + hexagon_F2_sffma_sc, // llvm.hexagon.F2.sffma.sc + hexagon_F2_sffms, // llvm.hexagon.F2.sffms + hexagon_F2_sffms_lib, // llvm.hexagon.F2.sffms.lib + hexagon_F2_sfimm_n, // llvm.hexagon.F2.sfimm.n + hexagon_F2_sfimm_p, // llvm.hexagon.F2.sfimm.p + hexagon_F2_sfmax, // llvm.hexagon.F2.sfmax + hexagon_F2_sfmin, // llvm.hexagon.F2.sfmin + hexagon_F2_sfmpy, // llvm.hexagon.F2.sfmpy + hexagon_F2_sfsub, // llvm.hexagon.F2.sfsub + hexagon_M2_acci, // llvm.hexagon.M2.acci + hexagon_M2_accii, // llvm.hexagon.M2.accii + hexagon_M2_cmaci_s0, // llvm.hexagon.M2.cmaci.s0 + hexagon_M2_cmacr_s0, // llvm.hexagon.M2.cmacr.s0 + hexagon_M2_cmacs_s0, // llvm.hexagon.M2.cmacs.s0 + hexagon_M2_cmacs_s1, // llvm.hexagon.M2.cmacs.s1 + hexagon_M2_cmacsc_s0, // llvm.hexagon.M2.cmacsc.s0 + hexagon_M2_cmacsc_s1, // llvm.hexagon.M2.cmacsc.s1 + hexagon_M2_cmpyi_s0, // llvm.hexagon.M2.cmpyi.s0 + hexagon_M2_cmpyr_s0, // llvm.hexagon.M2.cmpyr.s0 + hexagon_M2_cmpyrs_s0, // llvm.hexagon.M2.cmpyrs.s0 + hexagon_M2_cmpyrs_s1, // llvm.hexagon.M2.cmpyrs.s1 + hexagon_M2_cmpyrsc_s0, // llvm.hexagon.M2.cmpyrsc.s0 + hexagon_M2_cmpyrsc_s1, // llvm.hexagon.M2.cmpyrsc.s1 + hexagon_M2_cmpys_s0, // llvm.hexagon.M2.cmpys.s0 + hexagon_M2_cmpys_s1, // llvm.hexagon.M2.cmpys.s1 + hexagon_M2_cmpysc_s0, // llvm.hexagon.M2.cmpysc.s0 + hexagon_M2_cmpysc_s1, // llvm.hexagon.M2.cmpysc.s1 + hexagon_M2_cnacs_s0, // llvm.hexagon.M2.cnacs.s0 + hexagon_M2_cnacs_s1, // llvm.hexagon.M2.cnacs.s1 + hexagon_M2_cnacsc_s0, // llvm.hexagon.M2.cnacsc.s0 + hexagon_M2_cnacsc_s1, // llvm.hexagon.M2.cnacsc.s1 + hexagon_M2_dpmpyss_acc_s0, // llvm.hexagon.M2.dpmpyss.acc.s0 + hexagon_M2_dpmpyss_nac_s0, // llvm.hexagon.M2.dpmpyss.nac.s0 + hexagon_M2_dpmpyss_rnd_s0, // llvm.hexagon.M2.dpmpyss.rnd.s0 + hexagon_M2_dpmpyss_s0, // llvm.hexagon.M2.dpmpyss.s0 + hexagon_M2_dpmpyuu_acc_s0, // llvm.hexagon.M2.dpmpyuu.acc.s0 + hexagon_M2_dpmpyuu_nac_s0, // llvm.hexagon.M2.dpmpyuu.nac.s0 + hexagon_M2_dpmpyuu_s0, // llvm.hexagon.M2.dpmpyuu.s0 + hexagon_M2_hmmpyh_rs1, // llvm.hexagon.M2.hmmpyh.rs1 + hexagon_M2_hmmpyh_s1, // llvm.hexagon.M2.hmmpyh.s1 + hexagon_M2_hmmpyl_rs1, // llvm.hexagon.M2.hmmpyl.rs1 + hexagon_M2_hmmpyl_s1, // llvm.hexagon.M2.hmmpyl.s1 + hexagon_M2_maci, // llvm.hexagon.M2.maci + hexagon_M2_macsin, // llvm.hexagon.M2.macsin + hexagon_M2_macsip, // llvm.hexagon.M2.macsip + hexagon_M2_mmachs_rs0, // llvm.hexagon.M2.mmachs.rs0 + hexagon_M2_mmachs_rs1, // llvm.hexagon.M2.mmachs.rs1 + hexagon_M2_mmachs_s0, // llvm.hexagon.M2.mmachs.s0 + hexagon_M2_mmachs_s1, // llvm.hexagon.M2.mmachs.s1 + hexagon_M2_mmacls_rs0, // llvm.hexagon.M2.mmacls.rs0 + hexagon_M2_mmacls_rs1, // llvm.hexagon.M2.mmacls.rs1 + hexagon_M2_mmacls_s0, // llvm.hexagon.M2.mmacls.s0 + hexagon_M2_mmacls_s1, // llvm.hexagon.M2.mmacls.s1 + hexagon_M2_mmacuhs_rs0, // llvm.hexagon.M2.mmacuhs.rs0 + hexagon_M2_mmacuhs_rs1, // llvm.hexagon.M2.mmacuhs.rs1 + hexagon_M2_mmacuhs_s0, // llvm.hexagon.M2.mmacuhs.s0 + hexagon_M2_mmacuhs_s1, // llvm.hexagon.M2.mmacuhs.s1 + hexagon_M2_mmaculs_rs0, // llvm.hexagon.M2.mmaculs.rs0 + hexagon_M2_mmaculs_rs1, // llvm.hexagon.M2.mmaculs.rs1 + hexagon_M2_mmaculs_s0, // llvm.hexagon.M2.mmaculs.s0 + hexagon_M2_mmaculs_s1, // llvm.hexagon.M2.mmaculs.s1 + hexagon_M2_mmpyh_rs0, // llvm.hexagon.M2.mmpyh.rs0 + hexagon_M2_mmpyh_rs1, // llvm.hexagon.M2.mmpyh.rs1 + hexagon_M2_mmpyh_s0, // llvm.hexagon.M2.mmpyh.s0 + hexagon_M2_mmpyh_s1, // llvm.hexagon.M2.mmpyh.s1 + hexagon_M2_mmpyl_rs0, // llvm.hexagon.M2.mmpyl.rs0 + hexagon_M2_mmpyl_rs1, // llvm.hexagon.M2.mmpyl.rs1 + hexagon_M2_mmpyl_s0, // llvm.hexagon.M2.mmpyl.s0 + hexagon_M2_mmpyl_s1, // llvm.hexagon.M2.mmpyl.s1 + hexagon_M2_mmpyuh_rs0, // llvm.hexagon.M2.mmpyuh.rs0 + hexagon_M2_mmpyuh_rs1, // llvm.hexagon.M2.mmpyuh.rs1 + hexagon_M2_mmpyuh_s0, // llvm.hexagon.M2.mmpyuh.s0 + hexagon_M2_mmpyuh_s1, // llvm.hexagon.M2.mmpyuh.s1 + hexagon_M2_mmpyul_rs0, // llvm.hexagon.M2.mmpyul.rs0 + hexagon_M2_mmpyul_rs1, // llvm.hexagon.M2.mmpyul.rs1 + hexagon_M2_mmpyul_s0, // llvm.hexagon.M2.mmpyul.s0 + hexagon_M2_mmpyul_s1, // llvm.hexagon.M2.mmpyul.s1 + hexagon_M2_mpy_acc_hh_s0, // llvm.hexagon.M2.mpy.acc.hh.s0 + hexagon_M2_mpy_acc_hh_s1, // llvm.hexagon.M2.mpy.acc.hh.s1 + hexagon_M2_mpy_acc_hl_s0, // llvm.hexagon.M2.mpy.acc.hl.s0 + hexagon_M2_mpy_acc_hl_s1, // llvm.hexagon.M2.mpy.acc.hl.s1 + hexagon_M2_mpy_acc_lh_s0, // llvm.hexagon.M2.mpy.acc.lh.s0 + hexagon_M2_mpy_acc_lh_s1, // llvm.hexagon.M2.mpy.acc.lh.s1 + hexagon_M2_mpy_acc_ll_s0, // llvm.hexagon.M2.mpy.acc.ll.s0 + hexagon_M2_mpy_acc_ll_s1, // llvm.hexagon.M2.mpy.acc.ll.s1 + hexagon_M2_mpy_acc_sat_hh_s0, // llvm.hexagon.M2.mpy.acc.sat.hh.s0 + hexagon_M2_mpy_acc_sat_hh_s1, // llvm.hexagon.M2.mpy.acc.sat.hh.s1 + hexagon_M2_mpy_acc_sat_hl_s0, // llvm.hexagon.M2.mpy.acc.sat.hl.s0 + hexagon_M2_mpy_acc_sat_hl_s1, // llvm.hexagon.M2.mpy.acc.sat.hl.s1 + hexagon_M2_mpy_acc_sat_lh_s0, // llvm.hexagon.M2.mpy.acc.sat.lh.s0 + hexagon_M2_mpy_acc_sat_lh_s1, // llvm.hexagon.M2.mpy.acc.sat.lh.s1 + hexagon_M2_mpy_acc_sat_ll_s0, // llvm.hexagon.M2.mpy.acc.sat.ll.s0 + hexagon_M2_mpy_acc_sat_ll_s1, // llvm.hexagon.M2.mpy.acc.sat.ll.s1 + hexagon_M2_mpy_hh_s0, // llvm.hexagon.M2.mpy.hh.s0 + hexagon_M2_mpy_hh_s1, // llvm.hexagon.M2.mpy.hh.s1 + hexagon_M2_mpy_hl_s0, // llvm.hexagon.M2.mpy.hl.s0 + hexagon_M2_mpy_hl_s1, // llvm.hexagon.M2.mpy.hl.s1 + hexagon_M2_mpy_lh_s0, // llvm.hexagon.M2.mpy.lh.s0 + hexagon_M2_mpy_lh_s1, // llvm.hexagon.M2.mpy.lh.s1 + hexagon_M2_mpy_ll_s0, // llvm.hexagon.M2.mpy.ll.s0 + hexagon_M2_mpy_ll_s1, // llvm.hexagon.M2.mpy.ll.s1 + hexagon_M2_mpy_nac_hh_s0, // llvm.hexagon.M2.mpy.nac.hh.s0 + hexagon_M2_mpy_nac_hh_s1, // llvm.hexagon.M2.mpy.nac.hh.s1 + hexagon_M2_mpy_nac_hl_s0, // llvm.hexagon.M2.mpy.nac.hl.s0 + hexagon_M2_mpy_nac_hl_s1, // llvm.hexagon.M2.mpy.nac.hl.s1 + hexagon_M2_mpy_nac_lh_s0, // llvm.hexagon.M2.mpy.nac.lh.s0 + hexagon_M2_mpy_nac_lh_s1, // llvm.hexagon.M2.mpy.nac.lh.s1 + hexagon_M2_mpy_nac_ll_s0, // llvm.hexagon.M2.mpy.nac.ll.s0 + hexagon_M2_mpy_nac_ll_s1, // llvm.hexagon.M2.mpy.nac.ll.s1 + hexagon_M2_mpy_nac_sat_hh_s0, // llvm.hexagon.M2.mpy.nac.sat.hh.s0 + hexagon_M2_mpy_nac_sat_hh_s1, // llvm.hexagon.M2.mpy.nac.sat.hh.s1 + hexagon_M2_mpy_nac_sat_hl_s0, // llvm.hexagon.M2.mpy.nac.sat.hl.s0 + hexagon_M2_mpy_nac_sat_hl_s1, // llvm.hexagon.M2.mpy.nac.sat.hl.s1 + hexagon_M2_mpy_nac_sat_lh_s0, // llvm.hexagon.M2.mpy.nac.sat.lh.s0 + hexagon_M2_mpy_nac_sat_lh_s1, // llvm.hexagon.M2.mpy.nac.sat.lh.s1 + hexagon_M2_mpy_nac_sat_ll_s0, // llvm.hexagon.M2.mpy.nac.sat.ll.s0 + hexagon_M2_mpy_nac_sat_ll_s1, // llvm.hexagon.M2.mpy.nac.sat.ll.s1 + hexagon_M2_mpy_rnd_hh_s0, // llvm.hexagon.M2.mpy.rnd.hh.s0 + hexagon_M2_mpy_rnd_hh_s1, // llvm.hexagon.M2.mpy.rnd.hh.s1 + hexagon_M2_mpy_rnd_hl_s0, // llvm.hexagon.M2.mpy.rnd.hl.s0 + hexagon_M2_mpy_rnd_hl_s1, // llvm.hexagon.M2.mpy.rnd.hl.s1 + hexagon_M2_mpy_rnd_lh_s0, // llvm.hexagon.M2.mpy.rnd.lh.s0 + hexagon_M2_mpy_rnd_lh_s1, // llvm.hexagon.M2.mpy.rnd.lh.s1 + hexagon_M2_mpy_rnd_ll_s0, // llvm.hexagon.M2.mpy.rnd.ll.s0 + hexagon_M2_mpy_rnd_ll_s1, // llvm.hexagon.M2.mpy.rnd.ll.s1 + hexagon_M2_mpy_sat_hh_s0, // llvm.hexagon.M2.mpy.sat.hh.s0 + hexagon_M2_mpy_sat_hh_s1, // llvm.hexagon.M2.mpy.sat.hh.s1 + hexagon_M2_mpy_sat_hl_s0, // llvm.hexagon.M2.mpy.sat.hl.s0 + hexagon_M2_mpy_sat_hl_s1, // llvm.hexagon.M2.mpy.sat.hl.s1 + hexagon_M2_mpy_sat_lh_s0, // llvm.hexagon.M2.mpy.sat.lh.s0 + hexagon_M2_mpy_sat_lh_s1, // llvm.hexagon.M2.mpy.sat.lh.s1 + hexagon_M2_mpy_sat_ll_s0, // llvm.hexagon.M2.mpy.sat.ll.s0 + hexagon_M2_mpy_sat_ll_s1, // llvm.hexagon.M2.mpy.sat.ll.s1 + hexagon_M2_mpy_sat_rnd_hh_s0, // llvm.hexagon.M2.mpy.sat.rnd.hh.s0 + hexagon_M2_mpy_sat_rnd_hh_s1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s1 + hexagon_M2_mpy_sat_rnd_hl_s0, // llvm.hexagon.M2.mpy.sat.rnd.hl.s0 + hexagon_M2_mpy_sat_rnd_hl_s1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s1 + hexagon_M2_mpy_sat_rnd_lh_s0, // llvm.hexagon.M2.mpy.sat.rnd.lh.s0 + hexagon_M2_mpy_sat_rnd_lh_s1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s1 + hexagon_M2_mpy_sat_rnd_ll_s0, // llvm.hexagon.M2.mpy.sat.rnd.ll.s0 + hexagon_M2_mpy_sat_rnd_ll_s1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s1 + hexagon_M2_mpy_up, // llvm.hexagon.M2.mpy.up + hexagon_M2_mpy_up_s1, // llvm.hexagon.M2.mpy.up.s1 + hexagon_M2_mpy_up_s1_sat, // llvm.hexagon.M2.mpy.up.s1.sat + hexagon_M2_mpyd_acc_hh_s0, // llvm.hexagon.M2.mpyd.acc.hh.s0 + hexagon_M2_mpyd_acc_hh_s1, // llvm.hexagon.M2.mpyd.acc.hh.s1 + hexagon_M2_mpyd_acc_hl_s0, // llvm.hexagon.M2.mpyd.acc.hl.s0 + hexagon_M2_mpyd_acc_hl_s1, // llvm.hexagon.M2.mpyd.acc.hl.s1 + hexagon_M2_mpyd_acc_lh_s0, // llvm.hexagon.M2.mpyd.acc.lh.s0 + hexagon_M2_mpyd_acc_lh_s1, // llvm.hexagon.M2.mpyd.acc.lh.s1 + hexagon_M2_mpyd_acc_ll_s0, // llvm.hexagon.M2.mpyd.acc.ll.s0 + hexagon_M2_mpyd_acc_ll_s1, // llvm.hexagon.M2.mpyd.acc.ll.s1 + hexagon_M2_mpyd_hh_s0, // llvm.hexagon.M2.mpyd.hh.s0 + hexagon_M2_mpyd_hh_s1, // llvm.hexagon.M2.mpyd.hh.s1 + hexagon_M2_mpyd_hl_s0, // llvm.hexagon.M2.mpyd.hl.s0 + hexagon_M2_mpyd_hl_s1, // llvm.hexagon.M2.mpyd.hl.s1 + hexagon_M2_mpyd_lh_s0, // llvm.hexagon.M2.mpyd.lh.s0 + hexagon_M2_mpyd_lh_s1, // llvm.hexagon.M2.mpyd.lh.s1 + hexagon_M2_mpyd_ll_s0, // llvm.hexagon.M2.mpyd.ll.s0 + hexagon_M2_mpyd_ll_s1, // llvm.hexagon.M2.mpyd.ll.s1 + hexagon_M2_mpyd_nac_hh_s0, // llvm.hexagon.M2.mpyd.nac.hh.s0 + hexagon_M2_mpyd_nac_hh_s1, // llvm.hexagon.M2.mpyd.nac.hh.s1 + hexagon_M2_mpyd_nac_hl_s0, // llvm.hexagon.M2.mpyd.nac.hl.s0 + hexagon_M2_mpyd_nac_hl_s1, // llvm.hexagon.M2.mpyd.nac.hl.s1 + hexagon_M2_mpyd_nac_lh_s0, // llvm.hexagon.M2.mpyd.nac.lh.s0 + hexagon_M2_mpyd_nac_lh_s1, // llvm.hexagon.M2.mpyd.nac.lh.s1 + hexagon_M2_mpyd_nac_ll_s0, // llvm.hexagon.M2.mpyd.nac.ll.s0 + hexagon_M2_mpyd_nac_ll_s1, // llvm.hexagon.M2.mpyd.nac.ll.s1 + hexagon_M2_mpyd_rnd_hh_s0, // llvm.hexagon.M2.mpyd.rnd.hh.s0 + hexagon_M2_mpyd_rnd_hh_s1, // llvm.hexagon.M2.mpyd.rnd.hh.s1 + hexagon_M2_mpyd_rnd_hl_s0, // llvm.hexagon.M2.mpyd.rnd.hl.s0 + hexagon_M2_mpyd_rnd_hl_s1, // llvm.hexagon.M2.mpyd.rnd.hl.s1 + hexagon_M2_mpyd_rnd_lh_s0, // llvm.hexagon.M2.mpyd.rnd.lh.s0 + hexagon_M2_mpyd_rnd_lh_s1, // llvm.hexagon.M2.mpyd.rnd.lh.s1 + hexagon_M2_mpyd_rnd_ll_s0, // llvm.hexagon.M2.mpyd.rnd.ll.s0 + hexagon_M2_mpyd_rnd_ll_s1, // llvm.hexagon.M2.mpyd.rnd.ll.s1 + hexagon_M2_mpyi, // llvm.hexagon.M2.mpyi + hexagon_M2_mpysmi, // llvm.hexagon.M2.mpysmi + hexagon_M2_mpysu_up, // llvm.hexagon.M2.mpysu.up + hexagon_M2_mpyu_acc_hh_s0, // llvm.hexagon.M2.mpyu.acc.hh.s0 + hexagon_M2_mpyu_acc_hh_s1, // llvm.hexagon.M2.mpyu.acc.hh.s1 + hexagon_M2_mpyu_acc_hl_s0, // llvm.hexagon.M2.mpyu.acc.hl.s0 + hexagon_M2_mpyu_acc_hl_s1, // llvm.hexagon.M2.mpyu.acc.hl.s1 + hexagon_M2_mpyu_acc_lh_s0, // llvm.hexagon.M2.mpyu.acc.lh.s0 + hexagon_M2_mpyu_acc_lh_s1, // llvm.hexagon.M2.mpyu.acc.lh.s1 + hexagon_M2_mpyu_acc_ll_s0, // llvm.hexagon.M2.mpyu.acc.ll.s0 + hexagon_M2_mpyu_acc_ll_s1, // llvm.hexagon.M2.mpyu.acc.ll.s1 + hexagon_M2_mpyu_hh_s0, // llvm.hexagon.M2.mpyu.hh.s0 + hexagon_M2_mpyu_hh_s1, // llvm.hexagon.M2.mpyu.hh.s1 + hexagon_M2_mpyu_hl_s0, // llvm.hexagon.M2.mpyu.hl.s0 + hexagon_M2_mpyu_hl_s1, // llvm.hexagon.M2.mpyu.hl.s1 + hexagon_M2_mpyu_lh_s0, // llvm.hexagon.M2.mpyu.lh.s0 + hexagon_M2_mpyu_lh_s1, // llvm.hexagon.M2.mpyu.lh.s1 + hexagon_M2_mpyu_ll_s0, // llvm.hexagon.M2.mpyu.ll.s0 + hexagon_M2_mpyu_ll_s1, // llvm.hexagon.M2.mpyu.ll.s1 + hexagon_M2_mpyu_nac_hh_s0, // llvm.hexagon.M2.mpyu.nac.hh.s0 + hexagon_M2_mpyu_nac_hh_s1, // llvm.hexagon.M2.mpyu.nac.hh.s1 + hexagon_M2_mpyu_nac_hl_s0, // llvm.hexagon.M2.mpyu.nac.hl.s0 + hexagon_M2_mpyu_nac_hl_s1, // llvm.hexagon.M2.mpyu.nac.hl.s1 + hexagon_M2_mpyu_nac_lh_s0, // llvm.hexagon.M2.mpyu.nac.lh.s0 + hexagon_M2_mpyu_nac_lh_s1, // llvm.hexagon.M2.mpyu.nac.lh.s1 + hexagon_M2_mpyu_nac_ll_s0, // llvm.hexagon.M2.mpyu.nac.ll.s0 + hexagon_M2_mpyu_nac_ll_s1, // llvm.hexagon.M2.mpyu.nac.ll.s1 + hexagon_M2_mpyu_up, // llvm.hexagon.M2.mpyu.up + hexagon_M2_mpyud_acc_hh_s0, // llvm.hexagon.M2.mpyud.acc.hh.s0 + hexagon_M2_mpyud_acc_hh_s1, // llvm.hexagon.M2.mpyud.acc.hh.s1 + hexagon_M2_mpyud_acc_hl_s0, // llvm.hexagon.M2.mpyud.acc.hl.s0 + hexagon_M2_mpyud_acc_hl_s1, // llvm.hexagon.M2.mpyud.acc.hl.s1 + hexagon_M2_mpyud_acc_lh_s0, // llvm.hexagon.M2.mpyud.acc.lh.s0 + hexagon_M2_mpyud_acc_lh_s1, // llvm.hexagon.M2.mpyud.acc.lh.s1 + hexagon_M2_mpyud_acc_ll_s0, // llvm.hexagon.M2.mpyud.acc.ll.s0 + hexagon_M2_mpyud_acc_ll_s1, // llvm.hexagon.M2.mpyud.acc.ll.s1 + hexagon_M2_mpyud_hh_s0, // llvm.hexagon.M2.mpyud.hh.s0 + hexagon_M2_mpyud_hh_s1, // llvm.hexagon.M2.mpyud.hh.s1 + hexagon_M2_mpyud_hl_s0, // llvm.hexagon.M2.mpyud.hl.s0 + hexagon_M2_mpyud_hl_s1, // llvm.hexagon.M2.mpyud.hl.s1 + hexagon_M2_mpyud_lh_s0, // llvm.hexagon.M2.mpyud.lh.s0 + hexagon_M2_mpyud_lh_s1, // llvm.hexagon.M2.mpyud.lh.s1 + hexagon_M2_mpyud_ll_s0, // llvm.hexagon.M2.mpyud.ll.s0 + hexagon_M2_mpyud_ll_s1, // llvm.hexagon.M2.mpyud.ll.s1 + hexagon_M2_mpyud_nac_hh_s0, // llvm.hexagon.M2.mpyud.nac.hh.s0 + hexagon_M2_mpyud_nac_hh_s1, // llvm.hexagon.M2.mpyud.nac.hh.s1 + hexagon_M2_mpyud_nac_hl_s0, // llvm.hexagon.M2.mpyud.nac.hl.s0 + hexagon_M2_mpyud_nac_hl_s1, // llvm.hexagon.M2.mpyud.nac.hl.s1 + hexagon_M2_mpyud_nac_lh_s0, // llvm.hexagon.M2.mpyud.nac.lh.s0 + hexagon_M2_mpyud_nac_lh_s1, // llvm.hexagon.M2.mpyud.nac.lh.s1 + hexagon_M2_mpyud_nac_ll_s0, // llvm.hexagon.M2.mpyud.nac.ll.s0 + hexagon_M2_mpyud_nac_ll_s1, // llvm.hexagon.M2.mpyud.nac.ll.s1 + hexagon_M2_mpyui, // llvm.hexagon.M2.mpyui + hexagon_M2_nacci, // llvm.hexagon.M2.nacci + hexagon_M2_naccii, // llvm.hexagon.M2.naccii + hexagon_M2_subacc, // llvm.hexagon.M2.subacc + hexagon_M2_vabsdiffh, // llvm.hexagon.M2.vabsdiffh + hexagon_M2_vabsdiffw, // llvm.hexagon.M2.vabsdiffw + hexagon_M2_vcmac_s0_sat_i, // llvm.hexagon.M2.vcmac.s0.sat.i + hexagon_M2_vcmac_s0_sat_r, // llvm.hexagon.M2.vcmac.s0.sat.r + hexagon_M2_vcmpy_s0_sat_i, // llvm.hexagon.M2.vcmpy.s0.sat.i + hexagon_M2_vcmpy_s0_sat_r, // llvm.hexagon.M2.vcmpy.s0.sat.r + hexagon_M2_vcmpy_s1_sat_i, // llvm.hexagon.M2.vcmpy.s1.sat.i + hexagon_M2_vcmpy_s1_sat_r, // llvm.hexagon.M2.vcmpy.s1.sat.r + hexagon_M2_vdmacs_s0, // llvm.hexagon.M2.vdmacs.s0 + hexagon_M2_vdmacs_s1, // llvm.hexagon.M2.vdmacs.s1 + hexagon_M2_vdmpyrs_s0, // llvm.hexagon.M2.vdmpyrs.s0 + hexagon_M2_vdmpyrs_s1, // llvm.hexagon.M2.vdmpyrs.s1 + hexagon_M2_vdmpys_s0, // llvm.hexagon.M2.vdmpys.s0 + hexagon_M2_vdmpys_s1, // llvm.hexagon.M2.vdmpys.s1 + hexagon_M2_vmac2, // llvm.hexagon.M2.vmac2 + hexagon_M2_vmac2es, // llvm.hexagon.M2.vmac2es + hexagon_M2_vmac2es_s0, // llvm.hexagon.M2.vmac2es.s0 + hexagon_M2_vmac2es_s1, // llvm.hexagon.M2.vmac2es.s1 + hexagon_M2_vmac2s_s0, // llvm.hexagon.M2.vmac2s.s0 + hexagon_M2_vmac2s_s1, // llvm.hexagon.M2.vmac2s.s1 + hexagon_M2_vmac2su_s0, // llvm.hexagon.M2.vmac2su.s0 + hexagon_M2_vmac2su_s1, // llvm.hexagon.M2.vmac2su.s1 + hexagon_M2_vmpy2es_s0, // llvm.hexagon.M2.vmpy2es.s0 + hexagon_M2_vmpy2es_s1, // llvm.hexagon.M2.vmpy2es.s1 + hexagon_M2_vmpy2s_s0, // llvm.hexagon.M2.vmpy2s.s0 + hexagon_M2_vmpy2s_s0pack, // llvm.hexagon.M2.vmpy2s.s0pack + hexagon_M2_vmpy2s_s1, // llvm.hexagon.M2.vmpy2s.s1 + hexagon_M2_vmpy2s_s1pack, // llvm.hexagon.M2.vmpy2s.s1pack + hexagon_M2_vmpy2su_s0, // llvm.hexagon.M2.vmpy2su.s0 + hexagon_M2_vmpy2su_s1, // llvm.hexagon.M2.vmpy2su.s1 + hexagon_M2_vraddh, // llvm.hexagon.M2.vraddh + hexagon_M2_vradduh, // llvm.hexagon.M2.vradduh + hexagon_M2_vrcmaci_s0, // llvm.hexagon.M2.vrcmaci.s0 + hexagon_M2_vrcmaci_s0c, // llvm.hexagon.M2.vrcmaci.s0c + hexagon_M2_vrcmacr_s0, // llvm.hexagon.M2.vrcmacr.s0 + hexagon_M2_vrcmacr_s0c, // llvm.hexagon.M2.vrcmacr.s0c + hexagon_M2_vrcmpyi_s0, // llvm.hexagon.M2.vrcmpyi.s0 + hexagon_M2_vrcmpyi_s0c, // llvm.hexagon.M2.vrcmpyi.s0c + hexagon_M2_vrcmpyr_s0, // llvm.hexagon.M2.vrcmpyr.s0 + hexagon_M2_vrcmpyr_s0c, // llvm.hexagon.M2.vrcmpyr.s0c + hexagon_M2_vrcmpys_acc_s1, // llvm.hexagon.M2.vrcmpys.acc.s1 + hexagon_M2_vrcmpys_s1, // llvm.hexagon.M2.vrcmpys.s1 + hexagon_M2_vrcmpys_s1rp, // llvm.hexagon.M2.vrcmpys.s1rp + hexagon_M2_vrmac_s0, // llvm.hexagon.M2.vrmac.s0 + hexagon_M2_vrmpy_s0, // llvm.hexagon.M2.vrmpy.s0 + hexagon_M2_xor_xacc, // llvm.hexagon.M2.xor.xacc + hexagon_M4_and_and, // llvm.hexagon.M4.and.and + hexagon_M4_and_andn, // llvm.hexagon.M4.and.andn + hexagon_M4_and_or, // llvm.hexagon.M4.and.or + hexagon_M4_and_xor, // llvm.hexagon.M4.and.xor + hexagon_M4_cmpyi_wh, // llvm.hexagon.M4.cmpyi.wh + hexagon_M4_cmpyi_whc, // llvm.hexagon.M4.cmpyi.whc + hexagon_M4_cmpyr_wh, // llvm.hexagon.M4.cmpyr.wh + hexagon_M4_cmpyr_whc, // llvm.hexagon.M4.cmpyr.whc + hexagon_M4_mac_up_s1_sat, // llvm.hexagon.M4.mac.up.s1.sat + hexagon_M4_mpyri_addi, // llvm.hexagon.M4.mpyri.addi + hexagon_M4_mpyri_addr, // llvm.hexagon.M4.mpyri.addr + hexagon_M4_mpyri_addr_u2, // llvm.hexagon.M4.mpyri.addr.u2 + hexagon_M4_mpyrr_addi, // llvm.hexagon.M4.mpyrr.addi + hexagon_M4_mpyrr_addr, // llvm.hexagon.M4.mpyrr.addr + hexagon_M4_nac_up_s1_sat, // llvm.hexagon.M4.nac.up.s1.sat + hexagon_M4_or_and, // llvm.hexagon.M4.or.and + hexagon_M4_or_andn, // llvm.hexagon.M4.or.andn + hexagon_M4_or_or, // llvm.hexagon.M4.or.or + hexagon_M4_or_xor, // llvm.hexagon.M4.or.xor + hexagon_M4_pmpyw, // llvm.hexagon.M4.pmpyw + hexagon_M4_pmpyw_acc, // llvm.hexagon.M4.pmpyw.acc + hexagon_M4_vpmpyh, // llvm.hexagon.M4.vpmpyh + hexagon_M4_vpmpyh_acc, // llvm.hexagon.M4.vpmpyh.acc + hexagon_M4_vrmpyeh_acc_s0, // llvm.hexagon.M4.vrmpyeh.acc.s0 + hexagon_M4_vrmpyeh_acc_s1, // llvm.hexagon.M4.vrmpyeh.acc.s1 + hexagon_M4_vrmpyeh_s0, // llvm.hexagon.M4.vrmpyeh.s0 + hexagon_M4_vrmpyeh_s1, // llvm.hexagon.M4.vrmpyeh.s1 + hexagon_M4_vrmpyoh_acc_s0, // llvm.hexagon.M4.vrmpyoh.acc.s0 + hexagon_M4_vrmpyoh_acc_s1, // llvm.hexagon.M4.vrmpyoh.acc.s1 + hexagon_M4_vrmpyoh_s0, // llvm.hexagon.M4.vrmpyoh.s0 + hexagon_M4_vrmpyoh_s1, // llvm.hexagon.M4.vrmpyoh.s1 + hexagon_M4_xor_and, // llvm.hexagon.M4.xor.and + hexagon_M4_xor_andn, // llvm.hexagon.M4.xor.andn + hexagon_M4_xor_or, // llvm.hexagon.M4.xor.or + hexagon_M4_xor_xacc, // llvm.hexagon.M4.xor.xacc + hexagon_M5_vdmacbsu, // llvm.hexagon.M5.vdmacbsu + hexagon_M5_vdmpybsu, // llvm.hexagon.M5.vdmpybsu + hexagon_M5_vmacbsu, // llvm.hexagon.M5.vmacbsu + hexagon_M5_vmacbuu, // llvm.hexagon.M5.vmacbuu + hexagon_M5_vmpybsu, // llvm.hexagon.M5.vmpybsu + hexagon_M5_vmpybuu, // llvm.hexagon.M5.vmpybuu + hexagon_M5_vrmacbsu, // llvm.hexagon.M5.vrmacbsu + hexagon_M5_vrmacbuu, // llvm.hexagon.M5.vrmacbuu + hexagon_M5_vrmpybsu, // llvm.hexagon.M5.vrmpybsu + hexagon_M5_vrmpybuu, // llvm.hexagon.M5.vrmpybuu + hexagon_S2_addasl_rrri, // llvm.hexagon.S2.addasl.rrri + hexagon_S2_asl_i_p, // llvm.hexagon.S2.asl.i.p + hexagon_S2_asl_i_p_acc, // llvm.hexagon.S2.asl.i.p.acc + hexagon_S2_asl_i_p_and, // llvm.hexagon.S2.asl.i.p.and + hexagon_S2_asl_i_p_nac, // llvm.hexagon.S2.asl.i.p.nac + hexagon_S2_asl_i_p_or, // llvm.hexagon.S2.asl.i.p.or + hexagon_S2_asl_i_p_xacc, // llvm.hexagon.S2.asl.i.p.xacc + hexagon_S2_asl_i_r, // llvm.hexagon.S2.asl.i.r + hexagon_S2_asl_i_r_acc, // llvm.hexagon.S2.asl.i.r.acc + hexagon_S2_asl_i_r_and, // llvm.hexagon.S2.asl.i.r.and + hexagon_S2_asl_i_r_nac, // llvm.hexagon.S2.asl.i.r.nac + hexagon_S2_asl_i_r_or, // llvm.hexagon.S2.asl.i.r.or + hexagon_S2_asl_i_r_sat, // llvm.hexagon.S2.asl.i.r.sat + hexagon_S2_asl_i_r_xacc, // llvm.hexagon.S2.asl.i.r.xacc + hexagon_S2_asl_i_vh, // llvm.hexagon.S2.asl.i.vh + hexagon_S2_asl_i_vw, // llvm.hexagon.S2.asl.i.vw + hexagon_S2_asl_r_p, // llvm.hexagon.S2.asl.r.p + hexagon_S2_asl_r_p_acc, // llvm.hexagon.S2.asl.r.p.acc + hexagon_S2_asl_r_p_and, // llvm.hexagon.S2.asl.r.p.and + hexagon_S2_asl_r_p_nac, // llvm.hexagon.S2.asl.r.p.nac + hexagon_S2_asl_r_p_or, // llvm.hexagon.S2.asl.r.p.or + hexagon_S2_asl_r_p_xor, // llvm.hexagon.S2.asl.r.p.xor + hexagon_S2_asl_r_r, // llvm.hexagon.S2.asl.r.r + hexagon_S2_asl_r_r_acc, // llvm.hexagon.S2.asl.r.r.acc + hexagon_S2_asl_r_r_and, // llvm.hexagon.S2.asl.r.r.and + hexagon_S2_asl_r_r_nac, // llvm.hexagon.S2.asl.r.r.nac + hexagon_S2_asl_r_r_or, // llvm.hexagon.S2.asl.r.r.or + hexagon_S2_asl_r_r_sat, // llvm.hexagon.S2.asl.r.r.sat + hexagon_S2_asl_r_vh, // llvm.hexagon.S2.asl.r.vh + hexagon_S2_asl_r_vw, // llvm.hexagon.S2.asl.r.vw + hexagon_S2_asr_i_p, // llvm.hexagon.S2.asr.i.p + hexagon_S2_asr_i_p_acc, // llvm.hexagon.S2.asr.i.p.acc + hexagon_S2_asr_i_p_and, // llvm.hexagon.S2.asr.i.p.and + hexagon_S2_asr_i_p_nac, // llvm.hexagon.S2.asr.i.p.nac + hexagon_S2_asr_i_p_or, // llvm.hexagon.S2.asr.i.p.or + hexagon_S2_asr_i_p_rnd, // llvm.hexagon.S2.asr.i.p.rnd + hexagon_S2_asr_i_p_rnd_goodsyntax, // llvm.hexagon.S2.asr.i.p.rnd.goodsyntax + hexagon_S2_asr_i_r, // llvm.hexagon.S2.asr.i.r + hexagon_S2_asr_i_r_acc, // llvm.hexagon.S2.asr.i.r.acc + hexagon_S2_asr_i_r_and, // llvm.hexagon.S2.asr.i.r.and + hexagon_S2_asr_i_r_nac, // llvm.hexagon.S2.asr.i.r.nac + hexagon_S2_asr_i_r_or, // llvm.hexagon.S2.asr.i.r.or + hexagon_S2_asr_i_r_rnd, // llvm.hexagon.S2.asr.i.r.rnd + hexagon_S2_asr_i_r_rnd_goodsyntax, // llvm.hexagon.S2.asr.i.r.rnd.goodsyntax + hexagon_S2_asr_i_svw_trun, // llvm.hexagon.S2.asr.i.svw.trun + hexagon_S2_asr_i_vh, // llvm.hexagon.S2.asr.i.vh + hexagon_S2_asr_i_vw, // llvm.hexagon.S2.asr.i.vw + hexagon_S2_asr_r_p, // llvm.hexagon.S2.asr.r.p + hexagon_S2_asr_r_p_acc, // llvm.hexagon.S2.asr.r.p.acc + hexagon_S2_asr_r_p_and, // llvm.hexagon.S2.asr.r.p.and + hexagon_S2_asr_r_p_nac, // llvm.hexagon.S2.asr.r.p.nac + hexagon_S2_asr_r_p_or, // llvm.hexagon.S2.asr.r.p.or + hexagon_S2_asr_r_p_xor, // llvm.hexagon.S2.asr.r.p.xor + hexagon_S2_asr_r_r, // llvm.hexagon.S2.asr.r.r + hexagon_S2_asr_r_r_acc, // llvm.hexagon.S2.asr.r.r.acc + hexagon_S2_asr_r_r_and, // llvm.hexagon.S2.asr.r.r.and + hexagon_S2_asr_r_r_nac, // llvm.hexagon.S2.asr.r.r.nac + hexagon_S2_asr_r_r_or, // llvm.hexagon.S2.asr.r.r.or + hexagon_S2_asr_r_r_sat, // llvm.hexagon.S2.asr.r.r.sat + hexagon_S2_asr_r_svw_trun, // llvm.hexagon.S2.asr.r.svw.trun + hexagon_S2_asr_r_vh, // llvm.hexagon.S2.asr.r.vh + hexagon_S2_asr_r_vw, // llvm.hexagon.S2.asr.r.vw + hexagon_S2_brev, // llvm.hexagon.S2.brev + hexagon_S2_brevp, // llvm.hexagon.S2.brevp + hexagon_S2_cl0, // llvm.hexagon.S2.cl0 + hexagon_S2_cl0p, // llvm.hexagon.S2.cl0p + hexagon_S2_cl1, // llvm.hexagon.S2.cl1 + hexagon_S2_cl1p, // llvm.hexagon.S2.cl1p + hexagon_S2_clb, // llvm.hexagon.S2.clb + hexagon_S2_clbnorm, // llvm.hexagon.S2.clbnorm + hexagon_S2_clbp, // llvm.hexagon.S2.clbp + hexagon_S2_clrbit_i, // llvm.hexagon.S2.clrbit.i + hexagon_S2_clrbit_r, // llvm.hexagon.S2.clrbit.r + hexagon_S2_ct0, // llvm.hexagon.S2.ct0 + hexagon_S2_ct0p, // llvm.hexagon.S2.ct0p + hexagon_S2_ct1, // llvm.hexagon.S2.ct1 + hexagon_S2_ct1p, // llvm.hexagon.S2.ct1p + hexagon_S2_deinterleave, // llvm.hexagon.S2.deinterleave + hexagon_S2_extractu, // llvm.hexagon.S2.extractu + hexagon_S2_extractu_rp, // llvm.hexagon.S2.extractu.rp + hexagon_S2_extractup, // llvm.hexagon.S2.extractup + hexagon_S2_extractup_rp, // llvm.hexagon.S2.extractup.rp + hexagon_S2_insert, // llvm.hexagon.S2.insert + hexagon_S2_insert_rp, // llvm.hexagon.S2.insert.rp + hexagon_S2_insertp, // llvm.hexagon.S2.insertp + hexagon_S2_insertp_rp, // llvm.hexagon.S2.insertp.rp + hexagon_S2_interleave, // llvm.hexagon.S2.interleave + hexagon_S2_lfsp, // llvm.hexagon.S2.lfsp + hexagon_S2_lsl_r_p, // llvm.hexagon.S2.lsl.r.p + hexagon_S2_lsl_r_p_acc, // llvm.hexagon.S2.lsl.r.p.acc + hexagon_S2_lsl_r_p_and, // llvm.hexagon.S2.lsl.r.p.and + hexagon_S2_lsl_r_p_nac, // llvm.hexagon.S2.lsl.r.p.nac + hexagon_S2_lsl_r_p_or, // llvm.hexagon.S2.lsl.r.p.or + hexagon_S2_lsl_r_p_xor, // llvm.hexagon.S2.lsl.r.p.xor + hexagon_S2_lsl_r_r, // llvm.hexagon.S2.lsl.r.r + hexagon_S2_lsl_r_r_acc, // llvm.hexagon.S2.lsl.r.r.acc + hexagon_S2_lsl_r_r_and, // llvm.hexagon.S2.lsl.r.r.and + hexagon_S2_lsl_r_r_nac, // llvm.hexagon.S2.lsl.r.r.nac + hexagon_S2_lsl_r_r_or, // llvm.hexagon.S2.lsl.r.r.or + hexagon_S2_lsl_r_vh, // llvm.hexagon.S2.lsl.r.vh + hexagon_S2_lsl_r_vw, // llvm.hexagon.S2.lsl.r.vw + hexagon_S2_lsr_i_p, // llvm.hexagon.S2.lsr.i.p + hexagon_S2_lsr_i_p_acc, // llvm.hexagon.S2.lsr.i.p.acc + hexagon_S2_lsr_i_p_and, // llvm.hexagon.S2.lsr.i.p.and + hexagon_S2_lsr_i_p_nac, // llvm.hexagon.S2.lsr.i.p.nac + hexagon_S2_lsr_i_p_or, // llvm.hexagon.S2.lsr.i.p.or + hexagon_S2_lsr_i_p_xacc, // llvm.hexagon.S2.lsr.i.p.xacc + hexagon_S2_lsr_i_r, // llvm.hexagon.S2.lsr.i.r + hexagon_S2_lsr_i_r_acc, // llvm.hexagon.S2.lsr.i.r.acc + hexagon_S2_lsr_i_r_and, // llvm.hexagon.S2.lsr.i.r.and + hexagon_S2_lsr_i_r_nac, // llvm.hexagon.S2.lsr.i.r.nac + hexagon_S2_lsr_i_r_or, // llvm.hexagon.S2.lsr.i.r.or + hexagon_S2_lsr_i_r_xacc, // llvm.hexagon.S2.lsr.i.r.xacc + hexagon_S2_lsr_i_vh, // llvm.hexagon.S2.lsr.i.vh + hexagon_S2_lsr_i_vw, // llvm.hexagon.S2.lsr.i.vw + hexagon_S2_lsr_r_p, // llvm.hexagon.S2.lsr.r.p + hexagon_S2_lsr_r_p_acc, // llvm.hexagon.S2.lsr.r.p.acc + hexagon_S2_lsr_r_p_and, // llvm.hexagon.S2.lsr.r.p.and + hexagon_S2_lsr_r_p_nac, // llvm.hexagon.S2.lsr.r.p.nac + hexagon_S2_lsr_r_p_or, // llvm.hexagon.S2.lsr.r.p.or + hexagon_S2_lsr_r_p_xor, // llvm.hexagon.S2.lsr.r.p.xor + hexagon_S2_lsr_r_r, // llvm.hexagon.S2.lsr.r.r + hexagon_S2_lsr_r_r_acc, // llvm.hexagon.S2.lsr.r.r.acc + hexagon_S2_lsr_r_r_and, // llvm.hexagon.S2.lsr.r.r.and + hexagon_S2_lsr_r_r_nac, // llvm.hexagon.S2.lsr.r.r.nac + hexagon_S2_lsr_r_r_or, // llvm.hexagon.S2.lsr.r.r.or + hexagon_S2_lsr_r_vh, // llvm.hexagon.S2.lsr.r.vh + hexagon_S2_lsr_r_vw, // llvm.hexagon.S2.lsr.r.vw + hexagon_S2_packhl, // llvm.hexagon.S2.packhl + hexagon_S2_parityp, // llvm.hexagon.S2.parityp + hexagon_S2_setbit_i, // llvm.hexagon.S2.setbit.i + hexagon_S2_setbit_r, // llvm.hexagon.S2.setbit.r + hexagon_S2_shuffeb, // llvm.hexagon.S2.shuffeb + hexagon_S2_shuffeh, // llvm.hexagon.S2.shuffeh + hexagon_S2_shuffob, // llvm.hexagon.S2.shuffob + hexagon_S2_shuffoh, // llvm.hexagon.S2.shuffoh + hexagon_S2_svsathb, // llvm.hexagon.S2.svsathb + hexagon_S2_svsathub, // llvm.hexagon.S2.svsathub + hexagon_S2_tableidxb_goodsyntax, // llvm.hexagon.S2.tableidxb.goodsyntax + hexagon_S2_tableidxd_goodsyntax, // llvm.hexagon.S2.tableidxd.goodsyntax + hexagon_S2_tableidxh_goodsyntax, // llvm.hexagon.S2.tableidxh.goodsyntax + hexagon_S2_tableidxw_goodsyntax, // llvm.hexagon.S2.tableidxw.goodsyntax + hexagon_S2_togglebit_i, // llvm.hexagon.S2.togglebit.i + hexagon_S2_togglebit_r, // llvm.hexagon.S2.togglebit.r + hexagon_S2_tstbit_i, // llvm.hexagon.S2.tstbit.i + hexagon_S2_tstbit_r, // llvm.hexagon.S2.tstbit.r + hexagon_S2_valignib, // llvm.hexagon.S2.valignib + hexagon_S2_valignrb, // llvm.hexagon.S2.valignrb + hexagon_S2_vcnegh, // llvm.hexagon.S2.vcnegh + hexagon_S2_vcrotate, // llvm.hexagon.S2.vcrotate + hexagon_S2_vrcnegh, // llvm.hexagon.S2.vrcnegh + hexagon_S2_vrndpackwh, // llvm.hexagon.S2.vrndpackwh + hexagon_S2_vrndpackwhs, // llvm.hexagon.S2.vrndpackwhs + hexagon_S2_vsathb, // llvm.hexagon.S2.vsathb + hexagon_S2_vsathb_nopack, // llvm.hexagon.S2.vsathb.nopack + hexagon_S2_vsathub, // llvm.hexagon.S2.vsathub + hexagon_S2_vsathub_nopack, // llvm.hexagon.S2.vsathub.nopack + hexagon_S2_vsatwh, // llvm.hexagon.S2.vsatwh + hexagon_S2_vsatwh_nopack, // llvm.hexagon.S2.vsatwh.nopack + hexagon_S2_vsatwuh, // llvm.hexagon.S2.vsatwuh + hexagon_S2_vsatwuh_nopack, // llvm.hexagon.S2.vsatwuh.nopack + hexagon_S2_vsplatrb, // llvm.hexagon.S2.vsplatrb + hexagon_S2_vsplatrh, // llvm.hexagon.S2.vsplatrh + hexagon_S2_vspliceib, // llvm.hexagon.S2.vspliceib + hexagon_S2_vsplicerb, // llvm.hexagon.S2.vsplicerb + hexagon_S2_vsxtbh, // llvm.hexagon.S2.vsxtbh + hexagon_S2_vsxthw, // llvm.hexagon.S2.vsxthw + hexagon_S2_vtrunehb, // llvm.hexagon.S2.vtrunehb + hexagon_S2_vtrunewh, // llvm.hexagon.S2.vtrunewh + hexagon_S2_vtrunohb, // llvm.hexagon.S2.vtrunohb + hexagon_S2_vtrunowh, // llvm.hexagon.S2.vtrunowh + hexagon_S2_vzxtbh, // llvm.hexagon.S2.vzxtbh + hexagon_S2_vzxthw, // llvm.hexagon.S2.vzxthw + hexagon_S4_addaddi, // llvm.hexagon.S4.addaddi + hexagon_S4_addi_asl_ri, // llvm.hexagon.S4.addi.asl.ri + hexagon_S4_addi_lsr_ri, // llvm.hexagon.S4.addi.lsr.ri + hexagon_S4_andi_asl_ri, // llvm.hexagon.S4.andi.asl.ri + hexagon_S4_andi_lsr_ri, // llvm.hexagon.S4.andi.lsr.ri + hexagon_S4_clbaddi, // llvm.hexagon.S4.clbaddi + hexagon_S4_clbpaddi, // llvm.hexagon.S4.clbpaddi + hexagon_S4_clbpnorm, // llvm.hexagon.S4.clbpnorm + hexagon_S4_extract, // llvm.hexagon.S4.extract + hexagon_S4_extract_rp, // llvm.hexagon.S4.extract.rp + hexagon_S4_extractp, // llvm.hexagon.S4.extractp + hexagon_S4_extractp_rp, // llvm.hexagon.S4.extractp.rp + hexagon_S4_lsli, // llvm.hexagon.S4.lsli + hexagon_S4_ntstbit_i, // llvm.hexagon.S4.ntstbit.i + hexagon_S4_ntstbit_r, // llvm.hexagon.S4.ntstbit.r + hexagon_S4_or_andi, // llvm.hexagon.S4.or.andi + hexagon_S4_or_andix, // llvm.hexagon.S4.or.andix + hexagon_S4_or_ori, // llvm.hexagon.S4.or.ori + hexagon_S4_ori_asl_ri, // llvm.hexagon.S4.ori.asl.ri + hexagon_S4_ori_lsr_ri, // llvm.hexagon.S4.ori.lsr.ri + hexagon_S4_parity, // llvm.hexagon.S4.parity + hexagon_S4_subaddi, // llvm.hexagon.S4.subaddi + hexagon_S4_subi_asl_ri, // llvm.hexagon.S4.subi.asl.ri + hexagon_S4_subi_lsr_ri, // llvm.hexagon.S4.subi.lsr.ri + hexagon_S4_vrcrotate, // llvm.hexagon.S4.vrcrotate + hexagon_S4_vrcrotate_acc, // llvm.hexagon.S4.vrcrotate.acc + hexagon_S4_vxaddsubh, // llvm.hexagon.S4.vxaddsubh + hexagon_S4_vxaddsubhr, // llvm.hexagon.S4.vxaddsubhr + hexagon_S4_vxaddsubw, // llvm.hexagon.S4.vxaddsubw + hexagon_S4_vxsubaddh, // llvm.hexagon.S4.vxsubaddh + hexagon_S4_vxsubaddhr, // llvm.hexagon.S4.vxsubaddhr + hexagon_S4_vxsubaddw, // llvm.hexagon.S4.vxsubaddw + hexagon_S5_asrhub_rnd_sat_goodsyntax, // llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax + hexagon_S5_asrhub_sat, // llvm.hexagon.S5.asrhub.sat + hexagon_S5_popcountp, // llvm.hexagon.S5.popcountp + hexagon_S5_vasrhrnd_goodsyntax, // llvm.hexagon.S5.vasrhrnd.goodsyntax + hexagon_SI_to_SXTHI_asrh, // llvm.hexagon.SI.to.SXTHI.asrh + hexagon_circ_ldd, // llvm.hexagon.circ.ldd + init_trampoline, // llvm.init.trampoline + invariant_end, // llvm.invariant.end + invariant_start, // llvm.invariant.start + lifetime_end, // llvm.lifetime.end + lifetime_start, // llvm.lifetime.start + log, // llvm.log + log10, // llvm.log10 + log2, // llvm.log2 + longjmp, // llvm.longjmp + memcpy, // llvm.memcpy + memmove, // llvm.memmove + memset, // llvm.memset + mips_absq_s_ph, // llvm.mips.absq.s.ph + mips_absq_s_qb, // llvm.mips.absq.s.qb + mips_absq_s_w, // llvm.mips.absq.s.w + mips_add_a_b, // llvm.mips.add.a.b + mips_add_a_d, // llvm.mips.add.a.d + mips_add_a_h, // llvm.mips.add.a.h + mips_add_a_w, // llvm.mips.add.a.w + mips_addq_ph, // llvm.mips.addq.ph + mips_addq_s_ph, // llvm.mips.addq.s.ph + mips_addq_s_w, // llvm.mips.addq.s.w + mips_addqh_ph, // llvm.mips.addqh.ph + mips_addqh_r_ph, // llvm.mips.addqh.r.ph + mips_addqh_r_w, // llvm.mips.addqh.r.w + mips_addqh_w, // llvm.mips.addqh.w + mips_adds_a_b, // llvm.mips.adds.a.b + mips_adds_a_d, // llvm.mips.adds.a.d + mips_adds_a_h, // llvm.mips.adds.a.h + mips_adds_a_w, // llvm.mips.adds.a.w + mips_adds_s_b, // llvm.mips.adds.s.b + mips_adds_s_d, // llvm.mips.adds.s.d + mips_adds_s_h, // llvm.mips.adds.s.h + mips_adds_s_w, // llvm.mips.adds.s.w + mips_adds_u_b, // llvm.mips.adds.u.b + mips_adds_u_d, // llvm.mips.adds.u.d + mips_adds_u_h, // llvm.mips.adds.u.h + mips_adds_u_w, // llvm.mips.adds.u.w + mips_addsc, // llvm.mips.addsc + mips_addu_ph, // llvm.mips.addu.ph + mips_addu_qb, // llvm.mips.addu.qb + mips_addu_s_ph, // llvm.mips.addu.s.ph + mips_addu_s_qb, // llvm.mips.addu.s.qb + mips_adduh_qb, // llvm.mips.adduh.qb + mips_adduh_r_qb, // llvm.mips.adduh.r.qb + mips_addv_b, // llvm.mips.addv.b + mips_addv_d, // llvm.mips.addv.d + mips_addv_h, // llvm.mips.addv.h + mips_addv_w, // llvm.mips.addv.w + mips_addvi_b, // llvm.mips.addvi.b + mips_addvi_d, // llvm.mips.addvi.d + mips_addvi_h, // llvm.mips.addvi.h + mips_addvi_w, // llvm.mips.addvi.w + mips_addwc, // llvm.mips.addwc + mips_and_v, // llvm.mips.and.v + mips_andi_b, // llvm.mips.andi.b + mips_append, // llvm.mips.append + mips_asub_s_b, // llvm.mips.asub.s.b + mips_asub_s_d, // llvm.mips.asub.s.d + mips_asub_s_h, // llvm.mips.asub.s.h + mips_asub_s_w, // llvm.mips.asub.s.w + mips_asub_u_b, // llvm.mips.asub.u.b + mips_asub_u_d, // llvm.mips.asub.u.d + mips_asub_u_h, // llvm.mips.asub.u.h + mips_asub_u_w, // llvm.mips.asub.u.w + mips_ave_s_b, // llvm.mips.ave.s.b + mips_ave_s_d, // llvm.mips.ave.s.d + mips_ave_s_h, // llvm.mips.ave.s.h + mips_ave_s_w, // llvm.mips.ave.s.w + mips_ave_u_b, // llvm.mips.ave.u.b + mips_ave_u_d, // llvm.mips.ave.u.d + mips_ave_u_h, // llvm.mips.ave.u.h + mips_ave_u_w, // llvm.mips.ave.u.w + mips_aver_s_b, // llvm.mips.aver.s.b + mips_aver_s_d, // llvm.mips.aver.s.d + mips_aver_s_h, // llvm.mips.aver.s.h + mips_aver_s_w, // llvm.mips.aver.s.w + mips_aver_u_b, // llvm.mips.aver.u.b + mips_aver_u_d, // llvm.mips.aver.u.d + mips_aver_u_h, // llvm.mips.aver.u.h + mips_aver_u_w, // llvm.mips.aver.u.w + mips_balign, // llvm.mips.balign + mips_bclr_b, // llvm.mips.bclr.b + mips_bclr_d, // llvm.mips.bclr.d + mips_bclr_h, // llvm.mips.bclr.h + mips_bclr_w, // llvm.mips.bclr.w + mips_bclri_b, // llvm.mips.bclri.b + mips_bclri_d, // llvm.mips.bclri.d + mips_bclri_h, // llvm.mips.bclri.h + mips_bclri_w, // llvm.mips.bclri.w + mips_binsl_b, // llvm.mips.binsl.b + mips_binsl_d, // llvm.mips.binsl.d + mips_binsl_h, // llvm.mips.binsl.h + mips_binsl_w, // llvm.mips.binsl.w + mips_binsli_b, // llvm.mips.binsli.b + mips_binsli_d, // llvm.mips.binsli.d + mips_binsli_h, // llvm.mips.binsli.h + mips_binsli_w, // llvm.mips.binsli.w + mips_binsr_b, // llvm.mips.binsr.b + mips_binsr_d, // llvm.mips.binsr.d + mips_binsr_h, // llvm.mips.binsr.h + mips_binsr_w, // llvm.mips.binsr.w + mips_binsri_b, // llvm.mips.binsri.b + mips_binsri_d, // llvm.mips.binsri.d + mips_binsri_h, // llvm.mips.binsri.h + mips_binsri_w, // llvm.mips.binsri.w + mips_bitrev, // llvm.mips.bitrev + mips_bmnz_v, // llvm.mips.bmnz.v + mips_bmnzi_b, // llvm.mips.bmnzi.b + mips_bmz_v, // llvm.mips.bmz.v + mips_bmzi_b, // llvm.mips.bmzi.b + mips_bneg_b, // llvm.mips.bneg.b + mips_bneg_d, // llvm.mips.bneg.d + mips_bneg_h, // llvm.mips.bneg.h + mips_bneg_w, // llvm.mips.bneg.w + mips_bnegi_b, // llvm.mips.bnegi.b + mips_bnegi_d, // llvm.mips.bnegi.d + mips_bnegi_h, // llvm.mips.bnegi.h + mips_bnegi_w, // llvm.mips.bnegi.w + mips_bnz_b, // llvm.mips.bnz.b + mips_bnz_d, // llvm.mips.bnz.d + mips_bnz_h, // llvm.mips.bnz.h + mips_bnz_v, // llvm.mips.bnz.v + mips_bnz_w, // llvm.mips.bnz.w + mips_bposge32, // llvm.mips.bposge32 + mips_bsel_v, // llvm.mips.bsel.v + mips_bseli_b, // llvm.mips.bseli.b + mips_bset_b, // llvm.mips.bset.b + mips_bset_d, // llvm.mips.bset.d + mips_bset_h, // llvm.mips.bset.h + mips_bset_w, // llvm.mips.bset.w + mips_bseti_b, // llvm.mips.bseti.b + mips_bseti_d, // llvm.mips.bseti.d + mips_bseti_h, // llvm.mips.bseti.h + mips_bseti_w, // llvm.mips.bseti.w + mips_bz_b, // llvm.mips.bz.b + mips_bz_d, // llvm.mips.bz.d + mips_bz_h, // llvm.mips.bz.h + mips_bz_v, // llvm.mips.bz.v + mips_bz_w, // llvm.mips.bz.w + mips_ceq_b, // llvm.mips.ceq.b + mips_ceq_d, // llvm.mips.ceq.d + mips_ceq_h, // llvm.mips.ceq.h + mips_ceq_w, // llvm.mips.ceq.w + mips_ceqi_b, // llvm.mips.ceqi.b + mips_ceqi_d, // llvm.mips.ceqi.d + mips_ceqi_h, // llvm.mips.ceqi.h + mips_ceqi_w, // llvm.mips.ceqi.w + mips_cfcmsa, // llvm.mips.cfcmsa + mips_cle_s_b, // llvm.mips.cle.s.b + mips_cle_s_d, // llvm.mips.cle.s.d + mips_cle_s_h, // llvm.mips.cle.s.h + mips_cle_s_w, // llvm.mips.cle.s.w + mips_cle_u_b, // llvm.mips.cle.u.b + mips_cle_u_d, // llvm.mips.cle.u.d + mips_cle_u_h, // llvm.mips.cle.u.h + mips_cle_u_w, // llvm.mips.cle.u.w + mips_clei_s_b, // llvm.mips.clei.s.b + mips_clei_s_d, // llvm.mips.clei.s.d + mips_clei_s_h, // llvm.mips.clei.s.h + mips_clei_s_w, // llvm.mips.clei.s.w + mips_clei_u_b, // llvm.mips.clei.u.b + mips_clei_u_d, // llvm.mips.clei.u.d + mips_clei_u_h, // llvm.mips.clei.u.h + mips_clei_u_w, // llvm.mips.clei.u.w + mips_clt_s_b, // llvm.mips.clt.s.b + mips_clt_s_d, // llvm.mips.clt.s.d + mips_clt_s_h, // llvm.mips.clt.s.h + mips_clt_s_w, // llvm.mips.clt.s.w + mips_clt_u_b, // llvm.mips.clt.u.b + mips_clt_u_d, // llvm.mips.clt.u.d + mips_clt_u_h, // llvm.mips.clt.u.h + mips_clt_u_w, // llvm.mips.clt.u.w + mips_clti_s_b, // llvm.mips.clti.s.b + mips_clti_s_d, // llvm.mips.clti.s.d + mips_clti_s_h, // llvm.mips.clti.s.h + mips_clti_s_w, // llvm.mips.clti.s.w + mips_clti_u_b, // llvm.mips.clti.u.b + mips_clti_u_d, // llvm.mips.clti.u.d + mips_clti_u_h, // llvm.mips.clti.u.h + mips_clti_u_w, // llvm.mips.clti.u.w + mips_cmp_eq_ph, // llvm.mips.cmp.eq.ph + mips_cmp_le_ph, // llvm.mips.cmp.le.ph + mips_cmp_lt_ph, // llvm.mips.cmp.lt.ph + mips_cmpgdu_eq_qb, // llvm.mips.cmpgdu.eq.qb + mips_cmpgdu_le_qb, // llvm.mips.cmpgdu.le.qb + mips_cmpgdu_lt_qb, // llvm.mips.cmpgdu.lt.qb + mips_cmpgu_eq_qb, // llvm.mips.cmpgu.eq.qb + mips_cmpgu_le_qb, // llvm.mips.cmpgu.le.qb + mips_cmpgu_lt_qb, // llvm.mips.cmpgu.lt.qb + mips_cmpu_eq_qb, // llvm.mips.cmpu.eq.qb + mips_cmpu_le_qb, // llvm.mips.cmpu.le.qb + mips_cmpu_lt_qb, // llvm.mips.cmpu.lt.qb + mips_copy_s_b, // llvm.mips.copy.s.b + mips_copy_s_d, // llvm.mips.copy.s.d + mips_copy_s_h, // llvm.mips.copy.s.h + mips_copy_s_w, // llvm.mips.copy.s.w + mips_copy_u_b, // llvm.mips.copy.u.b + mips_copy_u_d, // llvm.mips.copy.u.d + mips_copy_u_h, // llvm.mips.copy.u.h + mips_copy_u_w, // llvm.mips.copy.u.w + mips_ctcmsa, // llvm.mips.ctcmsa + mips_div_s_b, // llvm.mips.div.s.b + mips_div_s_d, // llvm.mips.div.s.d + mips_div_s_h, // llvm.mips.div.s.h + mips_div_s_w, // llvm.mips.div.s.w + mips_div_u_b, // llvm.mips.div.u.b + mips_div_u_d, // llvm.mips.div.u.d + mips_div_u_h, // llvm.mips.div.u.h + mips_div_u_w, // llvm.mips.div.u.w + mips_dlsa, // llvm.mips.dlsa + mips_dotp_s_d, // llvm.mips.dotp.s.d + mips_dotp_s_h, // llvm.mips.dotp.s.h + mips_dotp_s_w, // llvm.mips.dotp.s.w + mips_dotp_u_d, // llvm.mips.dotp.u.d + mips_dotp_u_h, // llvm.mips.dotp.u.h + mips_dotp_u_w, // llvm.mips.dotp.u.w + mips_dpa_w_ph, // llvm.mips.dpa.w.ph + mips_dpadd_s_d, // llvm.mips.dpadd.s.d + mips_dpadd_s_h, // llvm.mips.dpadd.s.h + mips_dpadd_s_w, // llvm.mips.dpadd.s.w + mips_dpadd_u_d, // llvm.mips.dpadd.u.d + mips_dpadd_u_h, // llvm.mips.dpadd.u.h + mips_dpadd_u_w, // llvm.mips.dpadd.u.w + mips_dpaq_s_w_ph, // llvm.mips.dpaq.s.w.ph + mips_dpaq_sa_l_w, // llvm.mips.dpaq.sa.l.w + mips_dpaqx_s_w_ph, // llvm.mips.dpaqx.s.w.ph + mips_dpaqx_sa_w_ph, // llvm.mips.dpaqx.sa.w.ph + mips_dpau_h_qbl, // llvm.mips.dpau.h.qbl + mips_dpau_h_qbr, // llvm.mips.dpau.h.qbr + mips_dpax_w_ph, // llvm.mips.dpax.w.ph + mips_dps_w_ph, // llvm.mips.dps.w.ph + mips_dpsq_s_w_ph, // llvm.mips.dpsq.s.w.ph + mips_dpsq_sa_l_w, // llvm.mips.dpsq.sa.l.w + mips_dpsqx_s_w_ph, // llvm.mips.dpsqx.s.w.ph + mips_dpsqx_sa_w_ph, // llvm.mips.dpsqx.sa.w.ph + mips_dpsu_h_qbl, // llvm.mips.dpsu.h.qbl + mips_dpsu_h_qbr, // llvm.mips.dpsu.h.qbr + mips_dpsub_s_d, // llvm.mips.dpsub.s.d + mips_dpsub_s_h, // llvm.mips.dpsub.s.h + mips_dpsub_s_w, // llvm.mips.dpsub.s.w + mips_dpsub_u_d, // llvm.mips.dpsub.u.d + mips_dpsub_u_h, // llvm.mips.dpsub.u.h + mips_dpsub_u_w, // llvm.mips.dpsub.u.w + mips_dpsx_w_ph, // llvm.mips.dpsx.w.ph + mips_extp, // llvm.mips.extp + mips_extpdp, // llvm.mips.extpdp + mips_extr_r_w, // llvm.mips.extr.r.w + mips_extr_rs_w, // llvm.mips.extr.rs.w + mips_extr_s_h, // llvm.mips.extr.s.h + mips_extr_w, // llvm.mips.extr.w + mips_fadd_d, // llvm.mips.fadd.d + mips_fadd_w, // llvm.mips.fadd.w + mips_fcaf_d, // llvm.mips.fcaf.d + mips_fcaf_w, // llvm.mips.fcaf.w + mips_fceq_d, // llvm.mips.fceq.d + mips_fceq_w, // llvm.mips.fceq.w + mips_fclass_d, // llvm.mips.fclass.d + mips_fclass_w, // llvm.mips.fclass.w + mips_fcle_d, // llvm.mips.fcle.d + mips_fcle_w, // llvm.mips.fcle.w + mips_fclt_d, // llvm.mips.fclt.d + mips_fclt_w, // llvm.mips.fclt.w + mips_fcne_d, // llvm.mips.fcne.d + mips_fcne_w, // llvm.mips.fcne.w + mips_fcor_d, // llvm.mips.fcor.d + mips_fcor_w, // llvm.mips.fcor.w + mips_fcueq_d, // llvm.mips.fcueq.d + mips_fcueq_w, // llvm.mips.fcueq.w + mips_fcule_d, // llvm.mips.fcule.d + mips_fcule_w, // llvm.mips.fcule.w + mips_fcult_d, // llvm.mips.fcult.d + mips_fcult_w, // llvm.mips.fcult.w + mips_fcun_d, // llvm.mips.fcun.d + mips_fcun_w, // llvm.mips.fcun.w + mips_fcune_d, // llvm.mips.fcune.d + mips_fcune_w, // llvm.mips.fcune.w + mips_fdiv_d, // llvm.mips.fdiv.d + mips_fdiv_w, // llvm.mips.fdiv.w + mips_fexdo_h, // llvm.mips.fexdo.h + mips_fexdo_w, // llvm.mips.fexdo.w + mips_fexp2_d, // llvm.mips.fexp2.d + mips_fexp2_w, // llvm.mips.fexp2.w + mips_fexupl_d, // llvm.mips.fexupl.d + mips_fexupl_w, // llvm.mips.fexupl.w + mips_fexupr_d, // llvm.mips.fexupr.d + mips_fexupr_w, // llvm.mips.fexupr.w + mips_ffint_s_d, // llvm.mips.ffint.s.d + mips_ffint_s_w, // llvm.mips.ffint.s.w + mips_ffint_u_d, // llvm.mips.ffint.u.d + mips_ffint_u_w, // llvm.mips.ffint.u.w + mips_ffql_d, // llvm.mips.ffql.d + mips_ffql_w, // llvm.mips.ffql.w + mips_ffqr_d, // llvm.mips.ffqr.d + mips_ffqr_w, // llvm.mips.ffqr.w + mips_fill_b, // llvm.mips.fill.b + mips_fill_d, // llvm.mips.fill.d + mips_fill_h, // llvm.mips.fill.h + mips_fill_w, // llvm.mips.fill.w + mips_flog2_d, // llvm.mips.flog2.d + mips_flog2_w, // llvm.mips.flog2.w + mips_fmadd_d, // llvm.mips.fmadd.d + mips_fmadd_w, // llvm.mips.fmadd.w + mips_fmax_a_d, // llvm.mips.fmax.a.d + mips_fmax_a_w, // llvm.mips.fmax.a.w + mips_fmax_d, // llvm.mips.fmax.d + mips_fmax_w, // llvm.mips.fmax.w + mips_fmin_a_d, // llvm.mips.fmin.a.d + mips_fmin_a_w, // llvm.mips.fmin.a.w + mips_fmin_d, // llvm.mips.fmin.d + mips_fmin_w, // llvm.mips.fmin.w + mips_fmsub_d, // llvm.mips.fmsub.d + mips_fmsub_w, // llvm.mips.fmsub.w + mips_fmul_d, // llvm.mips.fmul.d + mips_fmul_w, // llvm.mips.fmul.w + mips_frcp_d, // llvm.mips.frcp.d + mips_frcp_w, // llvm.mips.frcp.w + mips_frint_d, // llvm.mips.frint.d + mips_frint_w, // llvm.mips.frint.w + mips_frsqrt_d, // llvm.mips.frsqrt.d + mips_frsqrt_w, // llvm.mips.frsqrt.w + mips_fsaf_d, // llvm.mips.fsaf.d + mips_fsaf_w, // llvm.mips.fsaf.w + mips_fseq_d, // llvm.mips.fseq.d + mips_fseq_w, // llvm.mips.fseq.w + mips_fsle_d, // llvm.mips.fsle.d + mips_fsle_w, // llvm.mips.fsle.w + mips_fslt_d, // llvm.mips.fslt.d + mips_fslt_w, // llvm.mips.fslt.w + mips_fsne_d, // llvm.mips.fsne.d + mips_fsne_w, // llvm.mips.fsne.w + mips_fsor_d, // llvm.mips.fsor.d + mips_fsor_w, // llvm.mips.fsor.w + mips_fsqrt_d, // llvm.mips.fsqrt.d + mips_fsqrt_w, // llvm.mips.fsqrt.w + mips_fsub_d, // llvm.mips.fsub.d + mips_fsub_w, // llvm.mips.fsub.w + mips_fsueq_d, // llvm.mips.fsueq.d + mips_fsueq_w, // llvm.mips.fsueq.w + mips_fsule_d, // llvm.mips.fsule.d + mips_fsule_w, // llvm.mips.fsule.w + mips_fsult_d, // llvm.mips.fsult.d + mips_fsult_w, // llvm.mips.fsult.w + mips_fsun_d, // llvm.mips.fsun.d + mips_fsun_w, // llvm.mips.fsun.w + mips_fsune_d, // llvm.mips.fsune.d + mips_fsune_w, // llvm.mips.fsune.w + mips_ftint_s_d, // llvm.mips.ftint.s.d + mips_ftint_s_w, // llvm.mips.ftint.s.w + mips_ftint_u_d, // llvm.mips.ftint.u.d + mips_ftint_u_w, // llvm.mips.ftint.u.w + mips_ftq_h, // llvm.mips.ftq.h + mips_ftq_w, // llvm.mips.ftq.w + mips_ftrunc_s_d, // llvm.mips.ftrunc.s.d + mips_ftrunc_s_w, // llvm.mips.ftrunc.s.w + mips_ftrunc_u_d, // llvm.mips.ftrunc.u.d + mips_ftrunc_u_w, // llvm.mips.ftrunc.u.w + mips_hadd_s_d, // llvm.mips.hadd.s.d + mips_hadd_s_h, // llvm.mips.hadd.s.h + mips_hadd_s_w, // llvm.mips.hadd.s.w + mips_hadd_u_d, // llvm.mips.hadd.u.d + mips_hadd_u_h, // llvm.mips.hadd.u.h + mips_hadd_u_w, // llvm.mips.hadd.u.w + mips_hsub_s_d, // llvm.mips.hsub.s.d + mips_hsub_s_h, // llvm.mips.hsub.s.h + mips_hsub_s_w, // llvm.mips.hsub.s.w + mips_hsub_u_d, // llvm.mips.hsub.u.d + mips_hsub_u_h, // llvm.mips.hsub.u.h + mips_hsub_u_w, // llvm.mips.hsub.u.w + mips_ilvev_b, // llvm.mips.ilvev.b + mips_ilvev_d, // llvm.mips.ilvev.d + mips_ilvev_h, // llvm.mips.ilvev.h + mips_ilvev_w, // llvm.mips.ilvev.w + mips_ilvl_b, // llvm.mips.ilvl.b + mips_ilvl_d, // llvm.mips.ilvl.d + mips_ilvl_h, // llvm.mips.ilvl.h + mips_ilvl_w, // llvm.mips.ilvl.w + mips_ilvod_b, // llvm.mips.ilvod.b + mips_ilvod_d, // llvm.mips.ilvod.d + mips_ilvod_h, // llvm.mips.ilvod.h + mips_ilvod_w, // llvm.mips.ilvod.w + mips_ilvr_b, // llvm.mips.ilvr.b + mips_ilvr_d, // llvm.mips.ilvr.d + mips_ilvr_h, // llvm.mips.ilvr.h + mips_ilvr_w, // llvm.mips.ilvr.w + mips_insert_b, // llvm.mips.insert.b + mips_insert_d, // llvm.mips.insert.d + mips_insert_h, // llvm.mips.insert.h + mips_insert_w, // llvm.mips.insert.w + mips_insv, // llvm.mips.insv + mips_insve_b, // llvm.mips.insve.b + mips_insve_d, // llvm.mips.insve.d + mips_insve_h, // llvm.mips.insve.h + mips_insve_w, // llvm.mips.insve.w + mips_lbux, // llvm.mips.lbux + mips_ld_b, // llvm.mips.ld.b + mips_ld_d, // llvm.mips.ld.d + mips_ld_h, // llvm.mips.ld.h + mips_ld_w, // llvm.mips.ld.w + mips_ldi_b, // llvm.mips.ldi.b + mips_ldi_d, // llvm.mips.ldi.d + mips_ldi_h, // llvm.mips.ldi.h + mips_ldi_w, // llvm.mips.ldi.w + mips_lhx, // llvm.mips.lhx + mips_lsa, // llvm.mips.lsa + mips_lwx, // llvm.mips.lwx + mips_madd, // llvm.mips.madd + mips_madd_q_h, // llvm.mips.madd.q.h + mips_madd_q_w, // llvm.mips.madd.q.w + mips_maddr_q_h, // llvm.mips.maddr.q.h + mips_maddr_q_w, // llvm.mips.maddr.q.w + mips_maddu, // llvm.mips.maddu + mips_maddv_b, // llvm.mips.maddv.b + mips_maddv_d, // llvm.mips.maddv.d + mips_maddv_h, // llvm.mips.maddv.h + mips_maddv_w, // llvm.mips.maddv.w + mips_maq_s_w_phl, // llvm.mips.maq.s.w.phl + mips_maq_s_w_phr, // llvm.mips.maq.s.w.phr + mips_maq_sa_w_phl, // llvm.mips.maq.sa.w.phl + mips_maq_sa_w_phr, // llvm.mips.maq.sa.w.phr + mips_max_a_b, // llvm.mips.max.a.b + mips_max_a_d, // llvm.mips.max.a.d + mips_max_a_h, // llvm.mips.max.a.h + mips_max_a_w, // llvm.mips.max.a.w + mips_max_s_b, // llvm.mips.max.s.b + mips_max_s_d, // llvm.mips.max.s.d + mips_max_s_h, // llvm.mips.max.s.h + mips_max_s_w, // llvm.mips.max.s.w + mips_max_u_b, // llvm.mips.max.u.b + mips_max_u_d, // llvm.mips.max.u.d + mips_max_u_h, // llvm.mips.max.u.h + mips_max_u_w, // llvm.mips.max.u.w + mips_maxi_s_b, // llvm.mips.maxi.s.b + mips_maxi_s_d, // llvm.mips.maxi.s.d + mips_maxi_s_h, // llvm.mips.maxi.s.h + mips_maxi_s_w, // llvm.mips.maxi.s.w + mips_maxi_u_b, // llvm.mips.maxi.u.b + mips_maxi_u_d, // llvm.mips.maxi.u.d + mips_maxi_u_h, // llvm.mips.maxi.u.h + mips_maxi_u_w, // llvm.mips.maxi.u.w + mips_min_a_b, // llvm.mips.min.a.b + mips_min_a_d, // llvm.mips.min.a.d + mips_min_a_h, // llvm.mips.min.a.h + mips_min_a_w, // llvm.mips.min.a.w + mips_min_s_b, // llvm.mips.min.s.b + mips_min_s_d, // llvm.mips.min.s.d + mips_min_s_h, // llvm.mips.min.s.h + mips_min_s_w, // llvm.mips.min.s.w + mips_min_u_b, // llvm.mips.min.u.b + mips_min_u_d, // llvm.mips.min.u.d + mips_min_u_h, // llvm.mips.min.u.h + mips_min_u_w, // llvm.mips.min.u.w + mips_mini_s_b, // llvm.mips.mini.s.b + mips_mini_s_d, // llvm.mips.mini.s.d + mips_mini_s_h, // llvm.mips.mini.s.h + mips_mini_s_w, // llvm.mips.mini.s.w + mips_mini_u_b, // llvm.mips.mini.u.b + mips_mini_u_d, // llvm.mips.mini.u.d + mips_mini_u_h, // llvm.mips.mini.u.h + mips_mini_u_w, // llvm.mips.mini.u.w + mips_mod_s_b, // llvm.mips.mod.s.b + mips_mod_s_d, // llvm.mips.mod.s.d + mips_mod_s_h, // llvm.mips.mod.s.h + mips_mod_s_w, // llvm.mips.mod.s.w + mips_mod_u_b, // llvm.mips.mod.u.b + mips_mod_u_d, // llvm.mips.mod.u.d + mips_mod_u_h, // llvm.mips.mod.u.h + mips_mod_u_w, // llvm.mips.mod.u.w + mips_modsub, // llvm.mips.modsub + mips_move_v, // llvm.mips.move.v + mips_msub, // llvm.mips.msub + mips_msub_q_h, // llvm.mips.msub.q.h + mips_msub_q_w, // llvm.mips.msub.q.w + mips_msubr_q_h, // llvm.mips.msubr.q.h + mips_msubr_q_w, // llvm.mips.msubr.q.w + mips_msubu, // llvm.mips.msubu + mips_msubv_b, // llvm.mips.msubv.b + mips_msubv_d, // llvm.mips.msubv.d + mips_msubv_h, // llvm.mips.msubv.h + mips_msubv_w, // llvm.mips.msubv.w + mips_mthlip, // llvm.mips.mthlip + mips_mul_ph, // llvm.mips.mul.ph + mips_mul_q_h, // llvm.mips.mul.q.h + mips_mul_q_w, // llvm.mips.mul.q.w + mips_mul_s_ph, // llvm.mips.mul.s.ph + mips_muleq_s_w_phl, // llvm.mips.muleq.s.w.phl + mips_muleq_s_w_phr, // llvm.mips.muleq.s.w.phr + mips_muleu_s_ph_qbl, // llvm.mips.muleu.s.ph.qbl + mips_muleu_s_ph_qbr, // llvm.mips.muleu.s.ph.qbr + mips_mulq_rs_ph, // llvm.mips.mulq.rs.ph + mips_mulq_rs_w, // llvm.mips.mulq.rs.w + mips_mulq_s_ph, // llvm.mips.mulq.s.ph + mips_mulq_s_w, // llvm.mips.mulq.s.w + mips_mulr_q_h, // llvm.mips.mulr.q.h + mips_mulr_q_w, // llvm.mips.mulr.q.w + mips_mulsa_w_ph, // llvm.mips.mulsa.w.ph + mips_mulsaq_s_w_ph, // llvm.mips.mulsaq.s.w.ph + mips_mult, // llvm.mips.mult + mips_multu, // llvm.mips.multu + mips_mulv_b, // llvm.mips.mulv.b + mips_mulv_d, // llvm.mips.mulv.d + mips_mulv_h, // llvm.mips.mulv.h + mips_mulv_w, // llvm.mips.mulv.w + mips_nloc_b, // llvm.mips.nloc.b + mips_nloc_d, // llvm.mips.nloc.d + mips_nloc_h, // llvm.mips.nloc.h + mips_nloc_w, // llvm.mips.nloc.w + mips_nlzc_b, // llvm.mips.nlzc.b + mips_nlzc_d, // llvm.mips.nlzc.d + mips_nlzc_h, // llvm.mips.nlzc.h + mips_nlzc_w, // llvm.mips.nlzc.w + mips_nor_v, // llvm.mips.nor.v + mips_nori_b, // llvm.mips.nori.b + mips_or_v, // llvm.mips.or.v + mips_ori_b, // llvm.mips.ori.b + mips_packrl_ph, // llvm.mips.packrl.ph + mips_pckev_b, // llvm.mips.pckev.b + mips_pckev_d, // llvm.mips.pckev.d + mips_pckev_h, // llvm.mips.pckev.h + mips_pckev_w, // llvm.mips.pckev.w + mips_pckod_b, // llvm.mips.pckod.b + mips_pckod_d, // llvm.mips.pckod.d + mips_pckod_h, // llvm.mips.pckod.h + mips_pckod_w, // llvm.mips.pckod.w + mips_pcnt_b, // llvm.mips.pcnt.b + mips_pcnt_d, // llvm.mips.pcnt.d + mips_pcnt_h, // llvm.mips.pcnt.h + mips_pcnt_w, // llvm.mips.pcnt.w + mips_pick_ph, // llvm.mips.pick.ph + mips_pick_qb, // llvm.mips.pick.qb + mips_preceq_w_phl, // llvm.mips.preceq.w.phl + mips_preceq_w_phr, // llvm.mips.preceq.w.phr + mips_precequ_ph_qbl, // llvm.mips.precequ.ph.qbl + mips_precequ_ph_qbla, // llvm.mips.precequ.ph.qbla + mips_precequ_ph_qbr, // llvm.mips.precequ.ph.qbr + mips_precequ_ph_qbra, // llvm.mips.precequ.ph.qbra + mips_preceu_ph_qbl, // llvm.mips.preceu.ph.qbl + mips_preceu_ph_qbla, // llvm.mips.preceu.ph.qbla + mips_preceu_ph_qbr, // llvm.mips.preceu.ph.qbr + mips_preceu_ph_qbra, // llvm.mips.preceu.ph.qbra + mips_precr_qb_ph, // llvm.mips.precr.qb.ph + mips_precr_sra_ph_w, // llvm.mips.precr.sra.ph.w + mips_precr_sra_r_ph_w, // llvm.mips.precr.sra.r.ph.w + mips_precrq_ph_w, // llvm.mips.precrq.ph.w + mips_precrq_qb_ph, // llvm.mips.precrq.qb.ph + mips_precrq_rs_ph_w, // llvm.mips.precrq.rs.ph.w + mips_precrqu_s_qb_ph, // llvm.mips.precrqu.s.qb.ph + mips_prepend, // llvm.mips.prepend + mips_raddu_w_qb, // llvm.mips.raddu.w.qb + mips_rddsp, // llvm.mips.rddsp + mips_repl_ph, // llvm.mips.repl.ph + mips_repl_qb, // llvm.mips.repl.qb + mips_sat_s_b, // llvm.mips.sat.s.b + mips_sat_s_d, // llvm.mips.sat.s.d + mips_sat_s_h, // llvm.mips.sat.s.h + mips_sat_s_w, // llvm.mips.sat.s.w + mips_sat_u_b, // llvm.mips.sat.u.b + mips_sat_u_d, // llvm.mips.sat.u.d + mips_sat_u_h, // llvm.mips.sat.u.h + mips_sat_u_w, // llvm.mips.sat.u.w + mips_shf_b, // llvm.mips.shf.b + mips_shf_h, // llvm.mips.shf.h + mips_shf_w, // llvm.mips.shf.w + mips_shilo, // llvm.mips.shilo + mips_shll_ph, // llvm.mips.shll.ph + mips_shll_qb, // llvm.mips.shll.qb + mips_shll_s_ph, // llvm.mips.shll.s.ph + mips_shll_s_w, // llvm.mips.shll.s.w + mips_shra_ph, // llvm.mips.shra.ph + mips_shra_qb, // llvm.mips.shra.qb + mips_shra_r_ph, // llvm.mips.shra.r.ph + mips_shra_r_qb, // llvm.mips.shra.r.qb + mips_shra_r_w, // llvm.mips.shra.r.w + mips_shrl_ph, // llvm.mips.shrl.ph + mips_shrl_qb, // llvm.mips.shrl.qb + mips_sld_b, // llvm.mips.sld.b + mips_sld_d, // llvm.mips.sld.d + mips_sld_h, // llvm.mips.sld.h + mips_sld_w, // llvm.mips.sld.w + mips_sldi_b, // llvm.mips.sldi.b + mips_sldi_d, // llvm.mips.sldi.d + mips_sldi_h, // llvm.mips.sldi.h + mips_sldi_w, // llvm.mips.sldi.w + mips_sll_b, // llvm.mips.sll.b + mips_sll_d, // llvm.mips.sll.d + mips_sll_h, // llvm.mips.sll.h + mips_sll_w, // llvm.mips.sll.w + mips_slli_b, // llvm.mips.slli.b + mips_slli_d, // llvm.mips.slli.d + mips_slli_h, // llvm.mips.slli.h + mips_slli_w, // llvm.mips.slli.w + mips_splat_b, // llvm.mips.splat.b + mips_splat_d, // llvm.mips.splat.d + mips_splat_h, // llvm.mips.splat.h + mips_splat_w, // llvm.mips.splat.w + mips_splati_b, // llvm.mips.splati.b + mips_splati_d, // llvm.mips.splati.d + mips_splati_h, // llvm.mips.splati.h + mips_splati_w, // llvm.mips.splati.w + mips_sra_b, // llvm.mips.sra.b + mips_sra_d, // llvm.mips.sra.d + mips_sra_h, // llvm.mips.sra.h + mips_sra_w, // llvm.mips.sra.w + mips_srai_b, // llvm.mips.srai.b + mips_srai_d, // llvm.mips.srai.d + mips_srai_h, // llvm.mips.srai.h + mips_srai_w, // llvm.mips.srai.w + mips_srar_b, // llvm.mips.srar.b + mips_srar_d, // llvm.mips.srar.d + mips_srar_h, // llvm.mips.srar.h + mips_srar_w, // llvm.mips.srar.w + mips_srari_b, // llvm.mips.srari.b + mips_srari_d, // llvm.mips.srari.d + mips_srari_h, // llvm.mips.srari.h + mips_srari_w, // llvm.mips.srari.w + mips_srl_b, // llvm.mips.srl.b + mips_srl_d, // llvm.mips.srl.d + mips_srl_h, // llvm.mips.srl.h + mips_srl_w, // llvm.mips.srl.w + mips_srli_b, // llvm.mips.srli.b + mips_srli_d, // llvm.mips.srli.d + mips_srli_h, // llvm.mips.srli.h + mips_srli_w, // llvm.mips.srli.w + mips_srlr_b, // llvm.mips.srlr.b + mips_srlr_d, // llvm.mips.srlr.d + mips_srlr_h, // llvm.mips.srlr.h + mips_srlr_w, // llvm.mips.srlr.w + mips_srlri_b, // llvm.mips.srlri.b + mips_srlri_d, // llvm.mips.srlri.d + mips_srlri_h, // llvm.mips.srlri.h + mips_srlri_w, // llvm.mips.srlri.w + mips_st_b, // llvm.mips.st.b + mips_st_d, // llvm.mips.st.d + mips_st_h, // llvm.mips.st.h + mips_st_w, // llvm.mips.st.w + mips_subq_ph, // llvm.mips.subq.ph + mips_subq_s_ph, // llvm.mips.subq.s.ph + mips_subq_s_w, // llvm.mips.subq.s.w + mips_subqh_ph, // llvm.mips.subqh.ph + mips_subqh_r_ph, // llvm.mips.subqh.r.ph + mips_subqh_r_w, // llvm.mips.subqh.r.w + mips_subqh_w, // llvm.mips.subqh.w + mips_subs_s_b, // llvm.mips.subs.s.b + mips_subs_s_d, // llvm.mips.subs.s.d + mips_subs_s_h, // llvm.mips.subs.s.h + mips_subs_s_w, // llvm.mips.subs.s.w + mips_subs_u_b, // llvm.mips.subs.u.b + mips_subs_u_d, // llvm.mips.subs.u.d + mips_subs_u_h, // llvm.mips.subs.u.h + mips_subs_u_w, // llvm.mips.subs.u.w + mips_subsus_u_b, // llvm.mips.subsus.u.b + mips_subsus_u_d, // llvm.mips.subsus.u.d + mips_subsus_u_h, // llvm.mips.subsus.u.h + mips_subsus_u_w, // llvm.mips.subsus.u.w + mips_subsuu_s_b, // llvm.mips.subsuu.s.b + mips_subsuu_s_d, // llvm.mips.subsuu.s.d + mips_subsuu_s_h, // llvm.mips.subsuu.s.h + mips_subsuu_s_w, // llvm.mips.subsuu.s.w + mips_subu_ph, // llvm.mips.subu.ph + mips_subu_qb, // llvm.mips.subu.qb + mips_subu_s_ph, // llvm.mips.subu.s.ph + mips_subu_s_qb, // llvm.mips.subu.s.qb + mips_subuh_qb, // llvm.mips.subuh.qb + mips_subuh_r_qb, // llvm.mips.subuh.r.qb + mips_subv_b, // llvm.mips.subv.b + mips_subv_d, // llvm.mips.subv.d + mips_subv_h, // llvm.mips.subv.h + mips_subv_w, // llvm.mips.subv.w + mips_subvi_b, // llvm.mips.subvi.b + mips_subvi_d, // llvm.mips.subvi.d + mips_subvi_h, // llvm.mips.subvi.h + mips_subvi_w, // llvm.mips.subvi.w + mips_vshf_b, // llvm.mips.vshf.b + mips_vshf_d, // llvm.mips.vshf.d + mips_vshf_h, // llvm.mips.vshf.h + mips_vshf_w, // llvm.mips.vshf.w + mips_wrdsp, // llvm.mips.wrdsp + mips_xor_v, // llvm.mips.xor.v + mips_xori_b, // llvm.mips.xori.b + nearbyint, // llvm.nearbyint + nvvm_abs_i, // llvm.nvvm.abs.i + nvvm_abs_ll, // llvm.nvvm.abs.ll + nvvm_add_rm_d, // llvm.nvvm.add.rm.d + nvvm_add_rm_f, // llvm.nvvm.add.rm.f + nvvm_add_rm_ftz_f, // llvm.nvvm.add.rm.ftz.f + nvvm_add_rn_d, // llvm.nvvm.add.rn.d + nvvm_add_rn_f, // llvm.nvvm.add.rn.f + nvvm_add_rn_ftz_f, // llvm.nvvm.add.rn.ftz.f + nvvm_add_rp_d, // llvm.nvvm.add.rp.d + nvvm_add_rp_f, // llvm.nvvm.add.rp.f + nvvm_add_rp_ftz_f, // llvm.nvvm.add.rp.ftz.f + nvvm_add_rz_d, // llvm.nvvm.add.rz.d + nvvm_add_rz_f, // llvm.nvvm.add.rz.f + nvvm_add_rz_ftz_f, // llvm.nvvm.add.rz.ftz.f + nvvm_atomic_load_add_f32, // llvm.nvvm.atomic.load.add.f32 + nvvm_atomic_load_dec_32, // llvm.nvvm.atomic.load.dec.32 + nvvm_atomic_load_inc_32, // llvm.nvvm.atomic.load.inc.32 + nvvm_barrier0, // llvm.nvvm.barrier0 + nvvm_barrier0_and, // llvm.nvvm.barrier0.and + nvvm_barrier0_or, // llvm.nvvm.barrier0.or + nvvm_barrier0_popc, // llvm.nvvm.barrier0.popc + nvvm_bitcast_d2ll, // llvm.nvvm.bitcast.d2ll + nvvm_bitcast_f2i, // llvm.nvvm.bitcast.f2i + nvvm_bitcast_i2f, // llvm.nvvm.bitcast.i2f + nvvm_bitcast_ll2d, // llvm.nvvm.bitcast.ll2d + nvvm_brev32, // llvm.nvvm.brev32 + nvvm_brev64, // llvm.nvvm.brev64 + nvvm_ceil_d, // llvm.nvvm.ceil.d + nvvm_ceil_f, // llvm.nvvm.ceil.f + nvvm_ceil_ftz_f, // llvm.nvvm.ceil.ftz.f + nvvm_clz_i, // llvm.nvvm.clz.i + nvvm_clz_ll, // llvm.nvvm.clz.ll + nvvm_compiler_error, // llvm.nvvm.compiler.error + nvvm_compiler_warn, // llvm.nvvm.compiler.warn + nvvm_cos_approx_f, // llvm.nvvm.cos.approx.f + nvvm_cos_approx_ftz_f, // llvm.nvvm.cos.approx.ftz.f + nvvm_d2f_rm, // llvm.nvvm.d2f.rm + nvvm_d2f_rm_ftz, // llvm.nvvm.d2f.rm.ftz + nvvm_d2f_rn, // llvm.nvvm.d2f.rn + nvvm_d2f_rn_ftz, // llvm.nvvm.d2f.rn.ftz + nvvm_d2f_rp, // llvm.nvvm.d2f.rp + nvvm_d2f_rp_ftz, // llvm.nvvm.d2f.rp.ftz + nvvm_d2f_rz, // llvm.nvvm.d2f.rz + nvvm_d2f_rz_ftz, // llvm.nvvm.d2f.rz.ftz + nvvm_d2i_hi, // llvm.nvvm.d2i.hi + nvvm_d2i_lo, // llvm.nvvm.d2i.lo + nvvm_d2i_rm, // llvm.nvvm.d2i.rm + nvvm_d2i_rn, // llvm.nvvm.d2i.rn + nvvm_d2i_rp, // llvm.nvvm.d2i.rp + nvvm_d2i_rz, // llvm.nvvm.d2i.rz + nvvm_d2ll_rm, // llvm.nvvm.d2ll.rm + nvvm_d2ll_rn, // llvm.nvvm.d2ll.rn + nvvm_d2ll_rp, // llvm.nvvm.d2ll.rp + nvvm_d2ll_rz, // llvm.nvvm.d2ll.rz + nvvm_d2ui_rm, // llvm.nvvm.d2ui.rm + nvvm_d2ui_rn, // llvm.nvvm.d2ui.rn + nvvm_d2ui_rp, // llvm.nvvm.d2ui.rp + nvvm_d2ui_rz, // llvm.nvvm.d2ui.rz + nvvm_d2ull_rm, // llvm.nvvm.d2ull.rm + nvvm_d2ull_rn, // llvm.nvvm.d2ull.rn + nvvm_d2ull_rp, // llvm.nvvm.d2ull.rp + nvvm_d2ull_rz, // llvm.nvvm.d2ull.rz + nvvm_div_approx_f, // llvm.nvvm.div.approx.f + nvvm_div_approx_ftz_f, // llvm.nvvm.div.approx.ftz.f + nvvm_div_rm_d, // llvm.nvvm.div.rm.d + nvvm_div_rm_f, // llvm.nvvm.div.rm.f + nvvm_div_rm_ftz_f, // llvm.nvvm.div.rm.ftz.f + nvvm_div_rn_d, // llvm.nvvm.div.rn.d + nvvm_div_rn_f, // llvm.nvvm.div.rn.f + nvvm_div_rn_ftz_f, // llvm.nvvm.div.rn.ftz.f + nvvm_div_rp_d, // llvm.nvvm.div.rp.d + nvvm_div_rp_f, // llvm.nvvm.div.rp.f + nvvm_div_rp_ftz_f, // llvm.nvvm.div.rp.ftz.f + nvvm_div_rz_d, // llvm.nvvm.div.rz.d + nvvm_div_rz_f, // llvm.nvvm.div.rz.f + nvvm_div_rz_ftz_f, // llvm.nvvm.div.rz.ftz.f + nvvm_ex2_approx_d, // llvm.nvvm.ex2.approx.d + nvvm_ex2_approx_f, // llvm.nvvm.ex2.approx.f + nvvm_ex2_approx_ftz_f, // llvm.nvvm.ex2.approx.ftz.f + nvvm_f2h_rn, // llvm.nvvm.f2h.rn + nvvm_f2h_rn_ftz, // llvm.nvvm.f2h.rn.ftz + nvvm_f2i_rm, // llvm.nvvm.f2i.rm + nvvm_f2i_rm_ftz, // llvm.nvvm.f2i.rm.ftz + nvvm_f2i_rn, // llvm.nvvm.f2i.rn + nvvm_f2i_rn_ftz, // llvm.nvvm.f2i.rn.ftz + nvvm_f2i_rp, // llvm.nvvm.f2i.rp + nvvm_f2i_rp_ftz, // llvm.nvvm.f2i.rp.ftz + nvvm_f2i_rz, // llvm.nvvm.f2i.rz + nvvm_f2i_rz_ftz, // llvm.nvvm.f2i.rz.ftz + nvvm_f2ll_rm, // llvm.nvvm.f2ll.rm + nvvm_f2ll_rm_ftz, // llvm.nvvm.f2ll.rm.ftz + nvvm_f2ll_rn, // llvm.nvvm.f2ll.rn + nvvm_f2ll_rn_ftz, // llvm.nvvm.f2ll.rn.ftz + nvvm_f2ll_rp, // llvm.nvvm.f2ll.rp + nvvm_f2ll_rp_ftz, // llvm.nvvm.f2ll.rp.ftz + nvvm_f2ll_rz, // llvm.nvvm.f2ll.rz + nvvm_f2ll_rz_ftz, // llvm.nvvm.f2ll.rz.ftz + nvvm_f2ui_rm, // llvm.nvvm.f2ui.rm + nvvm_f2ui_rm_ftz, // llvm.nvvm.f2ui.rm.ftz + nvvm_f2ui_rn, // llvm.nvvm.f2ui.rn + nvvm_f2ui_rn_ftz, // llvm.nvvm.f2ui.rn.ftz + nvvm_f2ui_rp, // llvm.nvvm.f2ui.rp + nvvm_f2ui_rp_ftz, // llvm.nvvm.f2ui.rp.ftz + nvvm_f2ui_rz, // llvm.nvvm.f2ui.rz + nvvm_f2ui_rz_ftz, // llvm.nvvm.f2ui.rz.ftz + nvvm_f2ull_rm, // llvm.nvvm.f2ull.rm + nvvm_f2ull_rm_ftz, // llvm.nvvm.f2ull.rm.ftz + nvvm_f2ull_rn, // llvm.nvvm.f2ull.rn + nvvm_f2ull_rn_ftz, // llvm.nvvm.f2ull.rn.ftz + nvvm_f2ull_rp, // llvm.nvvm.f2ull.rp + nvvm_f2ull_rp_ftz, // llvm.nvvm.f2ull.rp.ftz + nvvm_f2ull_rz, // llvm.nvvm.f2ull.rz + nvvm_f2ull_rz_ftz, // llvm.nvvm.f2ull.rz.ftz + nvvm_fabs_d, // llvm.nvvm.fabs.d + nvvm_fabs_f, // llvm.nvvm.fabs.f + nvvm_fabs_ftz_f, // llvm.nvvm.fabs.ftz.f + nvvm_floor_d, // llvm.nvvm.floor.d + nvvm_floor_f, // llvm.nvvm.floor.f + nvvm_floor_ftz_f, // llvm.nvvm.floor.ftz.f + nvvm_fma_rm_d, // llvm.nvvm.fma.rm.d + nvvm_fma_rm_f, // llvm.nvvm.fma.rm.f + nvvm_fma_rm_ftz_f, // llvm.nvvm.fma.rm.ftz.f + nvvm_fma_rn_d, // llvm.nvvm.fma.rn.d + nvvm_fma_rn_f, // llvm.nvvm.fma.rn.f + nvvm_fma_rn_ftz_f, // llvm.nvvm.fma.rn.ftz.f + nvvm_fma_rp_d, // llvm.nvvm.fma.rp.d + nvvm_fma_rp_f, // llvm.nvvm.fma.rp.f + nvvm_fma_rp_ftz_f, // llvm.nvvm.fma.rp.ftz.f + nvvm_fma_rz_d, // llvm.nvvm.fma.rz.d + nvvm_fma_rz_f, // llvm.nvvm.fma.rz.f + nvvm_fma_rz_ftz_f, // llvm.nvvm.fma.rz.ftz.f + nvvm_fmax_d, // llvm.nvvm.fmax.d + nvvm_fmax_f, // llvm.nvvm.fmax.f + nvvm_fmax_ftz_f, // llvm.nvvm.fmax.ftz.f + nvvm_fmin_d, // llvm.nvvm.fmin.d + nvvm_fmin_f, // llvm.nvvm.fmin.f + nvvm_fmin_ftz_f, // llvm.nvvm.fmin.ftz.f + nvvm_h2f, // llvm.nvvm.h2f + nvvm_i2d_rm, // llvm.nvvm.i2d.rm + nvvm_i2d_rn, // llvm.nvvm.i2d.rn + nvvm_i2d_rp, // llvm.nvvm.i2d.rp + nvvm_i2d_rz, // llvm.nvvm.i2d.rz + nvvm_i2f_rm, // llvm.nvvm.i2f.rm + nvvm_i2f_rn, // llvm.nvvm.i2f.rn + nvvm_i2f_rp, // llvm.nvvm.i2f.rp + nvvm_i2f_rz, // llvm.nvvm.i2f.rz + nvvm_isspacep_const, // llvm.nvvm.isspacep.const + nvvm_isspacep_global, // llvm.nvvm.isspacep.global + nvvm_isspacep_local, // llvm.nvvm.isspacep.local + nvvm_isspacep_shared, // llvm.nvvm.isspacep.shared + nvvm_istypep_sampler, // llvm.nvvm.istypep.sampler + nvvm_istypep_surface, // llvm.nvvm.istypep.surface + nvvm_istypep_texture, // llvm.nvvm.istypep.texture + nvvm_ldg_global_f, // llvm.nvvm.ldg.global.f + nvvm_ldg_global_i, // llvm.nvvm.ldg.global.i + nvvm_ldg_global_p, // llvm.nvvm.ldg.global.p + nvvm_ldu_global_f, // llvm.nvvm.ldu.global.f + nvvm_ldu_global_i, // llvm.nvvm.ldu.global.i + nvvm_ldu_global_p, // llvm.nvvm.ldu.global.p + nvvm_lg2_approx_d, // llvm.nvvm.lg2.approx.d + nvvm_lg2_approx_f, // llvm.nvvm.lg2.approx.f + nvvm_lg2_approx_ftz_f, // llvm.nvvm.lg2.approx.ftz.f + nvvm_ll2d_rm, // llvm.nvvm.ll2d.rm + nvvm_ll2d_rn, // llvm.nvvm.ll2d.rn + nvvm_ll2d_rp, // llvm.nvvm.ll2d.rp + nvvm_ll2d_rz, // llvm.nvvm.ll2d.rz + nvvm_ll2f_rm, // llvm.nvvm.ll2f.rm + nvvm_ll2f_rn, // llvm.nvvm.ll2f.rn + nvvm_ll2f_rp, // llvm.nvvm.ll2f.rp + nvvm_ll2f_rz, // llvm.nvvm.ll2f.rz + nvvm_lohi_i2d, // llvm.nvvm.lohi.i2d + nvvm_max_i, // llvm.nvvm.max.i + nvvm_max_ll, // llvm.nvvm.max.ll + nvvm_max_ui, // llvm.nvvm.max.ui + nvvm_max_ull, // llvm.nvvm.max.ull + nvvm_membar_cta, // llvm.nvvm.membar.cta + nvvm_membar_gl, // llvm.nvvm.membar.gl + nvvm_membar_sys, // llvm.nvvm.membar.sys + nvvm_min_i, // llvm.nvvm.min.i + nvvm_min_ll, // llvm.nvvm.min.ll + nvvm_min_ui, // llvm.nvvm.min.ui + nvvm_min_ull, // llvm.nvvm.min.ull + nvvm_move_double, // llvm.nvvm.move.double + nvvm_move_float, // llvm.nvvm.move.float + nvvm_move_i16, // llvm.nvvm.move.i16 + nvvm_move_i32, // llvm.nvvm.move.i32 + nvvm_move_i64, // llvm.nvvm.move.i64 + nvvm_move_ptr, // llvm.nvvm.move.ptr + nvvm_mul24_i, // llvm.nvvm.mul24.i + nvvm_mul24_ui, // llvm.nvvm.mul24.ui + nvvm_mul_rm_d, // llvm.nvvm.mul.rm.d + nvvm_mul_rm_f, // llvm.nvvm.mul.rm.f + nvvm_mul_rm_ftz_f, // llvm.nvvm.mul.rm.ftz.f + nvvm_mul_rn_d, // llvm.nvvm.mul.rn.d + nvvm_mul_rn_f, // llvm.nvvm.mul.rn.f + nvvm_mul_rn_ftz_f, // llvm.nvvm.mul.rn.ftz.f + nvvm_mul_rp_d, // llvm.nvvm.mul.rp.d + nvvm_mul_rp_f, // llvm.nvvm.mul.rp.f + nvvm_mul_rp_ftz_f, // llvm.nvvm.mul.rp.ftz.f + nvvm_mul_rz_d, // llvm.nvvm.mul.rz.d + nvvm_mul_rz_f, // llvm.nvvm.mul.rz.f + nvvm_mul_rz_ftz_f, // llvm.nvvm.mul.rz.ftz.f + nvvm_mulhi_i, // llvm.nvvm.mulhi.i + nvvm_mulhi_ll, // llvm.nvvm.mulhi.ll + nvvm_mulhi_ui, // llvm.nvvm.mulhi.ui + nvvm_mulhi_ull, // llvm.nvvm.mulhi.ull + nvvm_popc_i, // llvm.nvvm.popc.i + nvvm_popc_ll, // llvm.nvvm.popc.ll + nvvm_prmt, // llvm.nvvm.prmt + nvvm_ptr_constant_to_gen, // llvm.nvvm.ptr.constant.to.gen + nvvm_ptr_gen_to_constant, // llvm.nvvm.ptr.gen.to.constant + nvvm_ptr_gen_to_global, // llvm.nvvm.ptr.gen.to.global + nvvm_ptr_gen_to_local, // llvm.nvvm.ptr.gen.to.local + nvvm_ptr_gen_to_param, // llvm.nvvm.ptr.gen.to.param + nvvm_ptr_gen_to_shared, // llvm.nvvm.ptr.gen.to.shared + nvvm_ptr_global_to_gen, // llvm.nvvm.ptr.global.to.gen + nvvm_ptr_local_to_gen, // llvm.nvvm.ptr.local.to.gen + nvvm_ptr_shared_to_gen, // llvm.nvvm.ptr.shared.to.gen + nvvm_rcp_approx_ftz_d, // llvm.nvvm.rcp.approx.ftz.d + nvvm_rcp_rm_d, // llvm.nvvm.rcp.rm.d + nvvm_rcp_rm_f, // llvm.nvvm.rcp.rm.f + nvvm_rcp_rm_ftz_f, // llvm.nvvm.rcp.rm.ftz.f + nvvm_rcp_rn_d, // llvm.nvvm.rcp.rn.d + nvvm_rcp_rn_f, // llvm.nvvm.rcp.rn.f + nvvm_rcp_rn_ftz_f, // llvm.nvvm.rcp.rn.ftz.f + nvvm_rcp_rp_d, // llvm.nvvm.rcp.rp.d + nvvm_rcp_rp_f, // llvm.nvvm.rcp.rp.f + nvvm_rcp_rp_ftz_f, // llvm.nvvm.rcp.rp.ftz.f + nvvm_rcp_rz_d, // llvm.nvvm.rcp.rz.d + nvvm_rcp_rz_f, // llvm.nvvm.rcp.rz.f + nvvm_rcp_rz_ftz_f, // llvm.nvvm.rcp.rz.ftz.f + nvvm_read_ptx_sreg_ctaid_x, // llvm.nvvm.read.ptx.sreg.ctaid.x + nvvm_read_ptx_sreg_ctaid_y, // llvm.nvvm.read.ptx.sreg.ctaid.y + nvvm_read_ptx_sreg_ctaid_z, // llvm.nvvm.read.ptx.sreg.ctaid.z + nvvm_read_ptx_sreg_envreg0, // llvm.nvvm.read.ptx.sreg.envreg0 + nvvm_read_ptx_sreg_envreg1, // llvm.nvvm.read.ptx.sreg.envreg1 + nvvm_read_ptx_sreg_envreg10, // llvm.nvvm.read.ptx.sreg.envreg10 + nvvm_read_ptx_sreg_envreg11, // llvm.nvvm.read.ptx.sreg.envreg11 + nvvm_read_ptx_sreg_envreg12, // llvm.nvvm.read.ptx.sreg.envreg12 + nvvm_read_ptx_sreg_envreg13, // llvm.nvvm.read.ptx.sreg.envreg13 + nvvm_read_ptx_sreg_envreg14, // llvm.nvvm.read.ptx.sreg.envreg14 + nvvm_read_ptx_sreg_envreg15, // llvm.nvvm.read.ptx.sreg.envreg15 + nvvm_read_ptx_sreg_envreg16, // llvm.nvvm.read.ptx.sreg.envreg16 + nvvm_read_ptx_sreg_envreg17, // llvm.nvvm.read.ptx.sreg.envreg17 + nvvm_read_ptx_sreg_envreg18, // llvm.nvvm.read.ptx.sreg.envreg18 + nvvm_read_ptx_sreg_envreg19, // llvm.nvvm.read.ptx.sreg.envreg19 + nvvm_read_ptx_sreg_envreg2, // llvm.nvvm.read.ptx.sreg.envreg2 + nvvm_read_ptx_sreg_envreg20, // llvm.nvvm.read.ptx.sreg.envreg20 + nvvm_read_ptx_sreg_envreg21, // llvm.nvvm.read.ptx.sreg.envreg21 + nvvm_read_ptx_sreg_envreg22, // llvm.nvvm.read.ptx.sreg.envreg22 + nvvm_read_ptx_sreg_envreg23, // llvm.nvvm.read.ptx.sreg.envreg23 + nvvm_read_ptx_sreg_envreg24, // llvm.nvvm.read.ptx.sreg.envreg24 + nvvm_read_ptx_sreg_envreg25, // llvm.nvvm.read.ptx.sreg.envreg25 + nvvm_read_ptx_sreg_envreg26, // llvm.nvvm.read.ptx.sreg.envreg26 + nvvm_read_ptx_sreg_envreg27, // llvm.nvvm.read.ptx.sreg.envreg27 + nvvm_read_ptx_sreg_envreg28, // llvm.nvvm.read.ptx.sreg.envreg28 + nvvm_read_ptx_sreg_envreg29, // llvm.nvvm.read.ptx.sreg.envreg29 + nvvm_read_ptx_sreg_envreg3, // llvm.nvvm.read.ptx.sreg.envreg3 + nvvm_read_ptx_sreg_envreg30, // llvm.nvvm.read.ptx.sreg.envreg30 + nvvm_read_ptx_sreg_envreg31, // llvm.nvvm.read.ptx.sreg.envreg31 + nvvm_read_ptx_sreg_envreg4, // llvm.nvvm.read.ptx.sreg.envreg4 + nvvm_read_ptx_sreg_envreg5, // llvm.nvvm.read.ptx.sreg.envreg5 + nvvm_read_ptx_sreg_envreg6, // llvm.nvvm.read.ptx.sreg.envreg6 + nvvm_read_ptx_sreg_envreg7, // llvm.nvvm.read.ptx.sreg.envreg7 + nvvm_read_ptx_sreg_envreg8, // llvm.nvvm.read.ptx.sreg.envreg8 + nvvm_read_ptx_sreg_envreg9, // llvm.nvvm.read.ptx.sreg.envreg9 + nvvm_read_ptx_sreg_nctaid_x, // llvm.nvvm.read.ptx.sreg.nctaid.x + nvvm_read_ptx_sreg_nctaid_y, // llvm.nvvm.read.ptx.sreg.nctaid.y + nvvm_read_ptx_sreg_nctaid_z, // llvm.nvvm.read.ptx.sreg.nctaid.z + nvvm_read_ptx_sreg_ntid_x, // llvm.nvvm.read.ptx.sreg.ntid.x + nvvm_read_ptx_sreg_ntid_y, // llvm.nvvm.read.ptx.sreg.ntid.y + nvvm_read_ptx_sreg_ntid_z, // llvm.nvvm.read.ptx.sreg.ntid.z + nvvm_read_ptx_sreg_tid_x, // llvm.nvvm.read.ptx.sreg.tid.x + nvvm_read_ptx_sreg_tid_y, // llvm.nvvm.read.ptx.sreg.tid.y + nvvm_read_ptx_sreg_tid_z, // llvm.nvvm.read.ptx.sreg.tid.z + nvvm_read_ptx_sreg_warpsize, // llvm.nvvm.read.ptx.sreg.warpsize + nvvm_reflect, // llvm.nvvm.reflect + nvvm_rotate_b32, // llvm.nvvm.rotate.b32 + nvvm_rotate_b64, // llvm.nvvm.rotate.b64 + nvvm_rotate_right_b64, // llvm.nvvm.rotate.right.b64 + nvvm_round_d, // llvm.nvvm.round.d + nvvm_round_f, // llvm.nvvm.round.f + nvvm_round_ftz_f, // llvm.nvvm.round.ftz.f + nvvm_rsqrt_approx_d, // llvm.nvvm.rsqrt.approx.d + nvvm_rsqrt_approx_f, // llvm.nvvm.rsqrt.approx.f + nvvm_rsqrt_approx_ftz_f, // llvm.nvvm.rsqrt.approx.ftz.f + nvvm_sad_i, // llvm.nvvm.sad.i + nvvm_sad_ui, // llvm.nvvm.sad.ui + nvvm_saturate_d, // llvm.nvvm.saturate.d + nvvm_saturate_f, // llvm.nvvm.saturate.f + nvvm_saturate_ftz_f, // llvm.nvvm.saturate.ftz.f + nvvm_sin_approx_f, // llvm.nvvm.sin.approx.f + nvvm_sin_approx_ftz_f, // llvm.nvvm.sin.approx.ftz.f + nvvm_sqrt_approx_f, // llvm.nvvm.sqrt.approx.f + nvvm_sqrt_approx_ftz_f, // llvm.nvvm.sqrt.approx.ftz.f + nvvm_sqrt_f, // llvm.nvvm.sqrt.f + nvvm_sqrt_rm_d, // llvm.nvvm.sqrt.rm.d + nvvm_sqrt_rm_f, // llvm.nvvm.sqrt.rm.f + nvvm_sqrt_rm_ftz_f, // llvm.nvvm.sqrt.rm.ftz.f + nvvm_sqrt_rn_d, // llvm.nvvm.sqrt.rn.d + nvvm_sqrt_rn_f, // llvm.nvvm.sqrt.rn.f + nvvm_sqrt_rn_ftz_f, // llvm.nvvm.sqrt.rn.ftz.f + nvvm_sqrt_rp_d, // llvm.nvvm.sqrt.rp.d + nvvm_sqrt_rp_f, // llvm.nvvm.sqrt.rp.f + nvvm_sqrt_rp_ftz_f, // llvm.nvvm.sqrt.rp.ftz.f + nvvm_sqrt_rz_d, // llvm.nvvm.sqrt.rz.d + nvvm_sqrt_rz_f, // llvm.nvvm.sqrt.rz.f + nvvm_sqrt_rz_ftz_f, // llvm.nvvm.sqrt.rz.ftz.f + nvvm_suld_1d_array_i16_clamp, // llvm.nvvm.suld.1d.array.i16.clamp + nvvm_suld_1d_array_i16_trap, // llvm.nvvm.suld.1d.array.i16.trap + nvvm_suld_1d_array_i16_zero, // llvm.nvvm.suld.1d.array.i16.zero + nvvm_suld_1d_array_i32_clamp, // llvm.nvvm.suld.1d.array.i32.clamp + nvvm_suld_1d_array_i32_trap, // llvm.nvvm.suld.1d.array.i32.trap + nvvm_suld_1d_array_i32_zero, // llvm.nvvm.suld.1d.array.i32.zero + nvvm_suld_1d_array_i64_clamp, // llvm.nvvm.suld.1d.array.i64.clamp + nvvm_suld_1d_array_i64_trap, // llvm.nvvm.suld.1d.array.i64.trap + nvvm_suld_1d_array_i64_zero, // llvm.nvvm.suld.1d.array.i64.zero + nvvm_suld_1d_array_i8_clamp, // llvm.nvvm.suld.1d.array.i8.clamp + nvvm_suld_1d_array_i8_trap, // llvm.nvvm.suld.1d.array.i8.trap + nvvm_suld_1d_array_i8_zero, // llvm.nvvm.suld.1d.array.i8.zero + nvvm_suld_1d_array_v2i16_clamp, // llvm.nvvm.suld.1d.array.v2i16.clamp + nvvm_suld_1d_array_v2i16_trap, // llvm.nvvm.suld.1d.array.v2i16.trap + nvvm_suld_1d_array_v2i16_zero, // llvm.nvvm.suld.1d.array.v2i16.zero + nvvm_suld_1d_array_v2i32_clamp, // llvm.nvvm.suld.1d.array.v2i32.clamp + nvvm_suld_1d_array_v2i32_trap, // llvm.nvvm.suld.1d.array.v2i32.trap + nvvm_suld_1d_array_v2i32_zero, // llvm.nvvm.suld.1d.array.v2i32.zero + nvvm_suld_1d_array_v2i64_clamp, // llvm.nvvm.suld.1d.array.v2i64.clamp + nvvm_suld_1d_array_v2i64_trap, // llvm.nvvm.suld.1d.array.v2i64.trap + nvvm_suld_1d_array_v2i64_zero, // llvm.nvvm.suld.1d.array.v2i64.zero + nvvm_suld_1d_array_v2i8_clamp, // llvm.nvvm.suld.1d.array.v2i8.clamp + nvvm_suld_1d_array_v2i8_trap, // llvm.nvvm.suld.1d.array.v2i8.trap + nvvm_suld_1d_array_v2i8_zero, // llvm.nvvm.suld.1d.array.v2i8.zero + nvvm_suld_1d_array_v4i16_clamp, // llvm.nvvm.suld.1d.array.v4i16.clamp + nvvm_suld_1d_array_v4i16_trap, // llvm.nvvm.suld.1d.array.v4i16.trap + nvvm_suld_1d_array_v4i16_zero, // llvm.nvvm.suld.1d.array.v4i16.zero + nvvm_suld_1d_array_v4i32_clamp, // llvm.nvvm.suld.1d.array.v4i32.clamp + nvvm_suld_1d_array_v4i32_trap, // llvm.nvvm.suld.1d.array.v4i32.trap + nvvm_suld_1d_array_v4i32_zero, // llvm.nvvm.suld.1d.array.v4i32.zero + nvvm_suld_1d_array_v4i8_clamp, // llvm.nvvm.suld.1d.array.v4i8.clamp + nvvm_suld_1d_array_v4i8_trap, // llvm.nvvm.suld.1d.array.v4i8.trap + nvvm_suld_1d_array_v4i8_zero, // llvm.nvvm.suld.1d.array.v4i8.zero + nvvm_suld_1d_i16_clamp, // llvm.nvvm.suld.1d.i16.clamp + nvvm_suld_1d_i16_trap, // llvm.nvvm.suld.1d.i16.trap + nvvm_suld_1d_i16_zero, // llvm.nvvm.suld.1d.i16.zero + nvvm_suld_1d_i32_clamp, // llvm.nvvm.suld.1d.i32.clamp + nvvm_suld_1d_i32_trap, // llvm.nvvm.suld.1d.i32.trap + nvvm_suld_1d_i32_zero, // llvm.nvvm.suld.1d.i32.zero + nvvm_suld_1d_i64_clamp, // llvm.nvvm.suld.1d.i64.clamp + nvvm_suld_1d_i64_trap, // llvm.nvvm.suld.1d.i64.trap + nvvm_suld_1d_i64_zero, // llvm.nvvm.suld.1d.i64.zero + nvvm_suld_1d_i8_clamp, // llvm.nvvm.suld.1d.i8.clamp + nvvm_suld_1d_i8_trap, // llvm.nvvm.suld.1d.i8.trap + nvvm_suld_1d_i8_zero, // llvm.nvvm.suld.1d.i8.zero + nvvm_suld_1d_v2i16_clamp, // llvm.nvvm.suld.1d.v2i16.clamp + nvvm_suld_1d_v2i16_trap, // llvm.nvvm.suld.1d.v2i16.trap + nvvm_suld_1d_v2i16_zero, // llvm.nvvm.suld.1d.v2i16.zero + nvvm_suld_1d_v2i32_clamp, // llvm.nvvm.suld.1d.v2i32.clamp + nvvm_suld_1d_v2i32_trap, // llvm.nvvm.suld.1d.v2i32.trap + nvvm_suld_1d_v2i32_zero, // llvm.nvvm.suld.1d.v2i32.zero + nvvm_suld_1d_v2i64_clamp, // llvm.nvvm.suld.1d.v2i64.clamp + nvvm_suld_1d_v2i64_trap, // llvm.nvvm.suld.1d.v2i64.trap + nvvm_suld_1d_v2i64_zero, // llvm.nvvm.suld.1d.v2i64.zero + nvvm_suld_1d_v2i8_clamp, // llvm.nvvm.suld.1d.v2i8.clamp + nvvm_suld_1d_v2i8_trap, // llvm.nvvm.suld.1d.v2i8.trap + nvvm_suld_1d_v2i8_zero, // llvm.nvvm.suld.1d.v2i8.zero + nvvm_suld_1d_v4i16_clamp, // llvm.nvvm.suld.1d.v4i16.clamp + nvvm_suld_1d_v4i16_trap, // llvm.nvvm.suld.1d.v4i16.trap + nvvm_suld_1d_v4i16_zero, // llvm.nvvm.suld.1d.v4i16.zero + nvvm_suld_1d_v4i32_clamp, // llvm.nvvm.suld.1d.v4i32.clamp + nvvm_suld_1d_v4i32_trap, // llvm.nvvm.suld.1d.v4i32.trap + nvvm_suld_1d_v4i32_zero, // llvm.nvvm.suld.1d.v4i32.zero + nvvm_suld_1d_v4i8_clamp, // llvm.nvvm.suld.1d.v4i8.clamp + nvvm_suld_1d_v4i8_trap, // llvm.nvvm.suld.1d.v4i8.trap + nvvm_suld_1d_v4i8_zero, // llvm.nvvm.suld.1d.v4i8.zero + nvvm_suld_2d_array_i16_clamp, // llvm.nvvm.suld.2d.array.i16.clamp + nvvm_suld_2d_array_i16_trap, // llvm.nvvm.suld.2d.array.i16.trap + nvvm_suld_2d_array_i16_zero, // llvm.nvvm.suld.2d.array.i16.zero + nvvm_suld_2d_array_i32_clamp, // llvm.nvvm.suld.2d.array.i32.clamp + nvvm_suld_2d_array_i32_trap, // llvm.nvvm.suld.2d.array.i32.trap + nvvm_suld_2d_array_i32_zero, // llvm.nvvm.suld.2d.array.i32.zero + nvvm_suld_2d_array_i64_clamp, // llvm.nvvm.suld.2d.array.i64.clamp + nvvm_suld_2d_array_i64_trap, // llvm.nvvm.suld.2d.array.i64.trap + nvvm_suld_2d_array_i64_zero, // llvm.nvvm.suld.2d.array.i64.zero + nvvm_suld_2d_array_i8_clamp, // llvm.nvvm.suld.2d.array.i8.clamp + nvvm_suld_2d_array_i8_trap, // llvm.nvvm.suld.2d.array.i8.trap + nvvm_suld_2d_array_i8_zero, // llvm.nvvm.suld.2d.array.i8.zero + nvvm_suld_2d_array_v2i16_clamp, // llvm.nvvm.suld.2d.array.v2i16.clamp + nvvm_suld_2d_array_v2i16_trap, // llvm.nvvm.suld.2d.array.v2i16.trap + nvvm_suld_2d_array_v2i16_zero, // llvm.nvvm.suld.2d.array.v2i16.zero + nvvm_suld_2d_array_v2i32_clamp, // llvm.nvvm.suld.2d.array.v2i32.clamp + nvvm_suld_2d_array_v2i32_trap, // llvm.nvvm.suld.2d.array.v2i32.trap + nvvm_suld_2d_array_v2i32_zero, // llvm.nvvm.suld.2d.array.v2i32.zero + nvvm_suld_2d_array_v2i64_clamp, // llvm.nvvm.suld.2d.array.v2i64.clamp + nvvm_suld_2d_array_v2i64_trap, // llvm.nvvm.suld.2d.array.v2i64.trap + nvvm_suld_2d_array_v2i64_zero, // llvm.nvvm.suld.2d.array.v2i64.zero + nvvm_suld_2d_array_v2i8_clamp, // llvm.nvvm.suld.2d.array.v2i8.clamp + nvvm_suld_2d_array_v2i8_trap, // llvm.nvvm.suld.2d.array.v2i8.trap + nvvm_suld_2d_array_v2i8_zero, // llvm.nvvm.suld.2d.array.v2i8.zero + nvvm_suld_2d_array_v4i16_clamp, // llvm.nvvm.suld.2d.array.v4i16.clamp + nvvm_suld_2d_array_v4i16_trap, // llvm.nvvm.suld.2d.array.v4i16.trap + nvvm_suld_2d_array_v4i16_zero, // llvm.nvvm.suld.2d.array.v4i16.zero + nvvm_suld_2d_array_v4i32_clamp, // llvm.nvvm.suld.2d.array.v4i32.clamp + nvvm_suld_2d_array_v4i32_trap, // llvm.nvvm.suld.2d.array.v4i32.trap + nvvm_suld_2d_array_v4i32_zero, // llvm.nvvm.suld.2d.array.v4i32.zero + nvvm_suld_2d_array_v4i8_clamp, // llvm.nvvm.suld.2d.array.v4i8.clamp + nvvm_suld_2d_array_v4i8_trap, // llvm.nvvm.suld.2d.array.v4i8.trap + nvvm_suld_2d_array_v4i8_zero, // llvm.nvvm.suld.2d.array.v4i8.zero + nvvm_suld_2d_i16_clamp, // llvm.nvvm.suld.2d.i16.clamp + nvvm_suld_2d_i16_trap, // llvm.nvvm.suld.2d.i16.trap + nvvm_suld_2d_i16_zero, // llvm.nvvm.suld.2d.i16.zero + nvvm_suld_2d_i32_clamp, // llvm.nvvm.suld.2d.i32.clamp + nvvm_suld_2d_i32_trap, // llvm.nvvm.suld.2d.i32.trap + nvvm_suld_2d_i32_zero, // llvm.nvvm.suld.2d.i32.zero + nvvm_suld_2d_i64_clamp, // llvm.nvvm.suld.2d.i64.clamp + nvvm_suld_2d_i64_trap, // llvm.nvvm.suld.2d.i64.trap + nvvm_suld_2d_i64_zero, // llvm.nvvm.suld.2d.i64.zero + nvvm_suld_2d_i8_clamp, // llvm.nvvm.suld.2d.i8.clamp + nvvm_suld_2d_i8_trap, // llvm.nvvm.suld.2d.i8.trap + nvvm_suld_2d_i8_zero, // llvm.nvvm.suld.2d.i8.zero + nvvm_suld_2d_v2i16_clamp, // llvm.nvvm.suld.2d.v2i16.clamp + nvvm_suld_2d_v2i16_trap, // llvm.nvvm.suld.2d.v2i16.trap + nvvm_suld_2d_v2i16_zero, // llvm.nvvm.suld.2d.v2i16.zero + nvvm_suld_2d_v2i32_clamp, // llvm.nvvm.suld.2d.v2i32.clamp + nvvm_suld_2d_v2i32_trap, // llvm.nvvm.suld.2d.v2i32.trap + nvvm_suld_2d_v2i32_zero, // llvm.nvvm.suld.2d.v2i32.zero + nvvm_suld_2d_v2i64_clamp, // llvm.nvvm.suld.2d.v2i64.clamp + nvvm_suld_2d_v2i64_trap, // llvm.nvvm.suld.2d.v2i64.trap + nvvm_suld_2d_v2i64_zero, // llvm.nvvm.suld.2d.v2i64.zero + nvvm_suld_2d_v2i8_clamp, // llvm.nvvm.suld.2d.v2i8.clamp + nvvm_suld_2d_v2i8_trap, // llvm.nvvm.suld.2d.v2i8.trap + nvvm_suld_2d_v2i8_zero, // llvm.nvvm.suld.2d.v2i8.zero + nvvm_suld_2d_v4i16_clamp, // llvm.nvvm.suld.2d.v4i16.clamp + nvvm_suld_2d_v4i16_trap, // llvm.nvvm.suld.2d.v4i16.trap + nvvm_suld_2d_v4i16_zero, // llvm.nvvm.suld.2d.v4i16.zero + nvvm_suld_2d_v4i32_clamp, // llvm.nvvm.suld.2d.v4i32.clamp + nvvm_suld_2d_v4i32_trap, // llvm.nvvm.suld.2d.v4i32.trap + nvvm_suld_2d_v4i32_zero, // llvm.nvvm.suld.2d.v4i32.zero + nvvm_suld_2d_v4i8_clamp, // llvm.nvvm.suld.2d.v4i8.clamp + nvvm_suld_2d_v4i8_trap, // llvm.nvvm.suld.2d.v4i8.trap + nvvm_suld_2d_v4i8_zero, // llvm.nvvm.suld.2d.v4i8.zero + nvvm_suld_3d_i16_clamp, // llvm.nvvm.suld.3d.i16.clamp + nvvm_suld_3d_i16_trap, // llvm.nvvm.suld.3d.i16.trap + nvvm_suld_3d_i16_zero, // llvm.nvvm.suld.3d.i16.zero + nvvm_suld_3d_i32_clamp, // llvm.nvvm.suld.3d.i32.clamp + nvvm_suld_3d_i32_trap, // llvm.nvvm.suld.3d.i32.trap + nvvm_suld_3d_i32_zero, // llvm.nvvm.suld.3d.i32.zero + nvvm_suld_3d_i64_clamp, // llvm.nvvm.suld.3d.i64.clamp + nvvm_suld_3d_i64_trap, // llvm.nvvm.suld.3d.i64.trap + nvvm_suld_3d_i64_zero, // llvm.nvvm.suld.3d.i64.zero + nvvm_suld_3d_i8_clamp, // llvm.nvvm.suld.3d.i8.clamp + nvvm_suld_3d_i8_trap, // llvm.nvvm.suld.3d.i8.trap + nvvm_suld_3d_i8_zero, // llvm.nvvm.suld.3d.i8.zero + nvvm_suld_3d_v2i16_clamp, // llvm.nvvm.suld.3d.v2i16.clamp + nvvm_suld_3d_v2i16_trap, // llvm.nvvm.suld.3d.v2i16.trap + nvvm_suld_3d_v2i16_zero, // llvm.nvvm.suld.3d.v2i16.zero + nvvm_suld_3d_v2i32_clamp, // llvm.nvvm.suld.3d.v2i32.clamp + nvvm_suld_3d_v2i32_trap, // llvm.nvvm.suld.3d.v2i32.trap + nvvm_suld_3d_v2i32_zero, // llvm.nvvm.suld.3d.v2i32.zero + nvvm_suld_3d_v2i64_clamp, // llvm.nvvm.suld.3d.v2i64.clamp + nvvm_suld_3d_v2i64_trap, // llvm.nvvm.suld.3d.v2i64.trap + nvvm_suld_3d_v2i64_zero, // llvm.nvvm.suld.3d.v2i64.zero + nvvm_suld_3d_v2i8_clamp, // llvm.nvvm.suld.3d.v2i8.clamp + nvvm_suld_3d_v2i8_trap, // llvm.nvvm.suld.3d.v2i8.trap + nvvm_suld_3d_v2i8_zero, // llvm.nvvm.suld.3d.v2i8.zero + nvvm_suld_3d_v4i16_clamp, // llvm.nvvm.suld.3d.v4i16.clamp + nvvm_suld_3d_v4i16_trap, // llvm.nvvm.suld.3d.v4i16.trap + nvvm_suld_3d_v4i16_zero, // llvm.nvvm.suld.3d.v4i16.zero + nvvm_suld_3d_v4i32_clamp, // llvm.nvvm.suld.3d.v4i32.clamp + nvvm_suld_3d_v4i32_trap, // llvm.nvvm.suld.3d.v4i32.trap + nvvm_suld_3d_v4i32_zero, // llvm.nvvm.suld.3d.v4i32.zero + nvvm_suld_3d_v4i8_clamp, // llvm.nvvm.suld.3d.v4i8.clamp + nvvm_suld_3d_v4i8_trap, // llvm.nvvm.suld.3d.v4i8.trap + nvvm_suld_3d_v4i8_zero, // llvm.nvvm.suld.3d.v4i8.zero + nvvm_suq_array_size, // llvm.nvvm.suq.array.size + nvvm_suq_channel_data_type, // llvm.nvvm.suq.channel.data.type + nvvm_suq_channel_order, // llvm.nvvm.suq.channel.order + nvvm_suq_depth, // llvm.nvvm.suq.depth + nvvm_suq_height, // llvm.nvvm.suq.height + nvvm_suq_width, // llvm.nvvm.suq.width + nvvm_sust_b_1d_array_i16_clamp, // llvm.nvvm.sust.b.1d.array.i16.clamp + nvvm_sust_b_1d_array_i16_trap, // llvm.nvvm.sust.b.1d.array.i16.trap + nvvm_sust_b_1d_array_i16_zero, // llvm.nvvm.sust.b.1d.array.i16.zero + nvvm_sust_b_1d_array_i32_clamp, // llvm.nvvm.sust.b.1d.array.i32.clamp + nvvm_sust_b_1d_array_i32_trap, // llvm.nvvm.sust.b.1d.array.i32.trap + nvvm_sust_b_1d_array_i32_zero, // llvm.nvvm.sust.b.1d.array.i32.zero + nvvm_sust_b_1d_array_i64_clamp, // llvm.nvvm.sust.b.1d.array.i64.clamp + nvvm_sust_b_1d_array_i64_trap, // llvm.nvvm.sust.b.1d.array.i64.trap + nvvm_sust_b_1d_array_i64_zero, // llvm.nvvm.sust.b.1d.array.i64.zero + nvvm_sust_b_1d_array_i8_clamp, // llvm.nvvm.sust.b.1d.array.i8.clamp + nvvm_sust_b_1d_array_i8_trap, // llvm.nvvm.sust.b.1d.array.i8.trap + nvvm_sust_b_1d_array_i8_zero, // llvm.nvvm.sust.b.1d.array.i8.zero + nvvm_sust_b_1d_array_v2i16_clamp, // llvm.nvvm.sust.b.1d.array.v2i16.clamp + nvvm_sust_b_1d_array_v2i16_trap, // llvm.nvvm.sust.b.1d.array.v2i16.trap + nvvm_sust_b_1d_array_v2i16_zero, // llvm.nvvm.sust.b.1d.array.v2i16.zero + nvvm_sust_b_1d_array_v2i32_clamp, // llvm.nvvm.sust.b.1d.array.v2i32.clamp + nvvm_sust_b_1d_array_v2i32_trap, // llvm.nvvm.sust.b.1d.array.v2i32.trap + nvvm_sust_b_1d_array_v2i32_zero, // llvm.nvvm.sust.b.1d.array.v2i32.zero + nvvm_sust_b_1d_array_v2i64_clamp, // llvm.nvvm.sust.b.1d.array.v2i64.clamp + nvvm_sust_b_1d_array_v2i64_trap, // llvm.nvvm.sust.b.1d.array.v2i64.trap + nvvm_sust_b_1d_array_v2i64_zero, // llvm.nvvm.sust.b.1d.array.v2i64.zero + nvvm_sust_b_1d_array_v2i8_clamp, // llvm.nvvm.sust.b.1d.array.v2i8.clamp + nvvm_sust_b_1d_array_v2i8_trap, // llvm.nvvm.sust.b.1d.array.v2i8.trap + nvvm_sust_b_1d_array_v2i8_zero, // llvm.nvvm.sust.b.1d.array.v2i8.zero + nvvm_sust_b_1d_array_v4i16_clamp, // llvm.nvvm.sust.b.1d.array.v4i16.clamp + nvvm_sust_b_1d_array_v4i16_trap, // llvm.nvvm.sust.b.1d.array.v4i16.trap + nvvm_sust_b_1d_array_v4i16_zero, // llvm.nvvm.sust.b.1d.array.v4i16.zero + nvvm_sust_b_1d_array_v4i32_clamp, // llvm.nvvm.sust.b.1d.array.v4i32.clamp + nvvm_sust_b_1d_array_v4i32_trap, // llvm.nvvm.sust.b.1d.array.v4i32.trap + nvvm_sust_b_1d_array_v4i32_zero, // llvm.nvvm.sust.b.1d.array.v4i32.zero + nvvm_sust_b_1d_array_v4i8_clamp, // llvm.nvvm.sust.b.1d.array.v4i8.clamp + nvvm_sust_b_1d_array_v4i8_trap, // llvm.nvvm.sust.b.1d.array.v4i8.trap + nvvm_sust_b_1d_array_v4i8_zero, // llvm.nvvm.sust.b.1d.array.v4i8.zero + nvvm_sust_b_1d_i16_clamp, // llvm.nvvm.sust.b.1d.i16.clamp + nvvm_sust_b_1d_i16_trap, // llvm.nvvm.sust.b.1d.i16.trap + nvvm_sust_b_1d_i16_zero, // llvm.nvvm.sust.b.1d.i16.zero + nvvm_sust_b_1d_i32_clamp, // llvm.nvvm.sust.b.1d.i32.clamp + nvvm_sust_b_1d_i32_trap, // llvm.nvvm.sust.b.1d.i32.trap + nvvm_sust_b_1d_i32_zero, // llvm.nvvm.sust.b.1d.i32.zero + nvvm_sust_b_1d_i64_clamp, // llvm.nvvm.sust.b.1d.i64.clamp + nvvm_sust_b_1d_i64_trap, // llvm.nvvm.sust.b.1d.i64.trap + nvvm_sust_b_1d_i64_zero, // llvm.nvvm.sust.b.1d.i64.zero + nvvm_sust_b_1d_i8_clamp, // llvm.nvvm.sust.b.1d.i8.clamp + nvvm_sust_b_1d_i8_trap, // llvm.nvvm.sust.b.1d.i8.trap + nvvm_sust_b_1d_i8_zero, // llvm.nvvm.sust.b.1d.i8.zero + nvvm_sust_b_1d_v2i16_clamp, // llvm.nvvm.sust.b.1d.v2i16.clamp + nvvm_sust_b_1d_v2i16_trap, // llvm.nvvm.sust.b.1d.v2i16.trap + nvvm_sust_b_1d_v2i16_zero, // llvm.nvvm.sust.b.1d.v2i16.zero + nvvm_sust_b_1d_v2i32_clamp, // llvm.nvvm.sust.b.1d.v2i32.clamp + nvvm_sust_b_1d_v2i32_trap, // llvm.nvvm.sust.b.1d.v2i32.trap + nvvm_sust_b_1d_v2i32_zero, // llvm.nvvm.sust.b.1d.v2i32.zero + nvvm_sust_b_1d_v2i64_clamp, // llvm.nvvm.sust.b.1d.v2i64.clamp + nvvm_sust_b_1d_v2i64_trap, // llvm.nvvm.sust.b.1d.v2i64.trap + nvvm_sust_b_1d_v2i64_zero, // llvm.nvvm.sust.b.1d.v2i64.zero + nvvm_sust_b_1d_v2i8_clamp, // llvm.nvvm.sust.b.1d.v2i8.clamp + nvvm_sust_b_1d_v2i8_trap, // llvm.nvvm.sust.b.1d.v2i8.trap + nvvm_sust_b_1d_v2i8_zero, // llvm.nvvm.sust.b.1d.v2i8.zero + nvvm_sust_b_1d_v4i16_clamp, // llvm.nvvm.sust.b.1d.v4i16.clamp + nvvm_sust_b_1d_v4i16_trap, // llvm.nvvm.sust.b.1d.v4i16.trap + nvvm_sust_b_1d_v4i16_zero, // llvm.nvvm.sust.b.1d.v4i16.zero + nvvm_sust_b_1d_v4i32_clamp, // llvm.nvvm.sust.b.1d.v4i32.clamp + nvvm_sust_b_1d_v4i32_trap, // llvm.nvvm.sust.b.1d.v4i32.trap + nvvm_sust_b_1d_v4i32_zero, // llvm.nvvm.sust.b.1d.v4i32.zero + nvvm_sust_b_1d_v4i8_clamp, // llvm.nvvm.sust.b.1d.v4i8.clamp + nvvm_sust_b_1d_v4i8_trap, // llvm.nvvm.sust.b.1d.v4i8.trap + nvvm_sust_b_1d_v4i8_zero, // llvm.nvvm.sust.b.1d.v4i8.zero + nvvm_sust_b_2d_array_i16_clamp, // llvm.nvvm.sust.b.2d.array.i16.clamp + nvvm_sust_b_2d_array_i16_trap, // llvm.nvvm.sust.b.2d.array.i16.trap + nvvm_sust_b_2d_array_i16_zero, // llvm.nvvm.sust.b.2d.array.i16.zero + nvvm_sust_b_2d_array_i32_clamp, // llvm.nvvm.sust.b.2d.array.i32.clamp + nvvm_sust_b_2d_array_i32_trap, // llvm.nvvm.sust.b.2d.array.i32.trap + nvvm_sust_b_2d_array_i32_zero, // llvm.nvvm.sust.b.2d.array.i32.zero + nvvm_sust_b_2d_array_i64_clamp, // llvm.nvvm.sust.b.2d.array.i64.clamp + nvvm_sust_b_2d_array_i64_trap, // llvm.nvvm.sust.b.2d.array.i64.trap + nvvm_sust_b_2d_array_i64_zero, // llvm.nvvm.sust.b.2d.array.i64.zero + nvvm_sust_b_2d_array_i8_clamp, // llvm.nvvm.sust.b.2d.array.i8.clamp + nvvm_sust_b_2d_array_i8_trap, // llvm.nvvm.sust.b.2d.array.i8.trap + nvvm_sust_b_2d_array_i8_zero, // llvm.nvvm.sust.b.2d.array.i8.zero + nvvm_sust_b_2d_array_v2i16_clamp, // llvm.nvvm.sust.b.2d.array.v2i16.clamp + nvvm_sust_b_2d_array_v2i16_trap, // llvm.nvvm.sust.b.2d.array.v2i16.trap + nvvm_sust_b_2d_array_v2i16_zero, // llvm.nvvm.sust.b.2d.array.v2i16.zero + nvvm_sust_b_2d_array_v2i32_clamp, // llvm.nvvm.sust.b.2d.array.v2i32.clamp + nvvm_sust_b_2d_array_v2i32_trap, // llvm.nvvm.sust.b.2d.array.v2i32.trap + nvvm_sust_b_2d_array_v2i32_zero, // llvm.nvvm.sust.b.2d.array.v2i32.zero + nvvm_sust_b_2d_array_v2i64_clamp, // llvm.nvvm.sust.b.2d.array.v2i64.clamp + nvvm_sust_b_2d_array_v2i64_trap, // llvm.nvvm.sust.b.2d.array.v2i64.trap + nvvm_sust_b_2d_array_v2i64_zero, // llvm.nvvm.sust.b.2d.array.v2i64.zero + nvvm_sust_b_2d_array_v2i8_clamp, // llvm.nvvm.sust.b.2d.array.v2i8.clamp + nvvm_sust_b_2d_array_v2i8_trap, // llvm.nvvm.sust.b.2d.array.v2i8.trap + nvvm_sust_b_2d_array_v2i8_zero, // llvm.nvvm.sust.b.2d.array.v2i8.zero + nvvm_sust_b_2d_array_v4i16_clamp, // llvm.nvvm.sust.b.2d.array.v4i16.clamp + nvvm_sust_b_2d_array_v4i16_trap, // llvm.nvvm.sust.b.2d.array.v4i16.trap + nvvm_sust_b_2d_array_v4i16_zero, // llvm.nvvm.sust.b.2d.array.v4i16.zero + nvvm_sust_b_2d_array_v4i32_clamp, // llvm.nvvm.sust.b.2d.array.v4i32.clamp + nvvm_sust_b_2d_array_v4i32_trap, // llvm.nvvm.sust.b.2d.array.v4i32.trap + nvvm_sust_b_2d_array_v4i32_zero, // llvm.nvvm.sust.b.2d.array.v4i32.zero + nvvm_sust_b_2d_array_v4i8_clamp, // llvm.nvvm.sust.b.2d.array.v4i8.clamp + nvvm_sust_b_2d_array_v4i8_trap, // llvm.nvvm.sust.b.2d.array.v4i8.trap + nvvm_sust_b_2d_array_v4i8_zero, // llvm.nvvm.sust.b.2d.array.v4i8.zero + nvvm_sust_b_2d_i16_clamp, // llvm.nvvm.sust.b.2d.i16.clamp + nvvm_sust_b_2d_i16_trap, // llvm.nvvm.sust.b.2d.i16.trap + nvvm_sust_b_2d_i16_zero, // llvm.nvvm.sust.b.2d.i16.zero + nvvm_sust_b_2d_i32_clamp, // llvm.nvvm.sust.b.2d.i32.clamp + nvvm_sust_b_2d_i32_trap, // llvm.nvvm.sust.b.2d.i32.trap + nvvm_sust_b_2d_i32_zero, // llvm.nvvm.sust.b.2d.i32.zero + nvvm_sust_b_2d_i64_clamp, // llvm.nvvm.sust.b.2d.i64.clamp + nvvm_sust_b_2d_i64_trap, // llvm.nvvm.sust.b.2d.i64.trap + nvvm_sust_b_2d_i64_zero, // llvm.nvvm.sust.b.2d.i64.zero + nvvm_sust_b_2d_i8_clamp, // llvm.nvvm.sust.b.2d.i8.clamp + nvvm_sust_b_2d_i8_trap, // llvm.nvvm.sust.b.2d.i8.trap + nvvm_sust_b_2d_i8_zero, // llvm.nvvm.sust.b.2d.i8.zero + nvvm_sust_b_2d_v2i16_clamp, // llvm.nvvm.sust.b.2d.v2i16.clamp + nvvm_sust_b_2d_v2i16_trap, // llvm.nvvm.sust.b.2d.v2i16.trap + nvvm_sust_b_2d_v2i16_zero, // llvm.nvvm.sust.b.2d.v2i16.zero + nvvm_sust_b_2d_v2i32_clamp, // llvm.nvvm.sust.b.2d.v2i32.clamp + nvvm_sust_b_2d_v2i32_trap, // llvm.nvvm.sust.b.2d.v2i32.trap + nvvm_sust_b_2d_v2i32_zero, // llvm.nvvm.sust.b.2d.v2i32.zero + nvvm_sust_b_2d_v2i64_clamp, // llvm.nvvm.sust.b.2d.v2i64.clamp + nvvm_sust_b_2d_v2i64_trap, // llvm.nvvm.sust.b.2d.v2i64.trap + nvvm_sust_b_2d_v2i64_zero, // llvm.nvvm.sust.b.2d.v2i64.zero + nvvm_sust_b_2d_v2i8_clamp, // llvm.nvvm.sust.b.2d.v2i8.clamp + nvvm_sust_b_2d_v2i8_trap, // llvm.nvvm.sust.b.2d.v2i8.trap + nvvm_sust_b_2d_v2i8_zero, // llvm.nvvm.sust.b.2d.v2i8.zero + nvvm_sust_b_2d_v4i16_clamp, // llvm.nvvm.sust.b.2d.v4i16.clamp + nvvm_sust_b_2d_v4i16_trap, // llvm.nvvm.sust.b.2d.v4i16.trap + nvvm_sust_b_2d_v4i16_zero, // llvm.nvvm.sust.b.2d.v4i16.zero + nvvm_sust_b_2d_v4i32_clamp, // llvm.nvvm.sust.b.2d.v4i32.clamp + nvvm_sust_b_2d_v4i32_trap, // llvm.nvvm.sust.b.2d.v4i32.trap + nvvm_sust_b_2d_v4i32_zero, // llvm.nvvm.sust.b.2d.v4i32.zero + nvvm_sust_b_2d_v4i8_clamp, // llvm.nvvm.sust.b.2d.v4i8.clamp + nvvm_sust_b_2d_v4i8_trap, // llvm.nvvm.sust.b.2d.v4i8.trap + nvvm_sust_b_2d_v4i8_zero, // llvm.nvvm.sust.b.2d.v4i8.zero + nvvm_sust_b_3d_i16_clamp, // llvm.nvvm.sust.b.3d.i16.clamp + nvvm_sust_b_3d_i16_trap, // llvm.nvvm.sust.b.3d.i16.trap + nvvm_sust_b_3d_i16_zero, // llvm.nvvm.sust.b.3d.i16.zero + nvvm_sust_b_3d_i32_clamp, // llvm.nvvm.sust.b.3d.i32.clamp + nvvm_sust_b_3d_i32_trap, // llvm.nvvm.sust.b.3d.i32.trap + nvvm_sust_b_3d_i32_zero, // llvm.nvvm.sust.b.3d.i32.zero + nvvm_sust_b_3d_i64_clamp, // llvm.nvvm.sust.b.3d.i64.clamp + nvvm_sust_b_3d_i64_trap, // llvm.nvvm.sust.b.3d.i64.trap + nvvm_sust_b_3d_i64_zero, // llvm.nvvm.sust.b.3d.i64.zero + nvvm_sust_b_3d_i8_clamp, // llvm.nvvm.sust.b.3d.i8.clamp + nvvm_sust_b_3d_i8_trap, // llvm.nvvm.sust.b.3d.i8.trap + nvvm_sust_b_3d_i8_zero, // llvm.nvvm.sust.b.3d.i8.zero + nvvm_sust_b_3d_v2i16_clamp, // llvm.nvvm.sust.b.3d.v2i16.clamp + nvvm_sust_b_3d_v2i16_trap, // llvm.nvvm.sust.b.3d.v2i16.trap + nvvm_sust_b_3d_v2i16_zero, // llvm.nvvm.sust.b.3d.v2i16.zero + nvvm_sust_b_3d_v2i32_clamp, // llvm.nvvm.sust.b.3d.v2i32.clamp + nvvm_sust_b_3d_v2i32_trap, // llvm.nvvm.sust.b.3d.v2i32.trap + nvvm_sust_b_3d_v2i32_zero, // llvm.nvvm.sust.b.3d.v2i32.zero + nvvm_sust_b_3d_v2i64_clamp, // llvm.nvvm.sust.b.3d.v2i64.clamp + nvvm_sust_b_3d_v2i64_trap, // llvm.nvvm.sust.b.3d.v2i64.trap + nvvm_sust_b_3d_v2i64_zero, // llvm.nvvm.sust.b.3d.v2i64.zero + nvvm_sust_b_3d_v2i8_clamp, // llvm.nvvm.sust.b.3d.v2i8.clamp + nvvm_sust_b_3d_v2i8_trap, // llvm.nvvm.sust.b.3d.v2i8.trap + nvvm_sust_b_3d_v2i8_zero, // llvm.nvvm.sust.b.3d.v2i8.zero + nvvm_sust_b_3d_v4i16_clamp, // llvm.nvvm.sust.b.3d.v4i16.clamp + nvvm_sust_b_3d_v4i16_trap, // llvm.nvvm.sust.b.3d.v4i16.trap + nvvm_sust_b_3d_v4i16_zero, // llvm.nvvm.sust.b.3d.v4i16.zero + nvvm_sust_b_3d_v4i32_clamp, // llvm.nvvm.sust.b.3d.v4i32.clamp + nvvm_sust_b_3d_v4i32_trap, // llvm.nvvm.sust.b.3d.v4i32.trap + nvvm_sust_b_3d_v4i32_zero, // llvm.nvvm.sust.b.3d.v4i32.zero + nvvm_sust_b_3d_v4i8_clamp, // llvm.nvvm.sust.b.3d.v4i8.clamp + nvvm_sust_b_3d_v4i8_trap, // llvm.nvvm.sust.b.3d.v4i8.trap + nvvm_sust_b_3d_v4i8_zero, // llvm.nvvm.sust.b.3d.v4i8.zero + nvvm_sust_p_1d_array_i16_trap, // llvm.nvvm.sust.p.1d.array.i16.trap + nvvm_sust_p_1d_array_i32_trap, // llvm.nvvm.sust.p.1d.array.i32.trap + nvvm_sust_p_1d_array_i8_trap, // llvm.nvvm.sust.p.1d.array.i8.trap + nvvm_sust_p_1d_array_v2i16_trap, // llvm.nvvm.sust.p.1d.array.v2i16.trap + nvvm_sust_p_1d_array_v2i32_trap, // llvm.nvvm.sust.p.1d.array.v2i32.trap + nvvm_sust_p_1d_array_v2i8_trap, // llvm.nvvm.sust.p.1d.array.v2i8.trap + nvvm_sust_p_1d_array_v4i16_trap, // llvm.nvvm.sust.p.1d.array.v4i16.trap + nvvm_sust_p_1d_array_v4i32_trap, // llvm.nvvm.sust.p.1d.array.v4i32.trap + nvvm_sust_p_1d_array_v4i8_trap, // llvm.nvvm.sust.p.1d.array.v4i8.trap + nvvm_sust_p_1d_i16_trap, // llvm.nvvm.sust.p.1d.i16.trap + nvvm_sust_p_1d_i32_trap, // llvm.nvvm.sust.p.1d.i32.trap + nvvm_sust_p_1d_i8_trap, // llvm.nvvm.sust.p.1d.i8.trap + nvvm_sust_p_1d_v2i16_trap, // llvm.nvvm.sust.p.1d.v2i16.trap + nvvm_sust_p_1d_v2i32_trap, // llvm.nvvm.sust.p.1d.v2i32.trap + nvvm_sust_p_1d_v2i8_trap, // llvm.nvvm.sust.p.1d.v2i8.trap + nvvm_sust_p_1d_v4i16_trap, // llvm.nvvm.sust.p.1d.v4i16.trap + nvvm_sust_p_1d_v4i32_trap, // llvm.nvvm.sust.p.1d.v4i32.trap + nvvm_sust_p_1d_v4i8_trap, // llvm.nvvm.sust.p.1d.v4i8.trap + nvvm_sust_p_2d_array_i16_trap, // llvm.nvvm.sust.p.2d.array.i16.trap + nvvm_sust_p_2d_array_i32_trap, // llvm.nvvm.sust.p.2d.array.i32.trap + nvvm_sust_p_2d_array_i8_trap, // llvm.nvvm.sust.p.2d.array.i8.trap + nvvm_sust_p_2d_array_v2i16_trap, // llvm.nvvm.sust.p.2d.array.v2i16.trap + nvvm_sust_p_2d_array_v2i32_trap, // llvm.nvvm.sust.p.2d.array.v2i32.trap + nvvm_sust_p_2d_array_v2i8_trap, // llvm.nvvm.sust.p.2d.array.v2i8.trap + nvvm_sust_p_2d_array_v4i16_trap, // llvm.nvvm.sust.p.2d.array.v4i16.trap + nvvm_sust_p_2d_array_v4i32_trap, // llvm.nvvm.sust.p.2d.array.v4i32.trap + nvvm_sust_p_2d_array_v4i8_trap, // llvm.nvvm.sust.p.2d.array.v4i8.trap + nvvm_sust_p_2d_i16_trap, // llvm.nvvm.sust.p.2d.i16.trap + nvvm_sust_p_2d_i32_trap, // llvm.nvvm.sust.p.2d.i32.trap + nvvm_sust_p_2d_i8_trap, // llvm.nvvm.sust.p.2d.i8.trap + nvvm_sust_p_2d_v2i16_trap, // llvm.nvvm.sust.p.2d.v2i16.trap + nvvm_sust_p_2d_v2i32_trap, // llvm.nvvm.sust.p.2d.v2i32.trap + nvvm_sust_p_2d_v2i8_trap, // llvm.nvvm.sust.p.2d.v2i8.trap + nvvm_sust_p_2d_v4i16_trap, // llvm.nvvm.sust.p.2d.v4i16.trap + nvvm_sust_p_2d_v4i32_trap, // llvm.nvvm.sust.p.2d.v4i32.trap + nvvm_sust_p_2d_v4i8_trap, // llvm.nvvm.sust.p.2d.v4i8.trap + nvvm_sust_p_3d_i16_trap, // llvm.nvvm.sust.p.3d.i16.trap + nvvm_sust_p_3d_i32_trap, // llvm.nvvm.sust.p.3d.i32.trap + nvvm_sust_p_3d_i8_trap, // llvm.nvvm.sust.p.3d.i8.trap + nvvm_sust_p_3d_v2i16_trap, // llvm.nvvm.sust.p.3d.v2i16.trap + nvvm_sust_p_3d_v2i32_trap, // llvm.nvvm.sust.p.3d.v2i32.trap + nvvm_sust_p_3d_v2i8_trap, // llvm.nvvm.sust.p.3d.v2i8.trap + nvvm_sust_p_3d_v4i16_trap, // llvm.nvvm.sust.p.3d.v4i16.trap + nvvm_sust_p_3d_v4i32_trap, // llvm.nvvm.sust.p.3d.v4i32.trap + nvvm_sust_p_3d_v4i8_trap, // llvm.nvvm.sust.p.3d.v4i8.trap + nvvm_swap_lo_hi_b64, // llvm.nvvm.swap.lo.hi.b64 + nvvm_tex_1d_array_grad_v4f32_f32, // llvm.nvvm.tex.1d.array.grad.v4f32.f32 + nvvm_tex_1d_array_grad_v4s32_f32, // llvm.nvvm.tex.1d.array.grad.v4s32.f32 + nvvm_tex_1d_array_grad_v4u32_f32, // llvm.nvvm.tex.1d.array.grad.v4u32.f32 + nvvm_tex_1d_array_level_v4f32_f32, // llvm.nvvm.tex.1d.array.level.v4f32.f32 + nvvm_tex_1d_array_level_v4s32_f32, // llvm.nvvm.tex.1d.array.level.v4s32.f32 + nvvm_tex_1d_array_level_v4u32_f32, // llvm.nvvm.tex.1d.array.level.v4u32.f32 + nvvm_tex_1d_array_v4f32_f32, // llvm.nvvm.tex.1d.array.v4f32.f32 + nvvm_tex_1d_array_v4f32_s32, // llvm.nvvm.tex.1d.array.v4f32.s32 + nvvm_tex_1d_array_v4s32_f32, // llvm.nvvm.tex.1d.array.v4s32.f32 + nvvm_tex_1d_array_v4s32_s32, // llvm.nvvm.tex.1d.array.v4s32.s32 + nvvm_tex_1d_array_v4u32_f32, // llvm.nvvm.tex.1d.array.v4u32.f32 + nvvm_tex_1d_array_v4u32_s32, // llvm.nvvm.tex.1d.array.v4u32.s32 + nvvm_tex_1d_grad_v4f32_f32, // llvm.nvvm.tex.1d.grad.v4f32.f32 + nvvm_tex_1d_grad_v4s32_f32, // llvm.nvvm.tex.1d.grad.v4s32.f32 + nvvm_tex_1d_grad_v4u32_f32, // llvm.nvvm.tex.1d.grad.v4u32.f32 + nvvm_tex_1d_level_v4f32_f32, // llvm.nvvm.tex.1d.level.v4f32.f32 + nvvm_tex_1d_level_v4s32_f32, // llvm.nvvm.tex.1d.level.v4s32.f32 + nvvm_tex_1d_level_v4u32_f32, // llvm.nvvm.tex.1d.level.v4u32.f32 + nvvm_tex_1d_v4f32_f32, // llvm.nvvm.tex.1d.v4f32.f32 + nvvm_tex_1d_v4f32_s32, // llvm.nvvm.tex.1d.v4f32.s32 + nvvm_tex_1d_v4s32_f32, // llvm.nvvm.tex.1d.v4s32.f32 + nvvm_tex_1d_v4s32_s32, // llvm.nvvm.tex.1d.v4s32.s32 + nvvm_tex_1d_v4u32_f32, // llvm.nvvm.tex.1d.v4u32.f32 + nvvm_tex_1d_v4u32_s32, // llvm.nvvm.tex.1d.v4u32.s32 + nvvm_tex_2d_array_grad_v4f32_f32, // llvm.nvvm.tex.2d.array.grad.v4f32.f32 + nvvm_tex_2d_array_grad_v4s32_f32, // llvm.nvvm.tex.2d.array.grad.v4s32.f32 + nvvm_tex_2d_array_grad_v4u32_f32, // llvm.nvvm.tex.2d.array.grad.v4u32.f32 + nvvm_tex_2d_array_level_v4f32_f32, // llvm.nvvm.tex.2d.array.level.v4f32.f32 + nvvm_tex_2d_array_level_v4s32_f32, // llvm.nvvm.tex.2d.array.level.v4s32.f32 + nvvm_tex_2d_array_level_v4u32_f32, // llvm.nvvm.tex.2d.array.level.v4u32.f32 + nvvm_tex_2d_array_v4f32_f32, // llvm.nvvm.tex.2d.array.v4f32.f32 + nvvm_tex_2d_array_v4f32_s32, // llvm.nvvm.tex.2d.array.v4f32.s32 + nvvm_tex_2d_array_v4s32_f32, // llvm.nvvm.tex.2d.array.v4s32.f32 + nvvm_tex_2d_array_v4s32_s32, // llvm.nvvm.tex.2d.array.v4s32.s32 + nvvm_tex_2d_array_v4u32_f32, // llvm.nvvm.tex.2d.array.v4u32.f32 + nvvm_tex_2d_array_v4u32_s32, // llvm.nvvm.tex.2d.array.v4u32.s32 + nvvm_tex_2d_grad_v4f32_f32, // llvm.nvvm.tex.2d.grad.v4f32.f32 + nvvm_tex_2d_grad_v4s32_f32, // llvm.nvvm.tex.2d.grad.v4s32.f32 + nvvm_tex_2d_grad_v4u32_f32, // llvm.nvvm.tex.2d.grad.v4u32.f32 + nvvm_tex_2d_level_v4f32_f32, // llvm.nvvm.tex.2d.level.v4f32.f32 + nvvm_tex_2d_level_v4s32_f32, // llvm.nvvm.tex.2d.level.v4s32.f32 + nvvm_tex_2d_level_v4u32_f32, // llvm.nvvm.tex.2d.level.v4u32.f32 + nvvm_tex_2d_v4f32_f32, // llvm.nvvm.tex.2d.v4f32.f32 + nvvm_tex_2d_v4f32_s32, // llvm.nvvm.tex.2d.v4f32.s32 + nvvm_tex_2d_v4s32_f32, // llvm.nvvm.tex.2d.v4s32.f32 + nvvm_tex_2d_v4s32_s32, // llvm.nvvm.tex.2d.v4s32.s32 + nvvm_tex_2d_v4u32_f32, // llvm.nvvm.tex.2d.v4u32.f32 + nvvm_tex_2d_v4u32_s32, // llvm.nvvm.tex.2d.v4u32.s32 + nvvm_tex_3d_grad_v4f32_f32, // llvm.nvvm.tex.3d.grad.v4f32.f32 + nvvm_tex_3d_grad_v4s32_f32, // llvm.nvvm.tex.3d.grad.v4s32.f32 + nvvm_tex_3d_grad_v4u32_f32, // llvm.nvvm.tex.3d.grad.v4u32.f32 + nvvm_tex_3d_level_v4f32_f32, // llvm.nvvm.tex.3d.level.v4f32.f32 + nvvm_tex_3d_level_v4s32_f32, // llvm.nvvm.tex.3d.level.v4s32.f32 + nvvm_tex_3d_level_v4u32_f32, // llvm.nvvm.tex.3d.level.v4u32.f32 + nvvm_tex_3d_v4f32_f32, // llvm.nvvm.tex.3d.v4f32.f32 + nvvm_tex_3d_v4f32_s32, // llvm.nvvm.tex.3d.v4f32.s32 + nvvm_tex_3d_v4s32_f32, // llvm.nvvm.tex.3d.v4s32.f32 + nvvm_tex_3d_v4s32_s32, // llvm.nvvm.tex.3d.v4s32.s32 + nvvm_tex_3d_v4u32_f32, // llvm.nvvm.tex.3d.v4u32.f32 + nvvm_tex_3d_v4u32_s32, // llvm.nvvm.tex.3d.v4u32.s32 + nvvm_tex_cube_array_level_v4f32_f32, // llvm.nvvm.tex.cube.array.level.v4f32.f32 + nvvm_tex_cube_array_level_v4s32_f32, // llvm.nvvm.tex.cube.array.level.v4s32.f32 + nvvm_tex_cube_array_level_v4u32_f32, // llvm.nvvm.tex.cube.array.level.v4u32.f32 + nvvm_tex_cube_array_v4f32_f32, // llvm.nvvm.tex.cube.array.v4f32.f32 + nvvm_tex_cube_array_v4s32_f32, // llvm.nvvm.tex.cube.array.v4s32.f32 + nvvm_tex_cube_array_v4u32_f32, // llvm.nvvm.tex.cube.array.v4u32.f32 + nvvm_tex_cube_level_v4f32_f32, // llvm.nvvm.tex.cube.level.v4f32.f32 + nvvm_tex_cube_level_v4s32_f32, // llvm.nvvm.tex.cube.level.v4s32.f32 + nvvm_tex_cube_level_v4u32_f32, // llvm.nvvm.tex.cube.level.v4u32.f32 + nvvm_tex_cube_v4f32_f32, // llvm.nvvm.tex.cube.v4f32.f32 + nvvm_tex_cube_v4s32_f32, // llvm.nvvm.tex.cube.v4s32.f32 + nvvm_tex_cube_v4u32_f32, // llvm.nvvm.tex.cube.v4u32.f32 + nvvm_tex_unified_1d_array_grad_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32 + nvvm_tex_unified_1d_array_grad_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32 + nvvm_tex_unified_1d_array_grad_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32 + nvvm_tex_unified_1d_array_level_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4f32.f32 + nvvm_tex_unified_1d_array_level_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4s32.f32 + nvvm_tex_unified_1d_array_level_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4u32.f32 + nvvm_tex_unified_1d_array_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.v4f32.f32 + nvvm_tex_unified_1d_array_v4f32_s32, // llvm.nvvm.tex.unified.1d.array.v4f32.s32 + nvvm_tex_unified_1d_array_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.v4s32.f32 + nvvm_tex_unified_1d_array_v4s32_s32, // llvm.nvvm.tex.unified.1d.array.v4s32.s32 + nvvm_tex_unified_1d_array_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.v4u32.f32 + nvvm_tex_unified_1d_array_v4u32_s32, // llvm.nvvm.tex.unified.1d.array.v4u32.s32 + nvvm_tex_unified_1d_grad_v4f32_f32, // llvm.nvvm.tex.unified.1d.grad.v4f32.f32 + nvvm_tex_unified_1d_grad_v4s32_f32, // llvm.nvvm.tex.unified.1d.grad.v4s32.f32 + nvvm_tex_unified_1d_grad_v4u32_f32, // llvm.nvvm.tex.unified.1d.grad.v4u32.f32 + nvvm_tex_unified_1d_level_v4f32_f32, // llvm.nvvm.tex.unified.1d.level.v4f32.f32 + nvvm_tex_unified_1d_level_v4s32_f32, // llvm.nvvm.tex.unified.1d.level.v4s32.f32 + nvvm_tex_unified_1d_level_v4u32_f32, // llvm.nvvm.tex.unified.1d.level.v4u32.f32 + nvvm_tex_unified_1d_v4f32_f32, // llvm.nvvm.tex.unified.1d.v4f32.f32 + nvvm_tex_unified_1d_v4f32_s32, // llvm.nvvm.tex.unified.1d.v4f32.s32 + nvvm_tex_unified_1d_v4s32_f32, // llvm.nvvm.tex.unified.1d.v4s32.f32 + nvvm_tex_unified_1d_v4s32_s32, // llvm.nvvm.tex.unified.1d.v4s32.s32 + nvvm_tex_unified_1d_v4u32_f32, // llvm.nvvm.tex.unified.1d.v4u32.f32 + nvvm_tex_unified_1d_v4u32_s32, // llvm.nvvm.tex.unified.1d.v4u32.s32 + nvvm_tex_unified_2d_array_grad_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32 + nvvm_tex_unified_2d_array_grad_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32 + nvvm_tex_unified_2d_array_grad_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32 + nvvm_tex_unified_2d_array_level_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4f32.f32 + nvvm_tex_unified_2d_array_level_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4s32.f32 + nvvm_tex_unified_2d_array_level_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4u32.f32 + nvvm_tex_unified_2d_array_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.v4f32.f32 + nvvm_tex_unified_2d_array_v4f32_s32, // llvm.nvvm.tex.unified.2d.array.v4f32.s32 + nvvm_tex_unified_2d_array_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.v4s32.f32 + nvvm_tex_unified_2d_array_v4s32_s32, // llvm.nvvm.tex.unified.2d.array.v4s32.s32 + nvvm_tex_unified_2d_array_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.v4u32.f32 + nvvm_tex_unified_2d_array_v4u32_s32, // llvm.nvvm.tex.unified.2d.array.v4u32.s32 + nvvm_tex_unified_2d_grad_v4f32_f32, // llvm.nvvm.tex.unified.2d.grad.v4f32.f32 + nvvm_tex_unified_2d_grad_v4s32_f32, // llvm.nvvm.tex.unified.2d.grad.v4s32.f32 + nvvm_tex_unified_2d_grad_v4u32_f32, // llvm.nvvm.tex.unified.2d.grad.v4u32.f32 + nvvm_tex_unified_2d_level_v4f32_f32, // llvm.nvvm.tex.unified.2d.level.v4f32.f32 + nvvm_tex_unified_2d_level_v4s32_f32, // llvm.nvvm.tex.unified.2d.level.v4s32.f32 + nvvm_tex_unified_2d_level_v4u32_f32, // llvm.nvvm.tex.unified.2d.level.v4u32.f32 + nvvm_tex_unified_2d_v4f32_f32, // llvm.nvvm.tex.unified.2d.v4f32.f32 + nvvm_tex_unified_2d_v4f32_s32, // llvm.nvvm.tex.unified.2d.v4f32.s32 + nvvm_tex_unified_2d_v4s32_f32, // llvm.nvvm.tex.unified.2d.v4s32.f32 + nvvm_tex_unified_2d_v4s32_s32, // llvm.nvvm.tex.unified.2d.v4s32.s32 + nvvm_tex_unified_2d_v4u32_f32, // llvm.nvvm.tex.unified.2d.v4u32.f32 + nvvm_tex_unified_2d_v4u32_s32, // llvm.nvvm.tex.unified.2d.v4u32.s32 + nvvm_tex_unified_3d_grad_v4f32_f32, // llvm.nvvm.tex.unified.3d.grad.v4f32.f32 + nvvm_tex_unified_3d_grad_v4s32_f32, // llvm.nvvm.tex.unified.3d.grad.v4s32.f32 + nvvm_tex_unified_3d_grad_v4u32_f32, // llvm.nvvm.tex.unified.3d.grad.v4u32.f32 + nvvm_tex_unified_3d_level_v4f32_f32, // llvm.nvvm.tex.unified.3d.level.v4f32.f32 + nvvm_tex_unified_3d_level_v4s32_f32, // llvm.nvvm.tex.unified.3d.level.v4s32.f32 + nvvm_tex_unified_3d_level_v4u32_f32, // llvm.nvvm.tex.unified.3d.level.v4u32.f32 + nvvm_tex_unified_3d_v4f32_f32, // llvm.nvvm.tex.unified.3d.v4f32.f32 + nvvm_tex_unified_3d_v4f32_s32, // llvm.nvvm.tex.unified.3d.v4f32.s32 + nvvm_tex_unified_3d_v4s32_f32, // llvm.nvvm.tex.unified.3d.v4s32.f32 + nvvm_tex_unified_3d_v4s32_s32, // llvm.nvvm.tex.unified.3d.v4s32.s32 + nvvm_tex_unified_3d_v4u32_f32, // llvm.nvvm.tex.unified.3d.v4u32.f32 + nvvm_tex_unified_3d_v4u32_s32, // llvm.nvvm.tex.unified.3d.v4u32.s32 + nvvm_tex_unified_cube_array_level_v4f32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4f32.f32 + nvvm_tex_unified_cube_array_level_v4s32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4s32.f32 + nvvm_tex_unified_cube_array_level_v4u32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4u32.f32 + nvvm_tex_unified_cube_array_v4f32_f32, // llvm.nvvm.tex.unified.cube.array.v4f32.f32 + nvvm_tex_unified_cube_array_v4s32_f32, // llvm.nvvm.tex.unified.cube.array.v4s32.f32 + nvvm_tex_unified_cube_array_v4u32_f32, // llvm.nvvm.tex.unified.cube.array.v4u32.f32 + nvvm_tex_unified_cube_level_v4f32_f32, // llvm.nvvm.tex.unified.cube.level.v4f32.f32 + nvvm_tex_unified_cube_level_v4s32_f32, // llvm.nvvm.tex.unified.cube.level.v4s32.f32 + nvvm_tex_unified_cube_level_v4u32_f32, // llvm.nvvm.tex.unified.cube.level.v4u32.f32 + nvvm_tex_unified_cube_v4f32_f32, // llvm.nvvm.tex.unified.cube.v4f32.f32 + nvvm_tex_unified_cube_v4s32_f32, // llvm.nvvm.tex.unified.cube.v4s32.f32 + nvvm_tex_unified_cube_v4u32_f32, // llvm.nvvm.tex.unified.cube.v4u32.f32 + nvvm_texsurf_handle, // llvm.nvvm.texsurf.handle + nvvm_texsurf_handle_internal, // llvm.nvvm.texsurf.handle.internal + nvvm_tld4_a_2d_v4f32_f32, // llvm.nvvm.tld4.a.2d.v4f32.f32 + nvvm_tld4_a_2d_v4s32_f32, // llvm.nvvm.tld4.a.2d.v4s32.f32 + nvvm_tld4_a_2d_v4u32_f32, // llvm.nvvm.tld4.a.2d.v4u32.f32 + nvvm_tld4_b_2d_v4f32_f32, // llvm.nvvm.tld4.b.2d.v4f32.f32 + nvvm_tld4_b_2d_v4s32_f32, // llvm.nvvm.tld4.b.2d.v4s32.f32 + nvvm_tld4_b_2d_v4u32_f32, // llvm.nvvm.tld4.b.2d.v4u32.f32 + nvvm_tld4_g_2d_v4f32_f32, // llvm.nvvm.tld4.g.2d.v4f32.f32 + nvvm_tld4_g_2d_v4s32_f32, // llvm.nvvm.tld4.g.2d.v4s32.f32 + nvvm_tld4_g_2d_v4u32_f32, // llvm.nvvm.tld4.g.2d.v4u32.f32 + nvvm_tld4_r_2d_v4f32_f32, // llvm.nvvm.tld4.r.2d.v4f32.f32 + nvvm_tld4_r_2d_v4s32_f32, // llvm.nvvm.tld4.r.2d.v4s32.f32 + nvvm_tld4_r_2d_v4u32_f32, // llvm.nvvm.tld4.r.2d.v4u32.f32 + nvvm_tld4_unified_a_2d_v4f32_f32, // llvm.nvvm.tld4.unified.a.2d.v4f32.f32 + nvvm_tld4_unified_a_2d_v4s32_f32, // llvm.nvvm.tld4.unified.a.2d.v4s32.f32 + nvvm_tld4_unified_a_2d_v4u32_f32, // llvm.nvvm.tld4.unified.a.2d.v4u32.f32 + nvvm_tld4_unified_b_2d_v4f32_f32, // llvm.nvvm.tld4.unified.b.2d.v4f32.f32 + nvvm_tld4_unified_b_2d_v4s32_f32, // llvm.nvvm.tld4.unified.b.2d.v4s32.f32 + nvvm_tld4_unified_b_2d_v4u32_f32, // llvm.nvvm.tld4.unified.b.2d.v4u32.f32 + nvvm_tld4_unified_g_2d_v4f32_f32, // llvm.nvvm.tld4.unified.g.2d.v4f32.f32 + nvvm_tld4_unified_g_2d_v4s32_f32, // llvm.nvvm.tld4.unified.g.2d.v4s32.f32 + nvvm_tld4_unified_g_2d_v4u32_f32, // llvm.nvvm.tld4.unified.g.2d.v4u32.f32 + nvvm_tld4_unified_r_2d_v4f32_f32, // llvm.nvvm.tld4.unified.r.2d.v4f32.f32 + nvvm_tld4_unified_r_2d_v4s32_f32, // llvm.nvvm.tld4.unified.r.2d.v4s32.f32 + nvvm_tld4_unified_r_2d_v4u32_f32, // llvm.nvvm.tld4.unified.r.2d.v4u32.f32 + nvvm_trunc_d, // llvm.nvvm.trunc.d + nvvm_trunc_f, // llvm.nvvm.trunc.f + nvvm_trunc_ftz_f, // llvm.nvvm.trunc.ftz.f + nvvm_txq_array_size, // llvm.nvvm.txq.array.size + nvvm_txq_channel_data_type, // llvm.nvvm.txq.channel.data.type + nvvm_txq_channel_order, // llvm.nvvm.txq.channel.order + nvvm_txq_depth, // llvm.nvvm.txq.depth + nvvm_txq_height, // llvm.nvvm.txq.height + nvvm_txq_num_mipmap_levels, // llvm.nvvm.txq.num.mipmap.levels + nvvm_txq_num_samples, // llvm.nvvm.txq.num.samples + nvvm_txq_width, // llvm.nvvm.txq.width + nvvm_ui2d_rm, // llvm.nvvm.ui2d.rm + nvvm_ui2d_rn, // llvm.nvvm.ui2d.rn + nvvm_ui2d_rp, // llvm.nvvm.ui2d.rp + nvvm_ui2d_rz, // llvm.nvvm.ui2d.rz + nvvm_ui2f_rm, // llvm.nvvm.ui2f.rm + nvvm_ui2f_rn, // llvm.nvvm.ui2f.rn + nvvm_ui2f_rp, // llvm.nvvm.ui2f.rp + nvvm_ui2f_rz, // llvm.nvvm.ui2f.rz + nvvm_ull2d_rm, // llvm.nvvm.ull2d.rm + nvvm_ull2d_rn, // llvm.nvvm.ull2d.rn + nvvm_ull2d_rp, // llvm.nvvm.ull2d.rp + nvvm_ull2d_rz, // llvm.nvvm.ull2d.rz + nvvm_ull2f_rm, // llvm.nvvm.ull2f.rm + nvvm_ull2f_rn, // llvm.nvvm.ull2f.rn + nvvm_ull2f_rp, // llvm.nvvm.ull2f.rp + nvvm_ull2f_rz, // llvm.nvvm.ull2f.rz + objectsize, // llvm.objectsize + pcmarker, // llvm.pcmarker + pow, // llvm.pow + powi, // llvm.powi + ppc_altivec_dss, // llvm.ppc.altivec.dss + ppc_altivec_dssall, // llvm.ppc.altivec.dssall + ppc_altivec_dst, // llvm.ppc.altivec.dst + ppc_altivec_dstst, // llvm.ppc.altivec.dstst + ppc_altivec_dststt, // llvm.ppc.altivec.dststt + ppc_altivec_dstt, // llvm.ppc.altivec.dstt + ppc_altivec_lvebx, // llvm.ppc.altivec.lvebx + ppc_altivec_lvehx, // llvm.ppc.altivec.lvehx + ppc_altivec_lvewx, // llvm.ppc.altivec.lvewx + ppc_altivec_lvsl, // llvm.ppc.altivec.lvsl + ppc_altivec_lvsr, // llvm.ppc.altivec.lvsr + ppc_altivec_lvx, // llvm.ppc.altivec.lvx + ppc_altivec_lvxl, // llvm.ppc.altivec.lvxl + ppc_altivec_mfvscr, // llvm.ppc.altivec.mfvscr + ppc_altivec_mtvscr, // llvm.ppc.altivec.mtvscr + ppc_altivec_stvebx, // llvm.ppc.altivec.stvebx + ppc_altivec_stvehx, // llvm.ppc.altivec.stvehx + ppc_altivec_stvewx, // llvm.ppc.altivec.stvewx + ppc_altivec_stvx, // llvm.ppc.altivec.stvx + ppc_altivec_stvxl, // llvm.ppc.altivec.stvxl + ppc_altivec_vaddcuw, // llvm.ppc.altivec.vaddcuw + ppc_altivec_vaddsbs, // llvm.ppc.altivec.vaddsbs + ppc_altivec_vaddshs, // llvm.ppc.altivec.vaddshs + ppc_altivec_vaddsws, // llvm.ppc.altivec.vaddsws + ppc_altivec_vaddubs, // llvm.ppc.altivec.vaddubs + ppc_altivec_vadduhs, // llvm.ppc.altivec.vadduhs + ppc_altivec_vadduws, // llvm.ppc.altivec.vadduws + ppc_altivec_vavgsb, // llvm.ppc.altivec.vavgsb + ppc_altivec_vavgsh, // llvm.ppc.altivec.vavgsh + ppc_altivec_vavgsw, // llvm.ppc.altivec.vavgsw + ppc_altivec_vavgub, // llvm.ppc.altivec.vavgub + ppc_altivec_vavguh, // llvm.ppc.altivec.vavguh + ppc_altivec_vavguw, // llvm.ppc.altivec.vavguw + ppc_altivec_vcfsx, // llvm.ppc.altivec.vcfsx + ppc_altivec_vcfux, // llvm.ppc.altivec.vcfux + ppc_altivec_vcmpbfp, // llvm.ppc.altivec.vcmpbfp + ppc_altivec_vcmpbfp_p, // llvm.ppc.altivec.vcmpbfp.p + ppc_altivec_vcmpeqfp, // llvm.ppc.altivec.vcmpeqfp + ppc_altivec_vcmpeqfp_p, // llvm.ppc.altivec.vcmpeqfp.p + ppc_altivec_vcmpequb, // llvm.ppc.altivec.vcmpequb + ppc_altivec_vcmpequb_p, // llvm.ppc.altivec.vcmpequb.p + ppc_altivec_vcmpequh, // llvm.ppc.altivec.vcmpequh + ppc_altivec_vcmpequh_p, // llvm.ppc.altivec.vcmpequh.p + ppc_altivec_vcmpequw, // llvm.ppc.altivec.vcmpequw + ppc_altivec_vcmpequw_p, // llvm.ppc.altivec.vcmpequw.p + ppc_altivec_vcmpgefp, // llvm.ppc.altivec.vcmpgefp + ppc_altivec_vcmpgefp_p, // llvm.ppc.altivec.vcmpgefp.p + ppc_altivec_vcmpgtfp, // llvm.ppc.altivec.vcmpgtfp + ppc_altivec_vcmpgtfp_p, // llvm.ppc.altivec.vcmpgtfp.p + ppc_altivec_vcmpgtsb, // llvm.ppc.altivec.vcmpgtsb + ppc_altivec_vcmpgtsb_p, // llvm.ppc.altivec.vcmpgtsb.p + ppc_altivec_vcmpgtsh, // llvm.ppc.altivec.vcmpgtsh + ppc_altivec_vcmpgtsh_p, // llvm.ppc.altivec.vcmpgtsh.p + ppc_altivec_vcmpgtsw, // llvm.ppc.altivec.vcmpgtsw + ppc_altivec_vcmpgtsw_p, // llvm.ppc.altivec.vcmpgtsw.p + ppc_altivec_vcmpgtub, // llvm.ppc.altivec.vcmpgtub + ppc_altivec_vcmpgtub_p, // llvm.ppc.altivec.vcmpgtub.p + ppc_altivec_vcmpgtuh, // llvm.ppc.altivec.vcmpgtuh + ppc_altivec_vcmpgtuh_p, // llvm.ppc.altivec.vcmpgtuh.p + ppc_altivec_vcmpgtuw, // llvm.ppc.altivec.vcmpgtuw + ppc_altivec_vcmpgtuw_p, // llvm.ppc.altivec.vcmpgtuw.p + ppc_altivec_vctsxs, // llvm.ppc.altivec.vctsxs + ppc_altivec_vctuxs, // llvm.ppc.altivec.vctuxs + ppc_altivec_vexptefp, // llvm.ppc.altivec.vexptefp + ppc_altivec_vlogefp, // llvm.ppc.altivec.vlogefp + ppc_altivec_vmaddfp, // llvm.ppc.altivec.vmaddfp + ppc_altivec_vmaxfp, // llvm.ppc.altivec.vmaxfp + ppc_altivec_vmaxsb, // llvm.ppc.altivec.vmaxsb + ppc_altivec_vmaxsh, // llvm.ppc.altivec.vmaxsh + ppc_altivec_vmaxsw, // llvm.ppc.altivec.vmaxsw + ppc_altivec_vmaxub, // llvm.ppc.altivec.vmaxub + ppc_altivec_vmaxuh, // llvm.ppc.altivec.vmaxuh + ppc_altivec_vmaxuw, // llvm.ppc.altivec.vmaxuw + ppc_altivec_vmhaddshs, // llvm.ppc.altivec.vmhaddshs + ppc_altivec_vmhraddshs, // llvm.ppc.altivec.vmhraddshs + ppc_altivec_vminfp, // llvm.ppc.altivec.vminfp + ppc_altivec_vminsb, // llvm.ppc.altivec.vminsb + ppc_altivec_vminsh, // llvm.ppc.altivec.vminsh + ppc_altivec_vminsw, // llvm.ppc.altivec.vminsw + ppc_altivec_vminub, // llvm.ppc.altivec.vminub + ppc_altivec_vminuh, // llvm.ppc.altivec.vminuh + ppc_altivec_vminuw, // llvm.ppc.altivec.vminuw + ppc_altivec_vmladduhm, // llvm.ppc.altivec.vmladduhm + ppc_altivec_vmsummbm, // llvm.ppc.altivec.vmsummbm + ppc_altivec_vmsumshm, // llvm.ppc.altivec.vmsumshm + ppc_altivec_vmsumshs, // llvm.ppc.altivec.vmsumshs + ppc_altivec_vmsumubm, // llvm.ppc.altivec.vmsumubm + ppc_altivec_vmsumuhm, // llvm.ppc.altivec.vmsumuhm + ppc_altivec_vmsumuhs, // llvm.ppc.altivec.vmsumuhs + ppc_altivec_vmulesb, // llvm.ppc.altivec.vmulesb + ppc_altivec_vmulesh, // llvm.ppc.altivec.vmulesh + ppc_altivec_vmuleub, // llvm.ppc.altivec.vmuleub + ppc_altivec_vmuleuh, // llvm.ppc.altivec.vmuleuh + ppc_altivec_vmulosb, // llvm.ppc.altivec.vmulosb + ppc_altivec_vmulosh, // llvm.ppc.altivec.vmulosh + ppc_altivec_vmuloub, // llvm.ppc.altivec.vmuloub + ppc_altivec_vmulouh, // llvm.ppc.altivec.vmulouh + ppc_altivec_vnmsubfp, // llvm.ppc.altivec.vnmsubfp + ppc_altivec_vperm, // llvm.ppc.altivec.vperm + ppc_altivec_vpkpx, // llvm.ppc.altivec.vpkpx + ppc_altivec_vpkshss, // llvm.ppc.altivec.vpkshss + ppc_altivec_vpkshus, // llvm.ppc.altivec.vpkshus + ppc_altivec_vpkswss, // llvm.ppc.altivec.vpkswss + ppc_altivec_vpkswus, // llvm.ppc.altivec.vpkswus + ppc_altivec_vpkuhus, // llvm.ppc.altivec.vpkuhus + ppc_altivec_vpkuwus, // llvm.ppc.altivec.vpkuwus + ppc_altivec_vrefp, // llvm.ppc.altivec.vrefp + ppc_altivec_vrfim, // llvm.ppc.altivec.vrfim + ppc_altivec_vrfin, // llvm.ppc.altivec.vrfin + ppc_altivec_vrfip, // llvm.ppc.altivec.vrfip + ppc_altivec_vrfiz, // llvm.ppc.altivec.vrfiz + ppc_altivec_vrlb, // llvm.ppc.altivec.vrlb + ppc_altivec_vrlh, // llvm.ppc.altivec.vrlh + ppc_altivec_vrlw, // llvm.ppc.altivec.vrlw + ppc_altivec_vrsqrtefp, // llvm.ppc.altivec.vrsqrtefp + ppc_altivec_vsel, // llvm.ppc.altivec.vsel + ppc_altivec_vsl, // llvm.ppc.altivec.vsl + ppc_altivec_vslb, // llvm.ppc.altivec.vslb + ppc_altivec_vslh, // llvm.ppc.altivec.vslh + ppc_altivec_vslo, // llvm.ppc.altivec.vslo + ppc_altivec_vslw, // llvm.ppc.altivec.vslw + ppc_altivec_vsr, // llvm.ppc.altivec.vsr + ppc_altivec_vsrab, // llvm.ppc.altivec.vsrab + ppc_altivec_vsrah, // llvm.ppc.altivec.vsrah + ppc_altivec_vsraw, // llvm.ppc.altivec.vsraw + ppc_altivec_vsrb, // llvm.ppc.altivec.vsrb + ppc_altivec_vsrh, // llvm.ppc.altivec.vsrh + ppc_altivec_vsro, // llvm.ppc.altivec.vsro + ppc_altivec_vsrw, // llvm.ppc.altivec.vsrw + ppc_altivec_vsubcuw, // llvm.ppc.altivec.vsubcuw + ppc_altivec_vsubsbs, // llvm.ppc.altivec.vsubsbs + ppc_altivec_vsubshs, // llvm.ppc.altivec.vsubshs + ppc_altivec_vsubsws, // llvm.ppc.altivec.vsubsws + ppc_altivec_vsububs, // llvm.ppc.altivec.vsububs + ppc_altivec_vsubuhs, // llvm.ppc.altivec.vsubuhs + ppc_altivec_vsubuws, // llvm.ppc.altivec.vsubuws + ppc_altivec_vsum2sws, // llvm.ppc.altivec.vsum2sws + ppc_altivec_vsum4sbs, // llvm.ppc.altivec.vsum4sbs + ppc_altivec_vsum4shs, // llvm.ppc.altivec.vsum4shs + ppc_altivec_vsum4ubs, // llvm.ppc.altivec.vsum4ubs + ppc_altivec_vsumsws, // llvm.ppc.altivec.vsumsws + ppc_altivec_vupkhpx, // llvm.ppc.altivec.vupkhpx + ppc_altivec_vupkhsb, // llvm.ppc.altivec.vupkhsb + ppc_altivec_vupkhsh, // llvm.ppc.altivec.vupkhsh + ppc_altivec_vupklpx, // llvm.ppc.altivec.vupklpx + ppc_altivec_vupklsb, // llvm.ppc.altivec.vupklsb + ppc_altivec_vupklsh, // llvm.ppc.altivec.vupklsh + ppc_dcba, // llvm.ppc.dcba + ppc_dcbf, // llvm.ppc.dcbf + ppc_dcbi, // llvm.ppc.dcbi + ppc_dcbst, // llvm.ppc.dcbst + ppc_dcbt, // llvm.ppc.dcbt + ppc_dcbtst, // llvm.ppc.dcbtst + ppc_dcbz, // llvm.ppc.dcbz + ppc_dcbzl, // llvm.ppc.dcbzl + ppc_is_decremented_ctr_nonzero, // llvm.ppc.is.decremented.ctr.nonzero + ppc_mtctr, // llvm.ppc.mtctr + ppc_sync, // llvm.ppc.sync + prefetch, // llvm.prefetch + ptr_annotation, // llvm.ptr.annotation + ptx_bar_sync, // llvm.ptx.bar.sync + ptx_read_clock, // llvm.ptx.read.clock + ptx_read_clock64, // llvm.ptx.read.clock64 + ptx_read_ctaid_w, // llvm.ptx.read.ctaid.w + ptx_read_ctaid_x, // llvm.ptx.read.ctaid.x + ptx_read_ctaid_y, // llvm.ptx.read.ctaid.y + ptx_read_ctaid_z, // llvm.ptx.read.ctaid.z + ptx_read_gridid, // llvm.ptx.read.gridid + ptx_read_laneid, // llvm.ptx.read.laneid + ptx_read_lanemask_eq, // llvm.ptx.read.lanemask.eq + ptx_read_lanemask_ge, // llvm.ptx.read.lanemask.ge + ptx_read_lanemask_gt, // llvm.ptx.read.lanemask.gt + ptx_read_lanemask_le, // llvm.ptx.read.lanemask.le + ptx_read_lanemask_lt, // llvm.ptx.read.lanemask.lt + ptx_read_nctaid_w, // llvm.ptx.read.nctaid.w + ptx_read_nctaid_x, // llvm.ptx.read.nctaid.x + ptx_read_nctaid_y, // llvm.ptx.read.nctaid.y + ptx_read_nctaid_z, // llvm.ptx.read.nctaid.z + ptx_read_nsmid, // llvm.ptx.read.nsmid + ptx_read_ntid_w, // llvm.ptx.read.ntid.w + ptx_read_ntid_x, // llvm.ptx.read.ntid.x + ptx_read_ntid_y, // llvm.ptx.read.ntid.y + ptx_read_ntid_z, // llvm.ptx.read.ntid.z + ptx_read_nwarpid, // llvm.ptx.read.nwarpid + ptx_read_pm0, // llvm.ptx.read.pm0 + ptx_read_pm1, // llvm.ptx.read.pm1 + ptx_read_pm2, // llvm.ptx.read.pm2 + ptx_read_pm3, // llvm.ptx.read.pm3 + ptx_read_smid, // llvm.ptx.read.smid + ptx_read_tid_w, // llvm.ptx.read.tid.w + ptx_read_tid_x, // llvm.ptx.read.tid.x + ptx_read_tid_y, // llvm.ptx.read.tid.y + ptx_read_tid_z, // llvm.ptx.read.tid.z + ptx_read_warpid, // llvm.ptx.read.warpid + r600_read_global_size_x, // llvm.r600.read.global.size.x + r600_read_global_size_y, // llvm.r600.read.global.size.y + r600_read_global_size_z, // llvm.r600.read.global.size.z + r600_read_local_size_x, // llvm.r600.read.local.size.x + r600_read_local_size_y, // llvm.r600.read.local.size.y + r600_read_local_size_z, // llvm.r600.read.local.size.z + r600_read_ngroups_x, // llvm.r600.read.ngroups.x + r600_read_ngroups_y, // llvm.r600.read.ngroups.y + r600_read_ngroups_z, // llvm.r600.read.ngroups.z + r600_read_tgid_x, // llvm.r600.read.tgid.x + r600_read_tgid_y, // llvm.r600.read.tgid.y + r600_read_tgid_z, // llvm.r600.read.tgid.z + r600_read_tidig_x, // llvm.r600.read.tidig.x + r600_read_tidig_y, // llvm.r600.read.tidig.y + r600_read_tidig_z, // llvm.r600.read.tidig.z + read_register, // llvm.read_register + readcyclecounter, // llvm.readcyclecounter + returnaddress, // llvm.returnaddress + rint, // llvm.rint + round, // llvm.round + sadd_with_overflow, // llvm.sadd.with.overflow + setjmp, // llvm.setjmp + siglongjmp, // llvm.siglongjmp + sigsetjmp, // llvm.sigsetjmp + sin, // llvm.sin + smul_with_overflow, // llvm.smul.with.overflow + sqrt, // llvm.sqrt + ssub_with_overflow, // llvm.ssub.with.overflow + stackprotector, // llvm.stackprotector + stackprotectorcheck, // llvm.stackprotectorcheck + stackrestore, // llvm.stackrestore + stacksave, // llvm.stacksave + trap, // llvm.trap + trunc, // llvm.trunc + uadd_with_overflow, // llvm.uadd.with.overflow + umul_with_overflow, // llvm.umul.with.overflow + usub_with_overflow, // llvm.usub.with.overflow + vacopy, // llvm.va_copy + vaend, // llvm.va_end + var_annotation, // llvm.var.annotation + vastart, // llvm.va_start + write_register, // llvm.write_register + x86_3dnow_pavgusb, // llvm.x86.3dnow.pavgusb + x86_3dnow_pf2id, // llvm.x86.3dnow.pf2id + x86_3dnow_pfacc, // llvm.x86.3dnow.pfacc + x86_3dnow_pfadd, // llvm.x86.3dnow.pfadd + x86_3dnow_pfcmpeq, // llvm.x86.3dnow.pfcmpeq + x86_3dnow_pfcmpge, // llvm.x86.3dnow.pfcmpge + x86_3dnow_pfcmpgt, // llvm.x86.3dnow.pfcmpgt + x86_3dnow_pfmax, // llvm.x86.3dnow.pfmax + x86_3dnow_pfmin, // llvm.x86.3dnow.pfmin + x86_3dnow_pfmul, // llvm.x86.3dnow.pfmul + x86_3dnow_pfrcp, // llvm.x86.3dnow.pfrcp + x86_3dnow_pfrcpit1, // llvm.x86.3dnow.pfrcpit1 + x86_3dnow_pfrcpit2, // llvm.x86.3dnow.pfrcpit2 + x86_3dnow_pfrsqit1, // llvm.x86.3dnow.pfrsqit1 + x86_3dnow_pfrsqrt, // llvm.x86.3dnow.pfrsqrt + x86_3dnow_pfsub, // llvm.x86.3dnow.pfsub + x86_3dnow_pfsubr, // llvm.x86.3dnow.pfsubr + x86_3dnow_pi2fd, // llvm.x86.3dnow.pi2fd + x86_3dnow_pmulhrw, // llvm.x86.3dnow.pmulhrw + x86_3dnowa_pf2iw, // llvm.x86.3dnowa.pf2iw + x86_3dnowa_pfnacc, // llvm.x86.3dnowa.pfnacc + x86_3dnowa_pfpnacc, // llvm.x86.3dnowa.pfpnacc + x86_3dnowa_pi2fw, // llvm.x86.3dnowa.pi2fw + x86_3dnowa_pswapd, // llvm.x86.3dnowa.pswapd + x86_aesni_aesdec, // llvm.x86.aesni.aesdec + x86_aesni_aesdeclast, // llvm.x86.aesni.aesdeclast + x86_aesni_aesenc, // llvm.x86.aesni.aesenc + x86_aesni_aesenclast, // llvm.x86.aesni.aesenclast + x86_aesni_aesimc, // llvm.x86.aesni.aesimc + x86_aesni_aeskeygenassist, // llvm.x86.aesni.aeskeygenassist + x86_avx2_gather_d_d, // llvm.x86.avx2.gather.d.d + x86_avx2_gather_d_d_256, // llvm.x86.avx2.gather.d.d.256 + x86_avx2_gather_d_pd, // llvm.x86.avx2.gather.d.pd + x86_avx2_gather_d_pd_256, // llvm.x86.avx2.gather.d.pd.256 + x86_avx2_gather_d_ps, // llvm.x86.avx2.gather.d.ps + x86_avx2_gather_d_ps_256, // llvm.x86.avx2.gather.d.ps.256 + x86_avx2_gather_d_q, // llvm.x86.avx2.gather.d.q + x86_avx2_gather_d_q_256, // llvm.x86.avx2.gather.d.q.256 + x86_avx2_gather_q_d, // llvm.x86.avx2.gather.q.d + x86_avx2_gather_q_d_256, // llvm.x86.avx2.gather.q.d.256 + x86_avx2_gather_q_pd, // llvm.x86.avx2.gather.q.pd + x86_avx2_gather_q_pd_256, // llvm.x86.avx2.gather.q.pd.256 + x86_avx2_gather_q_ps, // llvm.x86.avx2.gather.q.ps + x86_avx2_gather_q_ps_256, // llvm.x86.avx2.gather.q.ps.256 + x86_avx2_gather_q_q, // llvm.x86.avx2.gather.q.q + x86_avx2_gather_q_q_256, // llvm.x86.avx2.gather.q.q.256 + x86_avx2_maskload_d, // llvm.x86.avx2.maskload.d + x86_avx2_maskload_d_256, // llvm.x86.avx2.maskload.d.256 + x86_avx2_maskload_q, // llvm.x86.avx2.maskload.q + x86_avx2_maskload_q_256, // llvm.x86.avx2.maskload.q.256 + x86_avx2_maskstore_d, // llvm.x86.avx2.maskstore.d + x86_avx2_maskstore_d_256, // llvm.x86.avx2.maskstore.d.256 + x86_avx2_maskstore_q, // llvm.x86.avx2.maskstore.q + x86_avx2_maskstore_q_256, // llvm.x86.avx2.maskstore.q.256 + x86_avx2_movntdqa, // llvm.x86.avx2.movntdqa + x86_avx2_mpsadbw, // llvm.x86.avx2.mpsadbw + x86_avx2_pabs_b, // llvm.x86.avx2.pabs.b + x86_avx2_pabs_d, // llvm.x86.avx2.pabs.d + x86_avx2_pabs_w, // llvm.x86.avx2.pabs.w + x86_avx2_packssdw, // llvm.x86.avx2.packssdw + x86_avx2_packsswb, // llvm.x86.avx2.packsswb + x86_avx2_packusdw, // llvm.x86.avx2.packusdw + x86_avx2_packuswb, // llvm.x86.avx2.packuswb + x86_avx2_padds_b, // llvm.x86.avx2.padds.b + x86_avx2_padds_w, // llvm.x86.avx2.padds.w + x86_avx2_paddus_b, // llvm.x86.avx2.paddus.b + x86_avx2_paddus_w, // llvm.x86.avx2.paddus.w + x86_avx2_pavg_b, // llvm.x86.avx2.pavg.b + x86_avx2_pavg_w, // llvm.x86.avx2.pavg.w + x86_avx2_pblendd_128, // llvm.x86.avx2.pblendd.128 + x86_avx2_pblendd_256, // llvm.x86.avx2.pblendd.256 + x86_avx2_pblendvb, // llvm.x86.avx2.pblendvb + x86_avx2_pblendw, // llvm.x86.avx2.pblendw + x86_avx2_pbroadcastb_128, // llvm.x86.avx2.pbroadcastb.128 + x86_avx2_pbroadcastb_256, // llvm.x86.avx2.pbroadcastb.256 + x86_avx2_pbroadcastd_128, // llvm.x86.avx2.pbroadcastd.128 + x86_avx2_pbroadcastd_256, // llvm.x86.avx2.pbroadcastd.256 + x86_avx2_pbroadcastq_128, // llvm.x86.avx2.pbroadcastq.128 + x86_avx2_pbroadcastq_256, // llvm.x86.avx2.pbroadcastq.256 + x86_avx2_pbroadcastw_128, // llvm.x86.avx2.pbroadcastw.128 + x86_avx2_pbroadcastw_256, // llvm.x86.avx2.pbroadcastw.256 + x86_avx2_permd, // llvm.x86.avx2.permd + x86_avx2_permps, // llvm.x86.avx2.permps + x86_avx2_phadd_d, // llvm.x86.avx2.phadd.d + x86_avx2_phadd_sw, // llvm.x86.avx2.phadd.sw + x86_avx2_phadd_w, // llvm.x86.avx2.phadd.w + x86_avx2_phsub_d, // llvm.x86.avx2.phsub.d + x86_avx2_phsub_sw, // llvm.x86.avx2.phsub.sw + x86_avx2_phsub_w, // llvm.x86.avx2.phsub.w + x86_avx2_pmadd_ub_sw, // llvm.x86.avx2.pmadd.ub.sw + x86_avx2_pmadd_wd, // llvm.x86.avx2.pmadd.wd + x86_avx2_pmaxs_b, // llvm.x86.avx2.pmaxs.b + x86_avx2_pmaxs_d, // llvm.x86.avx2.pmaxs.d + x86_avx2_pmaxs_w, // llvm.x86.avx2.pmaxs.w + x86_avx2_pmaxu_b, // llvm.x86.avx2.pmaxu.b + x86_avx2_pmaxu_d, // llvm.x86.avx2.pmaxu.d + x86_avx2_pmaxu_w, // llvm.x86.avx2.pmaxu.w + x86_avx2_pmins_b, // llvm.x86.avx2.pmins.b + x86_avx2_pmins_d, // llvm.x86.avx2.pmins.d + x86_avx2_pmins_w, // llvm.x86.avx2.pmins.w + x86_avx2_pminu_b, // llvm.x86.avx2.pminu.b + x86_avx2_pminu_d, // llvm.x86.avx2.pminu.d + x86_avx2_pminu_w, // llvm.x86.avx2.pminu.w + x86_avx2_pmovmskb, // llvm.x86.avx2.pmovmskb + x86_avx2_pmovsxbd, // llvm.x86.avx2.pmovsxbd + x86_avx2_pmovsxbq, // llvm.x86.avx2.pmovsxbq + x86_avx2_pmovsxbw, // llvm.x86.avx2.pmovsxbw + x86_avx2_pmovsxdq, // llvm.x86.avx2.pmovsxdq + x86_avx2_pmovsxwd, // llvm.x86.avx2.pmovsxwd + x86_avx2_pmovsxwq, // llvm.x86.avx2.pmovsxwq + x86_avx2_pmovzxbd, // llvm.x86.avx2.pmovzxbd + x86_avx2_pmovzxbq, // llvm.x86.avx2.pmovzxbq + x86_avx2_pmovzxbw, // llvm.x86.avx2.pmovzxbw + x86_avx2_pmovzxdq, // llvm.x86.avx2.pmovzxdq + x86_avx2_pmovzxwd, // llvm.x86.avx2.pmovzxwd + x86_avx2_pmovzxwq, // llvm.x86.avx2.pmovzxwq + x86_avx2_pmul_dq, // llvm.x86.avx2.pmul.dq + x86_avx2_pmul_hr_sw, // llvm.x86.avx2.pmul.hr.sw + x86_avx2_pmulh_w, // llvm.x86.avx2.pmulh.w + x86_avx2_pmulhu_w, // llvm.x86.avx2.pmulhu.w + x86_avx2_pmulu_dq, // llvm.x86.avx2.pmulu.dq + x86_avx2_psad_bw, // llvm.x86.avx2.psad.bw + x86_avx2_pshuf_b, // llvm.x86.avx2.pshuf.b + x86_avx2_psign_b, // llvm.x86.avx2.psign.b + x86_avx2_psign_d, // llvm.x86.avx2.psign.d + x86_avx2_psign_w, // llvm.x86.avx2.psign.w + x86_avx2_psll_d, // llvm.x86.avx2.psll.d + x86_avx2_psll_dq, // llvm.x86.avx2.psll.dq + x86_avx2_psll_dq_bs, // llvm.x86.avx2.psll.dq.bs + x86_avx2_psll_q, // llvm.x86.avx2.psll.q + x86_avx2_psll_w, // llvm.x86.avx2.psll.w + x86_avx2_pslli_d, // llvm.x86.avx2.pslli.d + x86_avx2_pslli_q, // llvm.x86.avx2.pslli.q + x86_avx2_pslli_w, // llvm.x86.avx2.pslli.w + x86_avx2_psllv_d, // llvm.x86.avx2.psllv.d + x86_avx2_psllv_d_256, // llvm.x86.avx2.psllv.d.256 + x86_avx2_psllv_q, // llvm.x86.avx2.psllv.q + x86_avx2_psllv_q_256, // llvm.x86.avx2.psllv.q.256 + x86_avx2_psra_d, // llvm.x86.avx2.psra.d + x86_avx2_psra_w, // llvm.x86.avx2.psra.w + x86_avx2_psrai_d, // llvm.x86.avx2.psrai.d + x86_avx2_psrai_w, // llvm.x86.avx2.psrai.w + x86_avx2_psrav_d, // llvm.x86.avx2.psrav.d + x86_avx2_psrav_d_256, // llvm.x86.avx2.psrav.d.256 + x86_avx2_psrl_d, // llvm.x86.avx2.psrl.d + x86_avx2_psrl_dq, // llvm.x86.avx2.psrl.dq + x86_avx2_psrl_dq_bs, // llvm.x86.avx2.psrl.dq.bs + x86_avx2_psrl_q, // llvm.x86.avx2.psrl.q + x86_avx2_psrl_w, // llvm.x86.avx2.psrl.w + x86_avx2_psrli_d, // llvm.x86.avx2.psrli.d + x86_avx2_psrli_q, // llvm.x86.avx2.psrli.q + x86_avx2_psrli_w, // llvm.x86.avx2.psrli.w + x86_avx2_psrlv_d, // llvm.x86.avx2.psrlv.d + x86_avx2_psrlv_d_256, // llvm.x86.avx2.psrlv.d.256 + x86_avx2_psrlv_q, // llvm.x86.avx2.psrlv.q + x86_avx2_psrlv_q_256, // llvm.x86.avx2.psrlv.q.256 + x86_avx2_psubs_b, // llvm.x86.avx2.psubs.b + x86_avx2_psubs_w, // llvm.x86.avx2.psubs.w + x86_avx2_psubus_b, // llvm.x86.avx2.psubus.b + x86_avx2_psubus_w, // llvm.x86.avx2.psubus.w + x86_avx2_vbroadcast_sd_pd_256, // llvm.x86.avx2.vbroadcast.sd.pd.256 + x86_avx2_vbroadcast_ss_ps, // llvm.x86.avx2.vbroadcast.ss.ps + x86_avx2_vbroadcast_ss_ps_256, // llvm.x86.avx2.vbroadcast.ss.ps.256 + x86_avx2_vbroadcasti128, // llvm.x86.avx2.vbroadcasti128 + x86_avx2_vextracti128, // llvm.x86.avx2.vextracti128 + x86_avx2_vinserti128, // llvm.x86.avx2.vinserti128 + x86_avx2_vperm2i128, // llvm.x86.avx2.vperm2i128 + x86_avx512_cvtsd2usi, // llvm.x86.avx512.cvtsd2usi + x86_avx512_cvtsd2usi64, // llvm.x86.avx512.cvtsd2usi64 + x86_avx512_cvtss2usi, // llvm.x86.avx512.cvtss2usi + x86_avx512_cvtss2usi64, // llvm.x86.avx512.cvtss2usi64 + x86_avx512_cvttsd2usi, // llvm.x86.avx512.cvttsd2usi + x86_avx512_cvttsd2usi64, // llvm.x86.avx512.cvttsd2usi64 + x86_avx512_cvttss2usi, // llvm.x86.avx512.cvttss2usi + x86_avx512_cvttss2usi64, // llvm.x86.avx512.cvttss2usi64 + x86_avx512_cvtusi2sd, // llvm.x86.avx512.cvtusi2sd + x86_avx512_cvtusi2ss, // llvm.x86.avx512.cvtusi2ss + x86_avx512_cvtusi642sd, // llvm.x86.avx512.cvtusi642sd + x86_avx512_cvtusi642ss, // llvm.x86.avx512.cvtusi642ss + x86_avx512_gather_dpd_512, // llvm.x86.avx512.gather.dpd.512 + x86_avx512_gather_dpi_512, // llvm.x86.avx512.gather.dpi.512 + x86_avx512_gather_dpq_512, // llvm.x86.avx512.gather.dpq.512 + x86_avx512_gather_dps_512, // llvm.x86.avx512.gather.dps.512 + x86_avx512_gather_qpd_512, // llvm.x86.avx512.gather.qpd.512 + x86_avx512_gather_qpi_512, // llvm.x86.avx512.gather.qpi.512 + x86_avx512_gather_qpq_512, // llvm.x86.avx512.gather.qpq.512 + x86_avx512_gather_qps_512, // llvm.x86.avx512.gather.qps.512 + x86_avx512_gatherpf_dpd_512, // llvm.x86.avx512.gatherpf.dpd.512 + x86_avx512_gatherpf_dps_512, // llvm.x86.avx512.gatherpf.dps.512 + x86_avx512_gatherpf_qpd_512, // llvm.x86.avx512.gatherpf.qpd.512 + x86_avx512_gatherpf_qps_512, // llvm.x86.avx512.gatherpf.qps.512 + x86_avx512_kand_w, // llvm.x86.avx512.kand.w + x86_avx512_kandn_w, // llvm.x86.avx512.kandn.w + x86_avx512_knot_w, // llvm.x86.avx512.knot.w + x86_avx512_kor_w, // llvm.x86.avx512.kor.w + x86_avx512_kortestc_w, // llvm.x86.avx512.kortestc.w + x86_avx512_kortestz_w, // llvm.x86.avx512.kortestz.w + x86_avx512_kunpck_bw, // llvm.x86.avx512.kunpck.bw + x86_avx512_kxnor_w, // llvm.x86.avx512.kxnor.w + x86_avx512_kxor_w, // llvm.x86.avx512.kxor.w + x86_avx512_mask_blend_d_512, // llvm.x86.avx512.mask.blend.d.512 + x86_avx512_mask_blend_pd_512, // llvm.x86.avx512.mask.blend.pd.512 + x86_avx512_mask_blend_ps_512, // llvm.x86.avx512.mask.blend.ps.512 + x86_avx512_mask_blend_q_512, // llvm.x86.avx512.mask.blend.q.512 + x86_avx512_mask_cmp_pd_512, // llvm.x86.avx512.mask.cmp.pd.512 + x86_avx512_mask_cmp_ps_512, // llvm.x86.avx512.mask.cmp.ps.512 + x86_avx512_mask_conflict_d_512, // llvm.x86.avx512.mask.conflict.d.512 + x86_avx512_mask_conflict_q_512, // llvm.x86.avx512.mask.conflict.q.512 + x86_avx512_mask_cvtdq2pd_512, // llvm.x86.avx512.mask.cvtdq2pd.512 + x86_avx512_mask_cvtdq2ps_512, // llvm.x86.avx512.mask.cvtdq2ps.512 + x86_avx512_mask_cvtpd2dq_512, // llvm.x86.avx512.mask.cvtpd2dq.512 + x86_avx512_mask_cvtpd2ps_512, // llvm.x86.avx512.mask.cvtpd2ps.512 + x86_avx512_mask_cvtpd2udq_512, // llvm.x86.avx512.mask.cvtpd2udq.512 + x86_avx512_mask_cvtps2dq_512, // llvm.x86.avx512.mask.cvtps2dq.512 + x86_avx512_mask_cvtps2udq_512, // llvm.x86.avx512.mask.cvtps2udq.512 + x86_avx512_mask_cvttpd2dq_512, // llvm.x86.avx512.mask.cvttpd2dq.512 + x86_avx512_mask_cvttpd2udq_512, // llvm.x86.avx512.mask.cvttpd2udq.512 + x86_avx512_mask_cvttps2dq_512, // llvm.x86.avx512.mask.cvttps2dq.512 + x86_avx512_mask_cvttps2udq_512, // llvm.x86.avx512.mask.cvttps2udq.512 + x86_avx512_mask_cvtudq2pd_512, // llvm.x86.avx512.mask.cvtudq2pd.512 + x86_avx512_mask_cvtudq2ps_512, // llvm.x86.avx512.mask.cvtudq2ps.512 + x86_avx512_mask_loadu_d_512, // llvm.x86.avx512.mask.loadu.d.512 + x86_avx512_mask_loadu_pd_512, // llvm.x86.avx512.mask.loadu.pd.512 + x86_avx512_mask_loadu_ps_512, // llvm.x86.avx512.mask.loadu.ps.512 + x86_avx512_mask_loadu_q_512, // llvm.x86.avx512.mask.loadu.q.512 + x86_avx512_mask_lzcnt_d_512, // llvm.x86.avx512.mask.lzcnt.d.512 + x86_avx512_mask_lzcnt_q_512, // llvm.x86.avx512.mask.lzcnt.q.512 + x86_avx512_mask_max_pd_512, // llvm.x86.avx512.mask.max.pd.512 + x86_avx512_mask_max_ps_512, // llvm.x86.avx512.mask.max.ps.512 + x86_avx512_mask_min_pd_512, // llvm.x86.avx512.mask.min.pd.512 + x86_avx512_mask_min_ps_512, // llvm.x86.avx512.mask.min.ps.512 + x86_avx512_mask_pabs_d_512, // llvm.x86.avx512.mask.pabs.d.512 + x86_avx512_mask_pabs_q_512, // llvm.x86.avx512.mask.pabs.q.512 + x86_avx512_mask_pand_d_512, // llvm.x86.avx512.mask.pand.d.512 + x86_avx512_mask_pand_q_512, // llvm.x86.avx512.mask.pand.q.512 + x86_avx512_mask_pbroadcast_d_gpr_512, // llvm.x86.avx512.mask.pbroadcast.d.gpr.512 + x86_avx512_mask_pbroadcast_q_gpr_512, // llvm.x86.avx512.mask.pbroadcast.q.gpr.512 + x86_avx512_mask_pbroadcast_q_mem_512, // llvm.x86.avx512.mask.pbroadcast.q.mem.512 + x86_avx512_mask_pcmpeq_d_512, // llvm.x86.avx512.mask.pcmpeq.d.512 + x86_avx512_mask_pcmpeq_q_512, // llvm.x86.avx512.mask.pcmpeq.q.512 + x86_avx512_mask_pmaxs_d_512, // llvm.x86.avx512.mask.pmaxs.d.512 + x86_avx512_mask_pmaxs_q_512, // llvm.x86.avx512.mask.pmaxs.q.512 + x86_avx512_mask_pmaxu_d_512, // llvm.x86.avx512.mask.pmaxu.d.512 + x86_avx512_mask_pmaxu_q_512, // llvm.x86.avx512.mask.pmaxu.q.512 + x86_avx512_mask_pmins_d_512, // llvm.x86.avx512.mask.pmins.d.512 + x86_avx512_mask_pmins_q_512, // llvm.x86.avx512.mask.pmins.q.512 + x86_avx512_mask_pminu_d_512, // llvm.x86.avx512.mask.pminu.d.512 + x86_avx512_mask_pminu_q_512, // llvm.x86.avx512.mask.pminu.q.512 + x86_avx512_mask_pmul_dq_512, // llvm.x86.avx512.mask.pmul.dq.512 + x86_avx512_mask_pmulu_dq_512, // llvm.x86.avx512.mask.pmulu.dq.512 + x86_avx512_mask_ptestm_d_512, // llvm.x86.avx512.mask.ptestm.d.512 + x86_avx512_mask_ptestm_q_512, // llvm.x86.avx512.mask.ptestm.q.512 + x86_avx512_mask_rndscale_pd_512, // llvm.x86.avx512.mask.rndscale.pd.512 + x86_avx512_mask_rndscale_ps_512, // llvm.x86.avx512.mask.rndscale.ps.512 + x86_avx512_mask_storeu_d_512, // llvm.x86.avx512.mask.storeu.d.512 + x86_avx512_mask_storeu_pd_512, // llvm.x86.avx512.mask.storeu.pd.512 + x86_avx512_mask_storeu_ps_512, // llvm.x86.avx512.mask.storeu.ps.512 + x86_avx512_mask_storeu_q_512, // llvm.x86.avx512.mask.storeu.q.512 + x86_avx512_mask_vcvtph2ps_512, // llvm.x86.avx512.mask.vcvtph2ps.512 + x86_avx512_mask_vcvtps2ph_512, // llvm.x86.avx512.mask.vcvtps2ph.512 + x86_avx512_mask_vpermt_d_512, // llvm.x86.avx512.mask.vpermt.d.512 + x86_avx512_mask_vpermt_pd_512, // llvm.x86.avx512.mask.vpermt.pd.512 + x86_avx512_mask_vpermt_ps_512, // llvm.x86.avx512.mask.vpermt.ps.512 + x86_avx512_mask_vpermt_q_512, // llvm.x86.avx512.mask.vpermt.q.512 + x86_avx512_movntdqa, // llvm.x86.avx512.movntdqa + x86_avx512_pbroadcastd_512, // llvm.x86.avx512.pbroadcastd.512 + x86_avx512_pbroadcastd_i32_512, // llvm.x86.avx512.pbroadcastd.i32.512 + x86_avx512_pbroadcastq_512, // llvm.x86.avx512.pbroadcastq.512 + x86_avx512_pbroadcastq_i64_512, // llvm.x86.avx512.pbroadcastq.i64.512 + x86_avx512_pmovzxbd, // llvm.x86.avx512.pmovzxbd + x86_avx512_pmovzxbq, // llvm.x86.avx512.pmovzxbq + x86_avx512_pmovzxdq, // llvm.x86.avx512.pmovzxdq + x86_avx512_pmovzxwd, // llvm.x86.avx512.pmovzxwd + x86_avx512_pmovzxwq, // llvm.x86.avx512.pmovzxwq + x86_avx512_psll_dq, // llvm.x86.avx512.psll.dq + x86_avx512_psll_dq_bs, // llvm.x86.avx512.psll.dq.bs + x86_avx512_psrl_dq, // llvm.x86.avx512.psrl.dq + x86_avx512_psrl_dq_bs, // llvm.x86.avx512.psrl.dq.bs + x86_avx512_rcp14_pd_512, // llvm.x86.avx512.rcp14.pd.512 + x86_avx512_rcp14_ps_512, // llvm.x86.avx512.rcp14.ps.512 + x86_avx512_rcp14_sd, // llvm.x86.avx512.rcp14.sd + x86_avx512_rcp14_ss, // llvm.x86.avx512.rcp14.ss + x86_avx512_rcp28_pd, // llvm.x86.avx512.rcp28.pd + x86_avx512_rcp28_ps, // llvm.x86.avx512.rcp28.ps + x86_avx512_rcp28_sd, // llvm.x86.avx512.rcp28.sd + x86_avx512_rcp28_ss, // llvm.x86.avx512.rcp28.ss + x86_avx512_rndscale_sd, // llvm.x86.avx512.rndscale.sd + x86_avx512_rndscale_ss, // llvm.x86.avx512.rndscale.ss + x86_avx512_rsqrt14_pd_512, // llvm.x86.avx512.rsqrt14.pd.512 + x86_avx512_rsqrt14_ps_512, // llvm.x86.avx512.rsqrt14.ps.512 + x86_avx512_rsqrt14_sd, // llvm.x86.avx512.rsqrt14.sd + x86_avx512_rsqrt14_ss, // llvm.x86.avx512.rsqrt14.ss + x86_avx512_rsqrt28_pd, // llvm.x86.avx512.rsqrt28.pd + x86_avx512_rsqrt28_ps, // llvm.x86.avx512.rsqrt28.ps + x86_avx512_rsqrt28_sd, // llvm.x86.avx512.rsqrt28.sd + x86_avx512_rsqrt28_ss, // llvm.x86.avx512.rsqrt28.ss + x86_avx512_scatter_dpd_512, // llvm.x86.avx512.scatter.dpd.512 + x86_avx512_scatter_dpi_512, // llvm.x86.avx512.scatter.dpi.512 + x86_avx512_scatter_dpq_512, // llvm.x86.avx512.scatter.dpq.512 + x86_avx512_scatter_dps_512, // llvm.x86.avx512.scatter.dps.512 + x86_avx512_scatter_qpd_512, // llvm.x86.avx512.scatter.qpd.512 + x86_avx512_scatter_qpi_512, // llvm.x86.avx512.scatter.qpi.512 + x86_avx512_scatter_qpq_512, // llvm.x86.avx512.scatter.qpq.512 + x86_avx512_scatter_qps_512, // llvm.x86.avx512.scatter.qps.512 + x86_avx512_scatterpf_dpd_512, // llvm.x86.avx512.scatterpf.dpd.512 + x86_avx512_scatterpf_dps_512, // llvm.x86.avx512.scatterpf.dps.512 + x86_avx512_scatterpf_qpd_512, // llvm.x86.avx512.scatterpf.qpd.512 + x86_avx512_scatterpf_qps_512, // llvm.x86.avx512.scatterpf.qps.512 + x86_avx512_sqrt_pd_512, // llvm.x86.avx512.sqrt.pd.512 + x86_avx512_sqrt_ps_512, // llvm.x86.avx512.sqrt.ps.512 + x86_avx512_sqrt_sd, // llvm.x86.avx512.sqrt.sd + x86_avx512_sqrt_ss, // llvm.x86.avx512.sqrt.ss + x86_avx512_vbroadcast_sd_512, // llvm.x86.avx512.vbroadcast.sd.512 + x86_avx512_vbroadcast_sd_pd_512, // llvm.x86.avx512.vbroadcast.sd.pd.512 + x86_avx512_vbroadcast_ss_512, // llvm.x86.avx512.vbroadcast.ss.512 + x86_avx512_vbroadcast_ss_ps_512, // llvm.x86.avx512.vbroadcast.ss.ps.512 + x86_avx_addsub_pd_256, // llvm.x86.avx.addsub.pd.256 + x86_avx_addsub_ps_256, // llvm.x86.avx.addsub.ps.256 + x86_avx_blend_pd_256, // llvm.x86.avx.blend.pd.256 + x86_avx_blend_ps_256, // llvm.x86.avx.blend.ps.256 + x86_avx_blendv_pd_256, // llvm.x86.avx.blendv.pd.256 + x86_avx_blendv_ps_256, // llvm.x86.avx.blendv.ps.256 + x86_avx_cmp_pd_256, // llvm.x86.avx.cmp.pd.256 + x86_avx_cmp_ps_256, // llvm.x86.avx.cmp.ps.256 + x86_avx_cvt_pd2_ps_256, // llvm.x86.avx.cvt.pd2.ps.256 + x86_avx_cvt_pd2dq_256, // llvm.x86.avx.cvt.pd2dq.256 + x86_avx_cvt_ps2_pd_256, // llvm.x86.avx.cvt.ps2.pd.256 + x86_avx_cvt_ps2dq_256, // llvm.x86.avx.cvt.ps2dq.256 + x86_avx_cvtdq2_pd_256, // llvm.x86.avx.cvtdq2.pd.256 + x86_avx_cvtdq2_ps_256, // llvm.x86.avx.cvtdq2.ps.256 + x86_avx_cvtt_pd2dq_256, // llvm.x86.avx.cvtt.pd2dq.256 + x86_avx_cvtt_ps2dq_256, // llvm.x86.avx.cvtt.ps2dq.256 + x86_avx_dp_ps_256, // llvm.x86.avx.dp.ps.256 + x86_avx_hadd_pd_256, // llvm.x86.avx.hadd.pd.256 + x86_avx_hadd_ps_256, // llvm.x86.avx.hadd.ps.256 + x86_avx_hsub_pd_256, // llvm.x86.avx.hsub.pd.256 + x86_avx_hsub_ps_256, // llvm.x86.avx.hsub.ps.256 + x86_avx_ldu_dq_256, // llvm.x86.avx.ldu.dq.256 + x86_avx_maskload_pd, // llvm.x86.avx.maskload.pd + x86_avx_maskload_pd_256, // llvm.x86.avx.maskload.pd.256 + x86_avx_maskload_ps, // llvm.x86.avx.maskload.ps + x86_avx_maskload_ps_256, // llvm.x86.avx.maskload.ps.256 + x86_avx_maskstore_pd, // llvm.x86.avx.maskstore.pd + x86_avx_maskstore_pd_256, // llvm.x86.avx.maskstore.pd.256 + x86_avx_maskstore_ps, // llvm.x86.avx.maskstore.ps + x86_avx_maskstore_ps_256, // llvm.x86.avx.maskstore.ps.256 + x86_avx_max_pd_256, // llvm.x86.avx.max.pd.256 + x86_avx_max_ps_256, // llvm.x86.avx.max.ps.256 + x86_avx_min_pd_256, // llvm.x86.avx.min.pd.256 + x86_avx_min_ps_256, // llvm.x86.avx.min.ps.256 + x86_avx_movmsk_pd_256, // llvm.x86.avx.movmsk.pd.256 + x86_avx_movmsk_ps_256, // llvm.x86.avx.movmsk.ps.256 + x86_avx_ptestc_256, // llvm.x86.avx.ptestc.256 + x86_avx_ptestnzc_256, // llvm.x86.avx.ptestnzc.256 + x86_avx_ptestz_256, // llvm.x86.avx.ptestz.256 + x86_avx_rcp_ps_256, // llvm.x86.avx.rcp.ps.256 + x86_avx_round_pd_256, // llvm.x86.avx.round.pd.256 + x86_avx_round_ps_256, // llvm.x86.avx.round.ps.256 + x86_avx_rsqrt_ps_256, // llvm.x86.avx.rsqrt.ps.256 + x86_avx_sqrt_pd_256, // llvm.x86.avx.sqrt.pd.256 + x86_avx_sqrt_ps_256, // llvm.x86.avx.sqrt.ps.256 + x86_avx_storeu_dq_256, // llvm.x86.avx.storeu.dq.256 + x86_avx_storeu_pd_256, // llvm.x86.avx.storeu.pd.256 + x86_avx_storeu_ps_256, // llvm.x86.avx.storeu.ps.256 + x86_avx_vbroadcastf128_pd_256, // llvm.x86.avx.vbroadcastf128.pd.256 + x86_avx_vbroadcastf128_ps_256, // llvm.x86.avx.vbroadcastf128.ps.256 + x86_avx_vextractf128_pd_256, // llvm.x86.avx.vextractf128.pd.256 + x86_avx_vextractf128_ps_256, // llvm.x86.avx.vextractf128.ps.256 + x86_avx_vextractf128_si_256, // llvm.x86.avx.vextractf128.si.256 + x86_avx_vinsertf128_pd_256, // llvm.x86.avx.vinsertf128.pd.256 + x86_avx_vinsertf128_ps_256, // llvm.x86.avx.vinsertf128.ps.256 + x86_avx_vinsertf128_si_256, // llvm.x86.avx.vinsertf128.si.256 + x86_avx_vperm2f128_pd_256, // llvm.x86.avx.vperm2f128.pd.256 + x86_avx_vperm2f128_ps_256, // llvm.x86.avx.vperm2f128.ps.256 + x86_avx_vperm2f128_si_256, // llvm.x86.avx.vperm2f128.si.256 + x86_avx_vpermilvar_pd, // llvm.x86.avx.vpermilvar.pd + x86_avx_vpermilvar_pd_256, // llvm.x86.avx.vpermilvar.pd.256 + x86_avx_vpermilvar_ps, // llvm.x86.avx.vpermilvar.ps + x86_avx_vpermilvar_ps_256, // llvm.x86.avx.vpermilvar.ps.256 + x86_avx_vtestc_pd, // llvm.x86.avx.vtestc.pd + x86_avx_vtestc_pd_256, // llvm.x86.avx.vtestc.pd.256 + x86_avx_vtestc_ps, // llvm.x86.avx.vtestc.ps + x86_avx_vtestc_ps_256, // llvm.x86.avx.vtestc.ps.256 + x86_avx_vtestnzc_pd, // llvm.x86.avx.vtestnzc.pd + x86_avx_vtestnzc_pd_256, // llvm.x86.avx.vtestnzc.pd.256 + x86_avx_vtestnzc_ps, // llvm.x86.avx.vtestnzc.ps + x86_avx_vtestnzc_ps_256, // llvm.x86.avx.vtestnzc.ps.256 + x86_avx_vtestz_pd, // llvm.x86.avx.vtestz.pd + x86_avx_vtestz_pd_256, // llvm.x86.avx.vtestz.pd.256 + x86_avx_vtestz_ps, // llvm.x86.avx.vtestz.ps + x86_avx_vtestz_ps_256, // llvm.x86.avx.vtestz.ps.256 + x86_avx_vzeroall, // llvm.x86.avx.vzeroall + x86_avx_vzeroupper, // llvm.x86.avx.vzeroupper + x86_bmi_bextr_32, // llvm.x86.bmi.bextr.32 + x86_bmi_bextr_64, // llvm.x86.bmi.bextr.64 + x86_bmi_bzhi_32, // llvm.x86.bmi.bzhi.32 + x86_bmi_bzhi_64, // llvm.x86.bmi.bzhi.64 + x86_bmi_pdep_32, // llvm.x86.bmi.pdep.32 + x86_bmi_pdep_64, // llvm.x86.bmi.pdep.64 + x86_bmi_pext_32, // llvm.x86.bmi.pext.32 + x86_bmi_pext_64, // llvm.x86.bmi.pext.64 + x86_fma_vfmadd_pd, // llvm.x86.fma.vfmadd.pd + x86_fma_vfmadd_pd_256, // llvm.x86.fma.vfmadd.pd.256 + x86_fma_vfmadd_pd_512, // llvm.x86.fma.vfmadd.pd.512 + x86_fma_vfmadd_ps, // llvm.x86.fma.vfmadd.ps + x86_fma_vfmadd_ps_256, // llvm.x86.fma.vfmadd.ps.256 + x86_fma_vfmadd_ps_512, // llvm.x86.fma.vfmadd.ps.512 + x86_fma_vfmadd_sd, // llvm.x86.fma.vfmadd.sd + x86_fma_vfmadd_ss, // llvm.x86.fma.vfmadd.ss + x86_fma_vfmaddsub_pd, // llvm.x86.fma.vfmaddsub.pd + x86_fma_vfmaddsub_pd_256, // llvm.x86.fma.vfmaddsub.pd.256 + x86_fma_vfmaddsub_pd_512, // llvm.x86.fma.vfmaddsub.pd.512 + x86_fma_vfmaddsub_ps, // llvm.x86.fma.vfmaddsub.ps + x86_fma_vfmaddsub_ps_256, // llvm.x86.fma.vfmaddsub.ps.256 + x86_fma_vfmaddsub_ps_512, // llvm.x86.fma.vfmaddsub.ps.512 + x86_fma_vfmsub_pd, // llvm.x86.fma.vfmsub.pd + x86_fma_vfmsub_pd_256, // llvm.x86.fma.vfmsub.pd.256 + x86_fma_vfmsub_pd_512, // llvm.x86.fma.vfmsub.pd.512 + x86_fma_vfmsub_ps, // llvm.x86.fma.vfmsub.ps + x86_fma_vfmsub_ps_256, // llvm.x86.fma.vfmsub.ps.256 + x86_fma_vfmsub_ps_512, // llvm.x86.fma.vfmsub.ps.512 + x86_fma_vfmsub_sd, // llvm.x86.fma.vfmsub.sd + x86_fma_vfmsub_ss, // llvm.x86.fma.vfmsub.ss + x86_fma_vfmsubadd_pd, // llvm.x86.fma.vfmsubadd.pd + x86_fma_vfmsubadd_pd_256, // llvm.x86.fma.vfmsubadd.pd.256 + x86_fma_vfmsubadd_pd_512, // llvm.x86.fma.vfmsubadd.pd.512 + x86_fma_vfmsubadd_ps, // llvm.x86.fma.vfmsubadd.ps + x86_fma_vfmsubadd_ps_256, // llvm.x86.fma.vfmsubadd.ps.256 + x86_fma_vfmsubadd_ps_512, // llvm.x86.fma.vfmsubadd.ps.512 + x86_fma_vfnmadd_pd, // llvm.x86.fma.vfnmadd.pd + x86_fma_vfnmadd_pd_256, // llvm.x86.fma.vfnmadd.pd.256 + x86_fma_vfnmadd_pd_512, // llvm.x86.fma.vfnmadd.pd.512 + x86_fma_vfnmadd_ps, // llvm.x86.fma.vfnmadd.ps + x86_fma_vfnmadd_ps_256, // llvm.x86.fma.vfnmadd.ps.256 + x86_fma_vfnmadd_ps_512, // llvm.x86.fma.vfnmadd.ps.512 + x86_fma_vfnmadd_sd, // llvm.x86.fma.vfnmadd.sd + x86_fma_vfnmadd_ss, // llvm.x86.fma.vfnmadd.ss + x86_fma_vfnmsub_pd, // llvm.x86.fma.vfnmsub.pd + x86_fma_vfnmsub_pd_256, // llvm.x86.fma.vfnmsub.pd.256 + x86_fma_vfnmsub_pd_512, // llvm.x86.fma.vfnmsub.pd.512 + x86_fma_vfnmsub_ps, // llvm.x86.fma.vfnmsub.ps + x86_fma_vfnmsub_ps_256, // llvm.x86.fma.vfnmsub.ps.256 + x86_fma_vfnmsub_ps_512, // llvm.x86.fma.vfnmsub.ps.512 + x86_fma_vfnmsub_sd, // llvm.x86.fma.vfnmsub.sd + x86_fma_vfnmsub_ss, // llvm.x86.fma.vfnmsub.ss + x86_int, // llvm.x86.int + x86_mmx_emms, // llvm.x86.mmx.emms + x86_mmx_femms, // llvm.x86.mmx.femms + x86_mmx_maskmovq, // llvm.x86.mmx.maskmovq + x86_mmx_movnt_dq, // llvm.x86.mmx.movnt.dq + x86_mmx_packssdw, // llvm.x86.mmx.packssdw + x86_mmx_packsswb, // llvm.x86.mmx.packsswb + x86_mmx_packuswb, // llvm.x86.mmx.packuswb + x86_mmx_padd_b, // llvm.x86.mmx.padd.b + x86_mmx_padd_d, // llvm.x86.mmx.padd.d + x86_mmx_padd_q, // llvm.x86.mmx.padd.q + x86_mmx_padd_w, // llvm.x86.mmx.padd.w + x86_mmx_padds_b, // llvm.x86.mmx.padds.b + x86_mmx_padds_w, // llvm.x86.mmx.padds.w + x86_mmx_paddus_b, // llvm.x86.mmx.paddus.b + x86_mmx_paddus_w, // llvm.x86.mmx.paddus.w + x86_mmx_palignr_b, // llvm.x86.mmx.palignr.b + x86_mmx_pand, // llvm.x86.mmx.pand + x86_mmx_pandn, // llvm.x86.mmx.pandn + x86_mmx_pavg_b, // llvm.x86.mmx.pavg.b + x86_mmx_pavg_w, // llvm.x86.mmx.pavg.w + x86_mmx_pcmpeq_b, // llvm.x86.mmx.pcmpeq.b + x86_mmx_pcmpeq_d, // llvm.x86.mmx.pcmpeq.d + x86_mmx_pcmpeq_w, // llvm.x86.mmx.pcmpeq.w + x86_mmx_pcmpgt_b, // llvm.x86.mmx.pcmpgt.b + x86_mmx_pcmpgt_d, // llvm.x86.mmx.pcmpgt.d + x86_mmx_pcmpgt_w, // llvm.x86.mmx.pcmpgt.w + x86_mmx_pextr_w, // llvm.x86.mmx.pextr.w + x86_mmx_pinsr_w, // llvm.x86.mmx.pinsr.w + x86_mmx_pmadd_wd, // llvm.x86.mmx.pmadd.wd + x86_mmx_pmaxs_w, // llvm.x86.mmx.pmaxs.w + x86_mmx_pmaxu_b, // llvm.x86.mmx.pmaxu.b + x86_mmx_pmins_w, // llvm.x86.mmx.pmins.w + x86_mmx_pminu_b, // llvm.x86.mmx.pminu.b + x86_mmx_pmovmskb, // llvm.x86.mmx.pmovmskb + x86_mmx_pmulh_w, // llvm.x86.mmx.pmulh.w + x86_mmx_pmulhu_w, // llvm.x86.mmx.pmulhu.w + x86_mmx_pmull_w, // llvm.x86.mmx.pmull.w + x86_mmx_pmulu_dq, // llvm.x86.mmx.pmulu.dq + x86_mmx_por, // llvm.x86.mmx.por + x86_mmx_psad_bw, // llvm.x86.mmx.psad.bw + x86_mmx_psll_d, // llvm.x86.mmx.psll.d + x86_mmx_psll_q, // llvm.x86.mmx.psll.q + x86_mmx_psll_w, // llvm.x86.mmx.psll.w + x86_mmx_pslli_d, // llvm.x86.mmx.pslli.d + x86_mmx_pslli_q, // llvm.x86.mmx.pslli.q + x86_mmx_pslli_w, // llvm.x86.mmx.pslli.w + x86_mmx_psra_d, // llvm.x86.mmx.psra.d + x86_mmx_psra_w, // llvm.x86.mmx.psra.w + x86_mmx_psrai_d, // llvm.x86.mmx.psrai.d + x86_mmx_psrai_w, // llvm.x86.mmx.psrai.w + x86_mmx_psrl_d, // llvm.x86.mmx.psrl.d + x86_mmx_psrl_q, // llvm.x86.mmx.psrl.q + x86_mmx_psrl_w, // llvm.x86.mmx.psrl.w + x86_mmx_psrli_d, // llvm.x86.mmx.psrli.d + x86_mmx_psrli_q, // llvm.x86.mmx.psrli.q + x86_mmx_psrli_w, // llvm.x86.mmx.psrli.w + x86_mmx_psub_b, // llvm.x86.mmx.psub.b + x86_mmx_psub_d, // llvm.x86.mmx.psub.d + x86_mmx_psub_q, // llvm.x86.mmx.psub.q + x86_mmx_psub_w, // llvm.x86.mmx.psub.w + x86_mmx_psubs_b, // llvm.x86.mmx.psubs.b + x86_mmx_psubs_w, // llvm.x86.mmx.psubs.w + x86_mmx_psubus_b, // llvm.x86.mmx.psubus.b + x86_mmx_psubus_w, // llvm.x86.mmx.psubus.w + x86_mmx_punpckhbw, // llvm.x86.mmx.punpckhbw + x86_mmx_punpckhdq, // llvm.x86.mmx.punpckhdq + x86_mmx_punpckhwd, // llvm.x86.mmx.punpckhwd + x86_mmx_punpcklbw, // llvm.x86.mmx.punpcklbw + x86_mmx_punpckldq, // llvm.x86.mmx.punpckldq + x86_mmx_punpcklwd, // llvm.x86.mmx.punpcklwd + x86_mmx_pxor, // llvm.x86.mmx.pxor + x86_pclmulqdq, // llvm.x86.pclmulqdq + x86_rdfsbase_32, // llvm.x86.rdfsbase.32 + x86_rdfsbase_64, // llvm.x86.rdfsbase.64 + x86_rdgsbase_32, // llvm.x86.rdgsbase.32 + x86_rdgsbase_64, // llvm.x86.rdgsbase.64 + x86_rdpmc, // llvm.x86.rdpmc + x86_rdrand_16, // llvm.x86.rdrand.16 + x86_rdrand_32, // llvm.x86.rdrand.32 + x86_rdrand_64, // llvm.x86.rdrand.64 + x86_rdseed_16, // llvm.x86.rdseed.16 + x86_rdseed_32, // llvm.x86.rdseed.32 + x86_rdseed_64, // llvm.x86.rdseed.64 + x86_rdtsc, // llvm.x86.rdtsc + x86_rdtscp, // llvm.x86.rdtscp + x86_sha1msg1, // llvm.x86.sha1msg1 + x86_sha1msg2, // llvm.x86.sha1msg2 + x86_sha1nexte, // llvm.x86.sha1nexte + x86_sha1rnds4, // llvm.x86.sha1rnds4 + x86_sha256msg1, // llvm.x86.sha256msg1 + x86_sha256msg2, // llvm.x86.sha256msg2 + x86_sha256rnds2, // llvm.x86.sha256rnds2 + x86_sse2_add_sd, // llvm.x86.sse2.add.sd + x86_sse2_clflush, // llvm.x86.sse2.clflush + x86_sse2_cmp_pd, // llvm.x86.sse2.cmp.pd + x86_sse2_cmp_sd, // llvm.x86.sse2.cmp.sd + x86_sse2_comieq_sd, // llvm.x86.sse2.comieq.sd + x86_sse2_comige_sd, // llvm.x86.sse2.comige.sd + x86_sse2_comigt_sd, // llvm.x86.sse2.comigt.sd + x86_sse2_comile_sd, // llvm.x86.sse2.comile.sd + x86_sse2_comilt_sd, // llvm.x86.sse2.comilt.sd + x86_sse2_comineq_sd, // llvm.x86.sse2.comineq.sd + x86_sse2_cvtdq2pd, // llvm.x86.sse2.cvtdq2pd + x86_sse2_cvtdq2ps, // llvm.x86.sse2.cvtdq2ps + x86_sse2_cvtpd2dq, // llvm.x86.sse2.cvtpd2dq + x86_sse2_cvtpd2ps, // llvm.x86.sse2.cvtpd2ps + x86_sse2_cvtps2dq, // llvm.x86.sse2.cvtps2dq + x86_sse2_cvtps2pd, // llvm.x86.sse2.cvtps2pd + x86_sse2_cvtsd2si, // llvm.x86.sse2.cvtsd2si + x86_sse2_cvtsd2si64, // llvm.x86.sse2.cvtsd2si64 + x86_sse2_cvtsd2ss, // llvm.x86.sse2.cvtsd2ss + x86_sse2_cvtsi2sd, // llvm.x86.sse2.cvtsi2sd + x86_sse2_cvtsi642sd, // llvm.x86.sse2.cvtsi642sd + x86_sse2_cvtss2sd, // llvm.x86.sse2.cvtss2sd + x86_sse2_cvttpd2dq, // llvm.x86.sse2.cvttpd2dq + x86_sse2_cvttps2dq, // llvm.x86.sse2.cvttps2dq + x86_sse2_cvttsd2si, // llvm.x86.sse2.cvttsd2si + x86_sse2_cvttsd2si64, // llvm.x86.sse2.cvttsd2si64 + x86_sse2_div_sd, // llvm.x86.sse2.div.sd + x86_sse2_lfence, // llvm.x86.sse2.lfence + x86_sse2_maskmov_dqu, // llvm.x86.sse2.maskmov.dqu + x86_sse2_max_pd, // llvm.x86.sse2.max.pd + x86_sse2_max_sd, // llvm.x86.sse2.max.sd + x86_sse2_mfence, // llvm.x86.sse2.mfence + x86_sse2_min_pd, // llvm.x86.sse2.min.pd + x86_sse2_min_sd, // llvm.x86.sse2.min.sd + x86_sse2_movmsk_pd, // llvm.x86.sse2.movmsk.pd + x86_sse2_mul_sd, // llvm.x86.sse2.mul.sd + x86_sse2_packssdw_128, // llvm.x86.sse2.packssdw.128 + x86_sse2_packsswb_128, // llvm.x86.sse2.packsswb.128 + x86_sse2_packuswb_128, // llvm.x86.sse2.packuswb.128 + x86_sse2_padds_b, // llvm.x86.sse2.padds.b + x86_sse2_padds_w, // llvm.x86.sse2.padds.w + x86_sse2_paddus_b, // llvm.x86.sse2.paddus.b + x86_sse2_paddus_w, // llvm.x86.sse2.paddus.w + x86_sse2_pause, // llvm.x86.sse2.pause + x86_sse2_pavg_b, // llvm.x86.sse2.pavg.b + x86_sse2_pavg_w, // llvm.x86.sse2.pavg.w + x86_sse2_pmadd_wd, // llvm.x86.sse2.pmadd.wd + x86_sse2_pmaxs_w, // llvm.x86.sse2.pmaxs.w + x86_sse2_pmaxu_b, // llvm.x86.sse2.pmaxu.b + x86_sse2_pmins_w, // llvm.x86.sse2.pmins.w + x86_sse2_pminu_b, // llvm.x86.sse2.pminu.b + x86_sse2_pmovmskb_128, // llvm.x86.sse2.pmovmskb.128 + x86_sse2_pmulh_w, // llvm.x86.sse2.pmulh.w + x86_sse2_pmulhu_w, // llvm.x86.sse2.pmulhu.w + x86_sse2_pmulu_dq, // llvm.x86.sse2.pmulu.dq + x86_sse2_psad_bw, // llvm.x86.sse2.psad.bw + x86_sse2_pshuf_d, // llvm.x86.sse2.pshuf.d + x86_sse2_pshufh_w, // llvm.x86.sse2.pshufh.w + x86_sse2_pshufl_w, // llvm.x86.sse2.pshufl.w + x86_sse2_psll_d, // llvm.x86.sse2.psll.d + x86_sse2_psll_dq, // llvm.x86.sse2.psll.dq + x86_sse2_psll_dq_bs, // llvm.x86.sse2.psll.dq.bs + x86_sse2_psll_q, // llvm.x86.sse2.psll.q + x86_sse2_psll_w, // llvm.x86.sse2.psll.w + x86_sse2_pslli_d, // llvm.x86.sse2.pslli.d + x86_sse2_pslli_q, // llvm.x86.sse2.pslli.q + x86_sse2_pslli_w, // llvm.x86.sse2.pslli.w + x86_sse2_psra_d, // llvm.x86.sse2.psra.d + x86_sse2_psra_w, // llvm.x86.sse2.psra.w + x86_sse2_psrai_d, // llvm.x86.sse2.psrai.d + x86_sse2_psrai_w, // llvm.x86.sse2.psrai.w + x86_sse2_psrl_d, // llvm.x86.sse2.psrl.d + x86_sse2_psrl_dq, // llvm.x86.sse2.psrl.dq + x86_sse2_psrl_dq_bs, // llvm.x86.sse2.psrl.dq.bs + x86_sse2_psrl_q, // llvm.x86.sse2.psrl.q + x86_sse2_psrl_w, // llvm.x86.sse2.psrl.w + x86_sse2_psrli_d, // llvm.x86.sse2.psrli.d + x86_sse2_psrli_q, // llvm.x86.sse2.psrli.q + x86_sse2_psrli_w, // llvm.x86.sse2.psrli.w + x86_sse2_psubs_b, // llvm.x86.sse2.psubs.b + x86_sse2_psubs_w, // llvm.x86.sse2.psubs.w + x86_sse2_psubus_b, // llvm.x86.sse2.psubus.b + x86_sse2_psubus_w, // llvm.x86.sse2.psubus.w + x86_sse2_sqrt_pd, // llvm.x86.sse2.sqrt.pd + x86_sse2_sqrt_sd, // llvm.x86.sse2.sqrt.sd + x86_sse2_storel_dq, // llvm.x86.sse2.storel.dq + x86_sse2_storeu_dq, // llvm.x86.sse2.storeu.dq + x86_sse2_storeu_pd, // llvm.x86.sse2.storeu.pd + x86_sse2_sub_sd, // llvm.x86.sse2.sub.sd + x86_sse2_ucomieq_sd, // llvm.x86.sse2.ucomieq.sd + x86_sse2_ucomige_sd, // llvm.x86.sse2.ucomige.sd + x86_sse2_ucomigt_sd, // llvm.x86.sse2.ucomigt.sd + x86_sse2_ucomile_sd, // llvm.x86.sse2.ucomile.sd + x86_sse2_ucomilt_sd, // llvm.x86.sse2.ucomilt.sd + x86_sse2_ucomineq_sd, // llvm.x86.sse2.ucomineq.sd + x86_sse3_addsub_pd, // llvm.x86.sse3.addsub.pd + x86_sse3_addsub_ps, // llvm.x86.sse3.addsub.ps + x86_sse3_hadd_pd, // llvm.x86.sse3.hadd.pd + x86_sse3_hadd_ps, // llvm.x86.sse3.hadd.ps + x86_sse3_hsub_pd, // llvm.x86.sse3.hsub.pd + x86_sse3_hsub_ps, // llvm.x86.sse3.hsub.ps + x86_sse3_ldu_dq, // llvm.x86.sse3.ldu.dq + x86_sse3_monitor, // llvm.x86.sse3.monitor + x86_sse3_mwait, // llvm.x86.sse3.mwait + x86_sse41_blendpd, // llvm.x86.sse41.blendpd + x86_sse41_blendps, // llvm.x86.sse41.blendps + x86_sse41_blendvpd, // llvm.x86.sse41.blendvpd + x86_sse41_blendvps, // llvm.x86.sse41.blendvps + x86_sse41_dppd, // llvm.x86.sse41.dppd + x86_sse41_dpps, // llvm.x86.sse41.dpps + x86_sse41_extractps, // llvm.x86.sse41.extractps + x86_sse41_insertps, // llvm.x86.sse41.insertps + x86_sse41_movntdqa, // llvm.x86.sse41.movntdqa + x86_sse41_mpsadbw, // llvm.x86.sse41.mpsadbw + x86_sse41_packusdw, // llvm.x86.sse41.packusdw + x86_sse41_pblendvb, // llvm.x86.sse41.pblendvb + x86_sse41_pblendw, // llvm.x86.sse41.pblendw + x86_sse41_pextrb, // llvm.x86.sse41.pextrb + x86_sse41_pextrd, // llvm.x86.sse41.pextrd + x86_sse41_pextrq, // llvm.x86.sse41.pextrq + x86_sse41_phminposuw, // llvm.x86.sse41.phminposuw + x86_sse41_pmaxsb, // llvm.x86.sse41.pmaxsb + x86_sse41_pmaxsd, // llvm.x86.sse41.pmaxsd + x86_sse41_pmaxud, // llvm.x86.sse41.pmaxud + x86_sse41_pmaxuw, // llvm.x86.sse41.pmaxuw + x86_sse41_pminsb, // llvm.x86.sse41.pminsb + x86_sse41_pminsd, // llvm.x86.sse41.pminsd + x86_sse41_pminud, // llvm.x86.sse41.pminud + x86_sse41_pminuw, // llvm.x86.sse41.pminuw + x86_sse41_pmovsxbd, // llvm.x86.sse41.pmovsxbd + x86_sse41_pmovsxbq, // llvm.x86.sse41.pmovsxbq + x86_sse41_pmovsxbw, // llvm.x86.sse41.pmovsxbw + x86_sse41_pmovsxdq, // llvm.x86.sse41.pmovsxdq + x86_sse41_pmovsxwd, // llvm.x86.sse41.pmovsxwd + x86_sse41_pmovsxwq, // llvm.x86.sse41.pmovsxwq + x86_sse41_pmovzxbd, // llvm.x86.sse41.pmovzxbd + x86_sse41_pmovzxbq, // llvm.x86.sse41.pmovzxbq + x86_sse41_pmovzxbw, // llvm.x86.sse41.pmovzxbw + x86_sse41_pmovzxdq, // llvm.x86.sse41.pmovzxdq + x86_sse41_pmovzxwd, // llvm.x86.sse41.pmovzxwd + x86_sse41_pmovzxwq, // llvm.x86.sse41.pmovzxwq + x86_sse41_pmuldq, // llvm.x86.sse41.pmuldq + x86_sse41_ptestc, // llvm.x86.sse41.ptestc + x86_sse41_ptestnzc, // llvm.x86.sse41.ptestnzc + x86_sse41_ptestz, // llvm.x86.sse41.ptestz + x86_sse41_round_pd, // llvm.x86.sse41.round.pd + x86_sse41_round_ps, // llvm.x86.sse41.round.ps + x86_sse41_round_sd, // llvm.x86.sse41.round.sd + x86_sse41_round_ss, // llvm.x86.sse41.round.ss + x86_sse42_crc32_32_16, // llvm.x86.sse42.crc32.32.16 + x86_sse42_crc32_32_32, // llvm.x86.sse42.crc32.32.32 + x86_sse42_crc32_32_8, // llvm.x86.sse42.crc32.32.8 + x86_sse42_crc32_64_64, // llvm.x86.sse42.crc32.64.64 + x86_sse42_pcmpestri128, // llvm.x86.sse42.pcmpestri128 + x86_sse42_pcmpestria128, // llvm.x86.sse42.pcmpestria128 + x86_sse42_pcmpestric128, // llvm.x86.sse42.pcmpestric128 + x86_sse42_pcmpestrio128, // llvm.x86.sse42.pcmpestrio128 + x86_sse42_pcmpestris128, // llvm.x86.sse42.pcmpestris128 + x86_sse42_pcmpestriz128, // llvm.x86.sse42.pcmpestriz128 + x86_sse42_pcmpestrm128, // llvm.x86.sse42.pcmpestrm128 + x86_sse42_pcmpistri128, // llvm.x86.sse42.pcmpistri128 + x86_sse42_pcmpistria128, // llvm.x86.sse42.pcmpistria128 + x86_sse42_pcmpistric128, // llvm.x86.sse42.pcmpistric128 + x86_sse42_pcmpistrio128, // llvm.x86.sse42.pcmpistrio128 + x86_sse42_pcmpistris128, // llvm.x86.sse42.pcmpistris128 + x86_sse42_pcmpistriz128, // llvm.x86.sse42.pcmpistriz128 + x86_sse42_pcmpistrm128, // llvm.x86.sse42.pcmpistrm128 + x86_sse4a_extrq, // llvm.x86.sse4a.extrq + x86_sse4a_extrqi, // llvm.x86.sse4a.extrqi + x86_sse4a_insertq, // llvm.x86.sse4a.insertq + x86_sse4a_insertqi, // llvm.x86.sse4a.insertqi + x86_sse4a_movnt_sd, // llvm.x86.sse4a.movnt.sd + x86_sse4a_movnt_ss, // llvm.x86.sse4a.movnt.ss + x86_sse_add_ss, // llvm.x86.sse.add.ss + x86_sse_cmp_ps, // llvm.x86.sse.cmp.ps + x86_sse_cmp_ss, // llvm.x86.sse.cmp.ss + x86_sse_comieq_ss, // llvm.x86.sse.comieq.ss + x86_sse_comige_ss, // llvm.x86.sse.comige.ss + x86_sse_comigt_ss, // llvm.x86.sse.comigt.ss + x86_sse_comile_ss, // llvm.x86.sse.comile.ss + x86_sse_comilt_ss, // llvm.x86.sse.comilt.ss + x86_sse_comineq_ss, // llvm.x86.sse.comineq.ss + x86_sse_cvtpd2pi, // llvm.x86.sse.cvtpd2pi + x86_sse_cvtpi2pd, // llvm.x86.sse.cvtpi2pd + x86_sse_cvtpi2ps, // llvm.x86.sse.cvtpi2ps + x86_sse_cvtps2pi, // llvm.x86.sse.cvtps2pi + x86_sse_cvtsi2ss, // llvm.x86.sse.cvtsi2ss + x86_sse_cvtsi642ss, // llvm.x86.sse.cvtsi642ss + x86_sse_cvtss2si, // llvm.x86.sse.cvtss2si + x86_sse_cvtss2si64, // llvm.x86.sse.cvtss2si64 + x86_sse_cvttpd2pi, // llvm.x86.sse.cvttpd2pi + x86_sse_cvttps2pi, // llvm.x86.sse.cvttps2pi + x86_sse_cvttss2si, // llvm.x86.sse.cvttss2si + x86_sse_cvttss2si64, // llvm.x86.sse.cvttss2si64 + x86_sse_div_ss, // llvm.x86.sse.div.ss + x86_sse_ldmxcsr, // llvm.x86.sse.ldmxcsr + x86_sse_max_ps, // llvm.x86.sse.max.ps + x86_sse_max_ss, // llvm.x86.sse.max.ss + x86_sse_min_ps, // llvm.x86.sse.min.ps + x86_sse_min_ss, // llvm.x86.sse.min.ss + x86_sse_movmsk_ps, // llvm.x86.sse.movmsk.ps + x86_sse_mul_ss, // llvm.x86.sse.mul.ss + x86_sse_pshuf_w, // llvm.x86.sse.pshuf.w + x86_sse_rcp_ps, // llvm.x86.sse.rcp.ps + x86_sse_rcp_ss, // llvm.x86.sse.rcp.ss + x86_sse_rsqrt_ps, // llvm.x86.sse.rsqrt.ps + x86_sse_rsqrt_ss, // llvm.x86.sse.rsqrt.ss + x86_sse_sfence, // llvm.x86.sse.sfence + x86_sse_sqrt_ps, // llvm.x86.sse.sqrt.ps + x86_sse_sqrt_ss, // llvm.x86.sse.sqrt.ss + x86_sse_stmxcsr, // llvm.x86.sse.stmxcsr + x86_sse_storeu_ps, // llvm.x86.sse.storeu.ps + x86_sse_sub_ss, // llvm.x86.sse.sub.ss + x86_sse_ucomieq_ss, // llvm.x86.sse.ucomieq.ss + x86_sse_ucomige_ss, // llvm.x86.sse.ucomige.ss + x86_sse_ucomigt_ss, // llvm.x86.sse.ucomigt.ss + x86_sse_ucomile_ss, // llvm.x86.sse.ucomile.ss + x86_sse_ucomilt_ss, // llvm.x86.sse.ucomilt.ss + x86_sse_ucomineq_ss, // llvm.x86.sse.ucomineq.ss + x86_ssse3_pabs_b, // llvm.x86.ssse3.pabs.b + x86_ssse3_pabs_b_128, // llvm.x86.ssse3.pabs.b.128 + x86_ssse3_pabs_d, // llvm.x86.ssse3.pabs.d + x86_ssse3_pabs_d_128, // llvm.x86.ssse3.pabs.d.128 + x86_ssse3_pabs_w, // llvm.x86.ssse3.pabs.w + x86_ssse3_pabs_w_128, // llvm.x86.ssse3.pabs.w.128 + x86_ssse3_phadd_d, // llvm.x86.ssse3.phadd.d + x86_ssse3_phadd_d_128, // llvm.x86.ssse3.phadd.d.128 + x86_ssse3_phadd_sw, // llvm.x86.ssse3.phadd.sw + x86_ssse3_phadd_sw_128, // llvm.x86.ssse3.phadd.sw.128 + x86_ssse3_phadd_w, // llvm.x86.ssse3.phadd.w + x86_ssse3_phadd_w_128, // llvm.x86.ssse3.phadd.w.128 + x86_ssse3_phsub_d, // llvm.x86.ssse3.phsub.d + x86_ssse3_phsub_d_128, // llvm.x86.ssse3.phsub.d.128 + x86_ssse3_phsub_sw, // llvm.x86.ssse3.phsub.sw + x86_ssse3_phsub_sw_128, // llvm.x86.ssse3.phsub.sw.128 + x86_ssse3_phsub_w, // llvm.x86.ssse3.phsub.w + x86_ssse3_phsub_w_128, // llvm.x86.ssse3.phsub.w.128 + x86_ssse3_pmadd_ub_sw, // llvm.x86.ssse3.pmadd.ub.sw + x86_ssse3_pmadd_ub_sw_128, // llvm.x86.ssse3.pmadd.ub.sw.128 + x86_ssse3_pmul_hr_sw, // llvm.x86.ssse3.pmul.hr.sw + x86_ssse3_pmul_hr_sw_128, // llvm.x86.ssse3.pmul.hr.sw.128 + x86_ssse3_pshuf_b, // llvm.x86.ssse3.pshuf.b + x86_ssse3_pshuf_b_128, // llvm.x86.ssse3.pshuf.b.128 + x86_ssse3_psign_b, // llvm.x86.ssse3.psign.b + x86_ssse3_psign_b_128, // llvm.x86.ssse3.psign.b.128 + x86_ssse3_psign_d, // llvm.x86.ssse3.psign.d + x86_ssse3_psign_d_128, // llvm.x86.ssse3.psign.d.128 + x86_ssse3_psign_w, // llvm.x86.ssse3.psign.w + x86_ssse3_psign_w_128, // llvm.x86.ssse3.psign.w.128 + x86_tbm_bextri_u32, // llvm.x86.tbm.bextri.u32 + x86_tbm_bextri_u64, // llvm.x86.tbm.bextri.u64 + x86_vcvtph2ps_128, // llvm.x86.vcvtph2ps.128 + x86_vcvtph2ps_256, // llvm.x86.vcvtph2ps.256 + x86_vcvtps2ph_128, // llvm.x86.vcvtps2ph.128 + x86_vcvtps2ph_256, // llvm.x86.vcvtps2ph.256 + x86_wrfsbase_32, // llvm.x86.wrfsbase.32 + x86_wrfsbase_64, // llvm.x86.wrfsbase.64 + x86_wrgsbase_32, // llvm.x86.wrgsbase.32 + x86_wrgsbase_64, // llvm.x86.wrgsbase.64 + x86_xabort, // llvm.x86.xabort + x86_xbegin, // llvm.x86.xbegin + x86_xend, // llvm.x86.xend + x86_xop_vfrcz_pd, // llvm.x86.xop.vfrcz.pd + x86_xop_vfrcz_pd_256, // llvm.x86.xop.vfrcz.pd.256 + x86_xop_vfrcz_ps, // llvm.x86.xop.vfrcz.ps + x86_xop_vfrcz_ps_256, // llvm.x86.xop.vfrcz.ps.256 + x86_xop_vfrcz_sd, // llvm.x86.xop.vfrcz.sd + x86_xop_vfrcz_ss, // llvm.x86.xop.vfrcz.ss + x86_xop_vpcmov, // llvm.x86.xop.vpcmov + x86_xop_vpcmov_256, // llvm.x86.xop.vpcmov.256 + x86_xop_vpcomb, // llvm.x86.xop.vpcomb + x86_xop_vpcomd, // llvm.x86.xop.vpcomd + x86_xop_vpcomq, // llvm.x86.xop.vpcomq + x86_xop_vpcomub, // llvm.x86.xop.vpcomub + x86_xop_vpcomud, // llvm.x86.xop.vpcomud + x86_xop_vpcomuq, // llvm.x86.xop.vpcomuq + x86_xop_vpcomuw, // llvm.x86.xop.vpcomuw + x86_xop_vpcomw, // llvm.x86.xop.vpcomw + x86_xop_vpermil2pd, // llvm.x86.xop.vpermil2pd + x86_xop_vpermil2pd_256, // llvm.x86.xop.vpermil2pd.256 + x86_xop_vpermil2ps, // llvm.x86.xop.vpermil2ps + x86_xop_vpermil2ps_256, // llvm.x86.xop.vpermil2ps.256 + x86_xop_vphaddbd, // llvm.x86.xop.vphaddbd + x86_xop_vphaddbq, // llvm.x86.xop.vphaddbq + x86_xop_vphaddbw, // llvm.x86.xop.vphaddbw + x86_xop_vphadddq, // llvm.x86.xop.vphadddq + x86_xop_vphaddubd, // llvm.x86.xop.vphaddubd + x86_xop_vphaddubq, // llvm.x86.xop.vphaddubq + x86_xop_vphaddubw, // llvm.x86.xop.vphaddubw + x86_xop_vphaddudq, // llvm.x86.xop.vphaddudq + x86_xop_vphadduwd, // llvm.x86.xop.vphadduwd + x86_xop_vphadduwq, // llvm.x86.xop.vphadduwq + x86_xop_vphaddwd, // llvm.x86.xop.vphaddwd + x86_xop_vphaddwq, // llvm.x86.xop.vphaddwq + x86_xop_vphsubbw, // llvm.x86.xop.vphsubbw + x86_xop_vphsubdq, // llvm.x86.xop.vphsubdq + x86_xop_vphsubwd, // llvm.x86.xop.vphsubwd + x86_xop_vpmacsdd, // llvm.x86.xop.vpmacsdd + x86_xop_vpmacsdqh, // llvm.x86.xop.vpmacsdqh + x86_xop_vpmacsdql, // llvm.x86.xop.vpmacsdql + x86_xop_vpmacssdd, // llvm.x86.xop.vpmacssdd + x86_xop_vpmacssdqh, // llvm.x86.xop.vpmacssdqh + x86_xop_vpmacssdql, // llvm.x86.xop.vpmacssdql + x86_xop_vpmacsswd, // llvm.x86.xop.vpmacsswd + x86_xop_vpmacssww, // llvm.x86.xop.vpmacssww + x86_xop_vpmacswd, // llvm.x86.xop.vpmacswd + x86_xop_vpmacsww, // llvm.x86.xop.vpmacsww + x86_xop_vpmadcsswd, // llvm.x86.xop.vpmadcsswd + x86_xop_vpmadcswd, // llvm.x86.xop.vpmadcswd + x86_xop_vpperm, // llvm.x86.xop.vpperm + x86_xop_vprotb, // llvm.x86.xop.vprotb + x86_xop_vprotbi, // llvm.x86.xop.vprotbi + x86_xop_vprotd, // llvm.x86.xop.vprotd + x86_xop_vprotdi, // llvm.x86.xop.vprotdi + x86_xop_vprotq, // llvm.x86.xop.vprotq + x86_xop_vprotqi, // llvm.x86.xop.vprotqi + x86_xop_vprotw, // llvm.x86.xop.vprotw + x86_xop_vprotwi, // llvm.x86.xop.vprotwi + x86_xop_vpshab, // llvm.x86.xop.vpshab + x86_xop_vpshad, // llvm.x86.xop.vpshad + x86_xop_vpshaq, // llvm.x86.xop.vpshaq + x86_xop_vpshaw, // llvm.x86.xop.vpshaw + x86_xop_vpshlb, // llvm.x86.xop.vpshlb + x86_xop_vpshld, // llvm.x86.xop.vpshld + x86_xop_vpshlq, // llvm.x86.xop.vpshlq + x86_xop_vpshlw, // llvm.x86.xop.vpshlw + x86_xtest, // llvm.x86.xtest + xcore_bitrev, // llvm.xcore.bitrev + xcore_checkevent, // llvm.xcore.checkevent + xcore_chkct, // llvm.xcore.chkct + xcore_clre, // llvm.xcore.clre + xcore_clrpt, // llvm.xcore.clrpt + xcore_clrsr, // llvm.xcore.clrsr + xcore_crc32, // llvm.xcore.crc32 + xcore_crc8, // llvm.xcore.crc8 + xcore_edu, // llvm.xcore.edu + xcore_eeu, // llvm.xcore.eeu + xcore_endin, // llvm.xcore.endin + xcore_freer, // llvm.xcore.freer + xcore_geted, // llvm.xcore.geted + xcore_getet, // llvm.xcore.getet + xcore_getid, // llvm.xcore.getid + xcore_getps, // llvm.xcore.getps + xcore_getr, // llvm.xcore.getr + xcore_getst, // llvm.xcore.getst + xcore_getts, // llvm.xcore.getts + xcore_in, // llvm.xcore.in + xcore_inct, // llvm.xcore.inct + xcore_initcp, // llvm.xcore.initcp + xcore_initdp, // llvm.xcore.initdp + xcore_initlr, // llvm.xcore.initlr + xcore_initpc, // llvm.xcore.initpc + xcore_initsp, // llvm.xcore.initsp + xcore_inshr, // llvm.xcore.inshr + xcore_int, // llvm.xcore.int + xcore_mjoin, // llvm.xcore.mjoin + xcore_msync, // llvm.xcore.msync + xcore_out, // llvm.xcore.out + xcore_outct, // llvm.xcore.outct + xcore_outshr, // llvm.xcore.outshr + xcore_outt, // llvm.xcore.outt + xcore_peek, // llvm.xcore.peek + xcore_setc, // llvm.xcore.setc + xcore_setclk, // llvm.xcore.setclk + xcore_setd, // llvm.xcore.setd + xcore_setev, // llvm.xcore.setev + xcore_setps, // llvm.xcore.setps + xcore_setpsc, // llvm.xcore.setpsc + xcore_setpt, // llvm.xcore.setpt + xcore_setrdy, // llvm.xcore.setrdy + xcore_setsr, // llvm.xcore.setsr + xcore_settw, // llvm.xcore.settw + xcore_setv, // llvm.xcore.setv + xcore_sext, // llvm.xcore.sext + xcore_ssync, // llvm.xcore.ssync + xcore_syncr, // llvm.xcore.syncr + xcore_testct, // llvm.xcore.testct + xcore_testwct, // llvm.xcore.testwct + xcore_waitevent, // llvm.xcore.waitevent + xcore_zext // llvm.xcore.zext +#endif + +// Intrinsic ID to name table +#ifdef GET_INTRINSIC_NAME_TABLE + // Note that entry #0 is the invalid intrinsic! + "llvm.AMDGPU.div.fixup", + "llvm.AMDGPU.div.fmas", + "llvm.AMDGPU.div.scale", + "llvm.AMDGPU.rcp", + "llvm.AMDGPU.rsq", + "llvm.AMDGPU.rsq.clamped", + "llvm.AMDGPU.trig.preop", + "llvm.aarch64.clrex", + "llvm.aarch64.crc32b", + "llvm.aarch64.crc32cb", + "llvm.aarch64.crc32ch", + "llvm.aarch64.crc32cw", + "llvm.aarch64.crc32cx", + "llvm.aarch64.crc32h", + "llvm.aarch64.crc32w", + "llvm.aarch64.crc32x", + "llvm.aarch64.crypto.aesd", + "llvm.aarch64.crypto.aese", + "llvm.aarch64.crypto.aesimc", + "llvm.aarch64.crypto.aesmc", + "llvm.aarch64.crypto.sha1c", + "llvm.aarch64.crypto.sha1h", + "llvm.aarch64.crypto.sha1m", + "llvm.aarch64.crypto.sha1p", + "llvm.aarch64.crypto.sha1su0", + "llvm.aarch64.crypto.sha1su1", + "llvm.aarch64.crypto.sha256h", + "llvm.aarch64.crypto.sha256h2", + "llvm.aarch64.crypto.sha256su0", + "llvm.aarch64.crypto.sha256su1", + "llvm.aarch64.dmb", + "llvm.aarch64.dsb", + "llvm.aarch64.hint", + "llvm.aarch64.isb", + "llvm.aarch64.ldaxp", + "llvm.aarch64.ldaxr", + "llvm.aarch64.ldxp", + "llvm.aarch64.ldxr", + "llvm.aarch64.neon.abs", + "llvm.aarch64.neon.addhn", + "llvm.aarch64.neon.addp", + "llvm.aarch64.neon.cls", + "llvm.aarch64.neon.fabd", + "llvm.aarch64.neon.facge", + "llvm.aarch64.neon.facgt", + "llvm.aarch64.neon.faddv", + "llvm.aarch64.neon.fcvtas", + "llvm.aarch64.neon.fcvtau", + "llvm.aarch64.neon.fcvtms", + "llvm.aarch64.neon.fcvtmu", + "llvm.aarch64.neon.fcvtns", + "llvm.aarch64.neon.fcvtnu", + "llvm.aarch64.neon.fcvtps", + "llvm.aarch64.neon.fcvtpu", + "llvm.aarch64.neon.fcvtxn", + "llvm.aarch64.neon.fcvtzs", + "llvm.aarch64.neon.fcvtzu", + "llvm.aarch64.neon.fmax", + "llvm.aarch64.neon.fmaxnm", + "llvm.aarch64.neon.fmaxnmp", + "llvm.aarch64.neon.fmaxnmv", + "llvm.aarch64.neon.fmaxp", + "llvm.aarch64.neon.fmaxv", + "llvm.aarch64.neon.fmin", + "llvm.aarch64.neon.fminnm", + "llvm.aarch64.neon.fminnmp", + "llvm.aarch64.neon.fminnmv", + "llvm.aarch64.neon.fminp", + "llvm.aarch64.neon.fminv", + "llvm.aarch64.neon.fmulx", + "llvm.aarch64.neon.frecpe", + "llvm.aarch64.neon.frecps", + "llvm.aarch64.neon.frecpx", + "llvm.aarch64.neon.frintn", + "llvm.aarch64.neon.frsqrte", + "llvm.aarch64.neon.frsqrts", + "llvm.aarch64.neon.ld1x2", + "llvm.aarch64.neon.ld1x3", + "llvm.aarch64.neon.ld1x4", + "llvm.aarch64.neon.ld2", + "llvm.aarch64.neon.ld2lane", + "llvm.aarch64.neon.ld2r", + "llvm.aarch64.neon.ld3", + "llvm.aarch64.neon.ld3lane", + "llvm.aarch64.neon.ld3r", + "llvm.aarch64.neon.ld4", + "llvm.aarch64.neon.ld4lane", + "llvm.aarch64.neon.ld4r", + "llvm.aarch64.neon.pmul", + "llvm.aarch64.neon.pmull", + "llvm.aarch64.neon.pmull64", + "llvm.aarch64.neon.raddhn", + "llvm.aarch64.neon.rbit", + "llvm.aarch64.neon.rshrn", + "llvm.aarch64.neon.rsubhn", + "llvm.aarch64.neon.sabd", + "llvm.aarch64.neon.saddlp", + "llvm.aarch64.neon.saddlv", + "llvm.aarch64.neon.saddv", + "llvm.aarch64.neon.scalar.sqxtn", + "llvm.aarch64.neon.scalar.sqxtun", + "llvm.aarch64.neon.scalar.uqxtn", + "llvm.aarch64.neon.shadd", + "llvm.aarch64.neon.shll", + "llvm.aarch64.neon.shsub", + "llvm.aarch64.neon.smax", + "llvm.aarch64.neon.smaxp", + "llvm.aarch64.neon.smaxv", + "llvm.aarch64.neon.smin", + "llvm.aarch64.neon.sminp", + "llvm.aarch64.neon.sminv", + "llvm.aarch64.neon.smull", + "llvm.aarch64.neon.sqabs", + "llvm.aarch64.neon.sqadd", + "llvm.aarch64.neon.sqdmulh", + "llvm.aarch64.neon.sqdmull", + "llvm.aarch64.neon.sqdmulls.scalar", + "llvm.aarch64.neon.sqneg", + "llvm.aarch64.neon.sqrdmulh", + "llvm.aarch64.neon.sqrshl", + "llvm.aarch64.neon.sqrshrn", + "llvm.aarch64.neon.sqrshrun", + "llvm.aarch64.neon.sqshl", + "llvm.aarch64.neon.sqshlu", + "llvm.aarch64.neon.sqshrn", + "llvm.aarch64.neon.sqshrun", + "llvm.aarch64.neon.sqsub", + "llvm.aarch64.neon.sqxtn", + "llvm.aarch64.neon.sqxtun", + "llvm.aarch64.neon.srhadd", + "llvm.aarch64.neon.srshl", + "llvm.aarch64.neon.sshl", + "llvm.aarch64.neon.sshll", + "llvm.aarch64.neon.st1x2", + "llvm.aarch64.neon.st1x3", + "llvm.aarch64.neon.st1x4", + "llvm.aarch64.neon.st2", + "llvm.aarch64.neon.st2lane", + "llvm.aarch64.neon.st3", + "llvm.aarch64.neon.st3lane", + "llvm.aarch64.neon.st4", + "llvm.aarch64.neon.st4lane", + "llvm.aarch64.neon.subhn", + "llvm.aarch64.neon.suqadd", + "llvm.aarch64.neon.tbl1", + "llvm.aarch64.neon.tbl2", + "llvm.aarch64.neon.tbl3", + "llvm.aarch64.neon.tbl4", + "llvm.aarch64.neon.tbx1", + "llvm.aarch64.neon.tbx2", + "llvm.aarch64.neon.tbx3", + "llvm.aarch64.neon.tbx4", + "llvm.aarch64.neon.uabd", + "llvm.aarch64.neon.uaddlp", + "llvm.aarch64.neon.uaddlv", + "llvm.aarch64.neon.uaddv", + "llvm.aarch64.neon.uhadd", + "llvm.aarch64.neon.uhsub", + "llvm.aarch64.neon.umax", + "llvm.aarch64.neon.umaxp", + "llvm.aarch64.neon.umaxv", + "llvm.aarch64.neon.umin", + "llvm.aarch64.neon.uminp", + "llvm.aarch64.neon.uminv", + "llvm.aarch64.neon.umull", + "llvm.aarch64.neon.uqadd", + "llvm.aarch64.neon.uqrshl", + "llvm.aarch64.neon.uqrshrn", + "llvm.aarch64.neon.uqshl", + "llvm.aarch64.neon.uqshrn", + "llvm.aarch64.neon.uqsub", + "llvm.aarch64.neon.uqxtn", + "llvm.aarch64.neon.urecpe", + "llvm.aarch64.neon.urhadd", + "llvm.aarch64.neon.urshl", + "llvm.aarch64.neon.ursqrte", + "llvm.aarch64.neon.ushl", + "llvm.aarch64.neon.ushll", + "llvm.aarch64.neon.usqadd", + "llvm.aarch64.neon.vcopy.lane", + "llvm.aarch64.neon.vcvtfp2fxs", + "llvm.aarch64.neon.vcvtfp2fxu", + "llvm.aarch64.neon.vcvtfp2hf", + "llvm.aarch64.neon.vcvtfxs2fp", + "llvm.aarch64.neon.vcvtfxu2fp", + "llvm.aarch64.neon.vcvthf2fp", + "llvm.aarch64.neon.vsli", + "llvm.aarch64.neon.vsri", + "llvm.aarch64.rbit", + "llvm.aarch64.sdiv", + "llvm.aarch64.sisd.fabd", + "llvm.aarch64.sisd.fcvtxn", + "llvm.aarch64.stlxp", + "llvm.aarch64.stlxr", + "llvm.aarch64.stxp", + "llvm.aarch64.stxr", + "llvm.aarch64.udiv", + "llvm.adjust.trampoline", + "llvm.annotation", + "llvm.arm.cdp", + "llvm.arm.cdp2", + "llvm.arm.clrex", + "llvm.arm.crc32b", + "llvm.arm.crc32cb", + "llvm.arm.crc32ch", + "llvm.arm.crc32cw", + "llvm.arm.crc32h", + "llvm.arm.crc32w", + "llvm.arm.dmb", + "llvm.arm.dsb", + "llvm.arm.get.fpscr", + "llvm.arm.hint", + "llvm.arm.isb", + "llvm.arm.ldaex", + "llvm.arm.ldaexd", + "llvm.arm.ldrex", + "llvm.arm.ldrexd", + "llvm.arm.mcr", + "llvm.arm.mcr2", + "llvm.arm.mcrr", + "llvm.arm.mcrr2", + "llvm.arm.mrc", + "llvm.arm.mrc2", + "llvm.arm.neon.aesd", + "llvm.arm.neon.aese", + "llvm.arm.neon.aesimc", + "llvm.arm.neon.aesmc", + "llvm.arm.neon.sha1c", + "llvm.arm.neon.sha1h", + "llvm.arm.neon.sha1m", + "llvm.arm.neon.sha1p", + "llvm.arm.neon.sha1su0", + "llvm.arm.neon.sha1su1", + "llvm.arm.neon.sha256h", + "llvm.arm.neon.sha256h2", + "llvm.arm.neon.sha256su0", + "llvm.arm.neon.sha256su1", + "llvm.arm.neon.vabds", + "llvm.arm.neon.vabdu", + "llvm.arm.neon.vabs", + "llvm.arm.neon.vacge", + "llvm.arm.neon.vacgt", + "llvm.arm.neon.vbsl", + "llvm.arm.neon.vcls", + "llvm.arm.neon.vclz", + "llvm.arm.neon.vcnt", + "llvm.arm.neon.vcvtas", + "llvm.arm.neon.vcvtau", + "llvm.arm.neon.vcvtfp2fxs", + "llvm.arm.neon.vcvtfp2fxu", + "llvm.arm.neon.vcvtfp2hf", + "llvm.arm.neon.vcvtfxs2fp", + "llvm.arm.neon.vcvtfxu2fp", + "llvm.arm.neon.vcvthf2fp", + "llvm.arm.neon.vcvtms", + "llvm.arm.neon.vcvtmu", + "llvm.arm.neon.vcvtns", + "llvm.arm.neon.vcvtnu", + "llvm.arm.neon.vcvtps", + "llvm.arm.neon.vcvtpu", + "llvm.arm.neon.vhadds", + "llvm.arm.neon.vhaddu", + "llvm.arm.neon.vhsubs", + "llvm.arm.neon.vhsubu", + "llvm.arm.neon.vld1", + "llvm.arm.neon.vld2", + "llvm.arm.neon.vld2lane", + "llvm.arm.neon.vld3", + "llvm.arm.neon.vld3lane", + "llvm.arm.neon.vld4", + "llvm.arm.neon.vld4lane", + "llvm.arm.neon.vmaxnm", + "llvm.arm.neon.vmaxs", + "llvm.arm.neon.vmaxu", + "llvm.arm.neon.vminnm", + "llvm.arm.neon.vmins", + "llvm.arm.neon.vminu", + "llvm.arm.neon.vmullp", + "llvm.arm.neon.vmulls", + "llvm.arm.neon.vmullu", + "llvm.arm.neon.vmulp", + "llvm.arm.neon.vpadals", + "llvm.arm.neon.vpadalu", + "llvm.arm.neon.vpadd", + "llvm.arm.neon.vpaddls", + "llvm.arm.neon.vpaddlu", + "llvm.arm.neon.vpmaxs", + "llvm.arm.neon.vpmaxu", + "llvm.arm.neon.vpmins", + "llvm.arm.neon.vpminu", + "llvm.arm.neon.vqabs", + "llvm.arm.neon.vqadds", + "llvm.arm.neon.vqaddu", + "llvm.arm.neon.vqdmulh", + "llvm.arm.neon.vqdmull", + "llvm.arm.neon.vqmovns", + "llvm.arm.neon.vqmovnsu", + "llvm.arm.neon.vqmovnu", + "llvm.arm.neon.vqneg", + "llvm.arm.neon.vqrdmulh", + "llvm.arm.neon.vqrshiftns", + "llvm.arm.neon.vqrshiftnsu", + "llvm.arm.neon.vqrshiftnu", + "llvm.arm.neon.vqrshifts", + "llvm.arm.neon.vqrshiftu", + "llvm.arm.neon.vqshiftns", + "llvm.arm.neon.vqshiftnsu", + "llvm.arm.neon.vqshiftnu", + "llvm.arm.neon.vqshifts", + "llvm.arm.neon.vqshiftsu", + "llvm.arm.neon.vqshiftu", + "llvm.arm.neon.vqsubs", + "llvm.arm.neon.vqsubu", + "llvm.arm.neon.vraddhn", + "llvm.arm.neon.vrecpe", + "llvm.arm.neon.vrecps", + "llvm.arm.neon.vrhadds", + "llvm.arm.neon.vrhaddu", + "llvm.arm.neon.vrinta", + "llvm.arm.neon.vrintm", + "llvm.arm.neon.vrintn", + "llvm.arm.neon.vrintp", + "llvm.arm.neon.vrintx", + "llvm.arm.neon.vrintz", + "llvm.arm.neon.vrshiftn", + "llvm.arm.neon.vrshifts", + "llvm.arm.neon.vrshiftu", + "llvm.arm.neon.vrsqrte", + "llvm.arm.neon.vrsqrts", + "llvm.arm.neon.vrsubhn", + "llvm.arm.neon.vshiftins", + "llvm.arm.neon.vshifts", + "llvm.arm.neon.vshiftu", + "llvm.arm.neon.vst1", + "llvm.arm.neon.vst2", + "llvm.arm.neon.vst2lane", + "llvm.arm.neon.vst3", + "llvm.arm.neon.vst3lane", + "llvm.arm.neon.vst4", + "llvm.arm.neon.vst4lane", + "llvm.arm.neon.vtbl1", + "llvm.arm.neon.vtbl2", + "llvm.arm.neon.vtbl3", + "llvm.arm.neon.vtbl4", + "llvm.arm.neon.vtbx1", + "llvm.arm.neon.vtbx2", + "llvm.arm.neon.vtbx3", + "llvm.arm.neon.vtbx4", + "llvm.arm.qadd", + "llvm.arm.qsub", + "llvm.arm.rbit", + "llvm.arm.set.fpscr", + "llvm.arm.ssat", + "llvm.arm.stlex", + "llvm.arm.stlexd", + "llvm.arm.strex", + "llvm.arm.strexd", + "llvm.arm.thread.pointer", + "llvm.arm.undefined", + "llvm.arm.usat", + "llvm.arm.vcvtr", + "llvm.arm.vcvtru", + "llvm.bswap", + "llvm.ceil", + "llvm.clear_cache", + "llvm.convert.from.fp16", + "llvm.convert.to.fp16", + "llvm.convertff", + "llvm.convertfsi", + "llvm.convertfui", + "llvm.convertsif", + "llvm.convertss", + "llvm.convertsu", + "llvm.convertuif", + "llvm.convertus", + "llvm.convertuu", + "llvm.copysign", + "llvm.cos", + "llvm.ctlz", + "llvm.ctpop", + "llvm.cttz", + "llvm.cuda.syncthreads", + "llvm.dbg.declare", + "llvm.dbg.value", + "llvm.debugtrap", + "llvm.donothing", + "llvm.eh.dwarf.cfa", + "llvm.eh.return.i32", + "llvm.eh.return.i64", + "llvm.eh.sjlj.callsite", + "llvm.eh.sjlj.functioncontext", + "llvm.eh.sjlj.longjmp", + "llvm.eh.sjlj.lsda", + "llvm.eh.sjlj.setjmp", + "llvm.eh.typeid.for", + "llvm.eh.unwind.init", + "llvm.exp", + "llvm.exp2", + "llvm.expect", + "llvm.experimental.patchpoint.i64", + "llvm.experimental.patchpoint.void", + "llvm.experimental.stackmap", + "llvm.fabs", + "llvm.floor", + "llvm.flt.rounds", + "llvm.fma", + "llvm.fmuladd", + "llvm.frameaddress", + "llvm.gcread", + "llvm.gcroot", + "llvm.gcwrite", + "llvm.hexagon.A2.abs", + "llvm.hexagon.A2.absp", + "llvm.hexagon.A2.abssat", + "llvm.hexagon.A2.add", + "llvm.hexagon.A2.addh.h16.hh", + "llvm.hexagon.A2.addh.h16.hl", + "llvm.hexagon.A2.addh.h16.lh", + "llvm.hexagon.A2.addh.h16.ll", + "llvm.hexagon.A2.addh.h16.sat.hh", + "llvm.hexagon.A2.addh.h16.sat.hl", + "llvm.hexagon.A2.addh.h16.sat.lh", + "llvm.hexagon.A2.addh.h16.sat.ll", + "llvm.hexagon.A2.addh.l16.hl", + "llvm.hexagon.A2.addh.l16.ll", + "llvm.hexagon.A2.addh.l16.sat.hl", + "llvm.hexagon.A2.addh.l16.sat.ll", + "llvm.hexagon.A2.addi", + "llvm.hexagon.A2.addp", + "llvm.hexagon.A2.addpsat", + "llvm.hexagon.A2.addsat", + "llvm.hexagon.A2.addsp", + "llvm.hexagon.A2.and", + "llvm.hexagon.A2.andir", + "llvm.hexagon.A2.andp", + "llvm.hexagon.A2.aslh", + "llvm.hexagon.A2.asrh", + "llvm.hexagon.A2.combine.hh", + "llvm.hexagon.A2.combine.hl", + "llvm.hexagon.A2.combine.lh", + "llvm.hexagon.A2.combine.ll", + "llvm.hexagon.A2.combineii", + "llvm.hexagon.A2.combinew", + "llvm.hexagon.A2.max", + "llvm.hexagon.A2.maxp", + "llvm.hexagon.A2.maxu", + "llvm.hexagon.A2.maxup", + "llvm.hexagon.A2.min", + "llvm.hexagon.A2.minp", + "llvm.hexagon.A2.minu", + "llvm.hexagon.A2.minup", + "llvm.hexagon.A2.neg", + "llvm.hexagon.A2.negp", + "llvm.hexagon.A2.negsat", + "llvm.hexagon.A2.not", + "llvm.hexagon.A2.notp", + "llvm.hexagon.A2.or", + "llvm.hexagon.A2.orir", + "llvm.hexagon.A2.orp", + "llvm.hexagon.A2.roundsat", + "llvm.hexagon.A2.sat", + "llvm.hexagon.A2.satb", + "llvm.hexagon.A2.sath", + "llvm.hexagon.A2.satub", + "llvm.hexagon.A2.satuh", + "llvm.hexagon.A2.sub", + "llvm.hexagon.A2.subh.h16.hh", + "llvm.hexagon.A2.subh.h16.hl", + "llvm.hexagon.A2.subh.h16.lh", + "llvm.hexagon.A2.subh.h16.ll", + "llvm.hexagon.A2.subh.h16.sat.hh", + "llvm.hexagon.A2.subh.h16.sat.hl", + "llvm.hexagon.A2.subh.h16.sat.lh", + "llvm.hexagon.A2.subh.h16.sat.ll", + "llvm.hexagon.A2.subh.l16.hl", + "llvm.hexagon.A2.subh.l16.ll", + "llvm.hexagon.A2.subh.l16.sat.hl", + "llvm.hexagon.A2.subh.l16.sat.ll", + "llvm.hexagon.A2.subp", + "llvm.hexagon.A2.subri", + "llvm.hexagon.A2.subsat", + "llvm.hexagon.A2.svaddh", + "llvm.hexagon.A2.svaddhs", + "llvm.hexagon.A2.svadduhs", + "llvm.hexagon.A2.svavgh", + "llvm.hexagon.A2.svavghs", + "llvm.hexagon.A2.svnavgh", + "llvm.hexagon.A2.svsubh", + "llvm.hexagon.A2.svsubhs", + "llvm.hexagon.A2.svsubuhs", + "llvm.hexagon.A2.swiz", + "llvm.hexagon.A2.sxtb", + "llvm.hexagon.A2.sxth", + "llvm.hexagon.A2.sxtw", + "llvm.hexagon.A2.tfr", + "llvm.hexagon.A2.tfrih", + "llvm.hexagon.A2.tfril", + "llvm.hexagon.A2.tfrp", + "llvm.hexagon.A2.tfrpi", + "llvm.hexagon.A2.tfrsi", + "llvm.hexagon.A2.vabsh", + "llvm.hexagon.A2.vabshsat", + "llvm.hexagon.A2.vabsw", + "llvm.hexagon.A2.vabswsat", + "llvm.hexagon.A2.vaddb.map", + "llvm.hexagon.A2.vaddh", + "llvm.hexagon.A2.vaddhs", + "llvm.hexagon.A2.vaddub", + "llvm.hexagon.A2.vaddubs", + "llvm.hexagon.A2.vadduhs", + "llvm.hexagon.A2.vaddw", + "llvm.hexagon.A2.vaddws", + "llvm.hexagon.A2.vavgh", + "llvm.hexagon.A2.vavghcr", + "llvm.hexagon.A2.vavghr", + "llvm.hexagon.A2.vavgub", + "llvm.hexagon.A2.vavgubr", + "llvm.hexagon.A2.vavguh", + "llvm.hexagon.A2.vavguhr", + "llvm.hexagon.A2.vavguw", + "llvm.hexagon.A2.vavguwr", + "llvm.hexagon.A2.vavgw", + "llvm.hexagon.A2.vavgwcr", + "llvm.hexagon.A2.vavgwr", + "llvm.hexagon.A2.vcmpbeq", + "llvm.hexagon.A2.vcmpbgtu", + "llvm.hexagon.A2.vcmpheq", + "llvm.hexagon.A2.vcmphgt", + "llvm.hexagon.A2.vcmphgtu", + "llvm.hexagon.A2.vcmpweq", + "llvm.hexagon.A2.vcmpwgt", + "llvm.hexagon.A2.vcmpwgtu", + "llvm.hexagon.A2.vconj", + "llvm.hexagon.A2.vmaxb", + "llvm.hexagon.A2.vmaxh", + "llvm.hexagon.A2.vmaxub", + "llvm.hexagon.A2.vmaxuh", + "llvm.hexagon.A2.vmaxuw", + "llvm.hexagon.A2.vmaxw", + "llvm.hexagon.A2.vminb", + "llvm.hexagon.A2.vminh", + "llvm.hexagon.A2.vminub", + "llvm.hexagon.A2.vminuh", + "llvm.hexagon.A2.vminuw", + "llvm.hexagon.A2.vminw", + "llvm.hexagon.A2.vnavgh", + "llvm.hexagon.A2.vnavghcr", + "llvm.hexagon.A2.vnavghr", + "llvm.hexagon.A2.vnavgw", + "llvm.hexagon.A2.vnavgwcr", + "llvm.hexagon.A2.vnavgwr", + "llvm.hexagon.A2.vraddub", + "llvm.hexagon.A2.vraddub.acc", + "llvm.hexagon.A2.vrsadub", + "llvm.hexagon.A2.vrsadub.acc", + "llvm.hexagon.A2.vsubb.map", + "llvm.hexagon.A2.vsubh", + "llvm.hexagon.A2.vsubhs", + "llvm.hexagon.A2.vsubub", + "llvm.hexagon.A2.vsububs", + "llvm.hexagon.A2.vsubuhs", + "llvm.hexagon.A2.vsubw", + "llvm.hexagon.A2.vsubws", + "llvm.hexagon.A2.xor", + "llvm.hexagon.A2.xorp", + "llvm.hexagon.A2.zxtb", + "llvm.hexagon.A2.zxth", + "llvm.hexagon.A4.andn", + "llvm.hexagon.A4.andnp", + "llvm.hexagon.A4.bitsplit", + "llvm.hexagon.A4.bitspliti", + "llvm.hexagon.A4.boundscheck", + "llvm.hexagon.A4.cmpbeq", + "llvm.hexagon.A4.cmpbeqi", + "llvm.hexagon.A4.cmpbgt", + "llvm.hexagon.A4.cmpbgti", + "llvm.hexagon.A4.cmpbgtu", + "llvm.hexagon.A4.cmpbgtui", + "llvm.hexagon.A4.cmpheq", + "llvm.hexagon.A4.cmpheqi", + "llvm.hexagon.A4.cmphgt", + "llvm.hexagon.A4.cmphgti", + "llvm.hexagon.A4.cmphgtu", + "llvm.hexagon.A4.cmphgtui", + "llvm.hexagon.A4.combineir", + "llvm.hexagon.A4.combineri", + "llvm.hexagon.A4.cround.ri", + "llvm.hexagon.A4.cround.rr", + "llvm.hexagon.A4.modwrapu", + "llvm.hexagon.A4.orn", + "llvm.hexagon.A4.ornp", + "llvm.hexagon.A4.rcmpeq", + "llvm.hexagon.A4.rcmpeqi", + "llvm.hexagon.A4.rcmpneq", + "llvm.hexagon.A4.rcmpneqi", + "llvm.hexagon.A4.round.ri", + "llvm.hexagon.A4.round.ri.sat", + "llvm.hexagon.A4.round.rr", + "llvm.hexagon.A4.round.rr.sat", + "llvm.hexagon.A4.tlbmatch", + "llvm.hexagon.A4.vcmpbeq.any", + "llvm.hexagon.A4.vcmpbeqi", + "llvm.hexagon.A4.vcmpbgt", + "llvm.hexagon.A4.vcmpbgti", + "llvm.hexagon.A4.vcmpbgtui", + "llvm.hexagon.A4.vcmpheqi", + "llvm.hexagon.A4.vcmphgti", + "llvm.hexagon.A4.vcmphgtui", + "llvm.hexagon.A4.vcmpweqi", + "llvm.hexagon.A4.vcmpwgti", + "llvm.hexagon.A4.vcmpwgtui", + "llvm.hexagon.A4.vrmaxh", + "llvm.hexagon.A4.vrmaxuh", + "llvm.hexagon.A4.vrmaxuw", + "llvm.hexagon.A4.vrmaxw", + "llvm.hexagon.A4.vrminh", + "llvm.hexagon.A4.vrminuh", + "llvm.hexagon.A4.vrminuw", + "llvm.hexagon.A4.vrminw", + "llvm.hexagon.A5.vaddhubs", + "llvm.hexagon.C2.all8", + "llvm.hexagon.C2.and", + "llvm.hexagon.C2.andn", + "llvm.hexagon.C2.any8", + "llvm.hexagon.C2.bitsclr", + "llvm.hexagon.C2.bitsclri", + "llvm.hexagon.C2.bitsset", + "llvm.hexagon.C2.cmpeq", + "llvm.hexagon.C2.cmpeqi", + "llvm.hexagon.C2.cmpeqp", + "llvm.hexagon.C2.cmpgei", + "llvm.hexagon.C2.cmpgeui", + "llvm.hexagon.C2.cmpgt", + "llvm.hexagon.C2.cmpgti", + "llvm.hexagon.C2.cmpgtp", + "llvm.hexagon.C2.cmpgtu", + "llvm.hexagon.C2.cmpgtui", + "llvm.hexagon.C2.cmpgtup", + "llvm.hexagon.C2.cmplt", + "llvm.hexagon.C2.cmpltu", + "llvm.hexagon.C2.mask", + "llvm.hexagon.C2.mux", + "llvm.hexagon.C2.muxii", + "llvm.hexagon.C2.muxir", + "llvm.hexagon.C2.muxri", + "llvm.hexagon.C2.not", + "llvm.hexagon.C2.or", + "llvm.hexagon.C2.orn", + "llvm.hexagon.C2.pxfer.map", + "llvm.hexagon.C2.tfrpr", + "llvm.hexagon.C2.tfrrp", + "llvm.hexagon.C2.vitpack", + "llvm.hexagon.C2.vmux", + "llvm.hexagon.C2.xor", + "llvm.hexagon.C4.and.and", + "llvm.hexagon.C4.and.andn", + "llvm.hexagon.C4.and.or", + "llvm.hexagon.C4.and.orn", + "llvm.hexagon.C4.cmplte", + "llvm.hexagon.C4.cmpltei", + "llvm.hexagon.C4.cmplteu", + "llvm.hexagon.C4.cmplteui", + "llvm.hexagon.C4.cmpneq", + "llvm.hexagon.C4.cmpneqi", + "llvm.hexagon.C4.fastcorner9", + "llvm.hexagon.C4.fastcorner9.not", + "llvm.hexagon.C4.nbitsclr", + "llvm.hexagon.C4.nbitsclri", + "llvm.hexagon.C4.nbitsset", + "llvm.hexagon.C4.or.and", + "llvm.hexagon.C4.or.andn", + "llvm.hexagon.C4.or.or", + "llvm.hexagon.C4.or.orn", + "llvm.hexagon.F2.conv.d2df", + "llvm.hexagon.F2.conv.d2sf", + "llvm.hexagon.F2.conv.df2d", + "llvm.hexagon.F2.conv.df2d.chop", + "llvm.hexagon.F2.conv.df2sf", + "llvm.hexagon.F2.conv.df2ud", + "llvm.hexagon.F2.conv.df2ud.chop", + "llvm.hexagon.F2.conv.df2uw", + "llvm.hexagon.F2.conv.df2uw.chop", + "llvm.hexagon.F2.conv.df2w", + "llvm.hexagon.F2.conv.df2w.chop", + "llvm.hexagon.F2.conv.sf2d", + "llvm.hexagon.F2.conv.sf2d.chop", + "llvm.hexagon.F2.conv.sf2df", + "llvm.hexagon.F2.conv.sf2ud", + "llvm.hexagon.F2.conv.sf2ud.chop", + "llvm.hexagon.F2.conv.sf2uw", + "llvm.hexagon.F2.conv.sf2uw.chop", + "llvm.hexagon.F2.conv.sf2w", + "llvm.hexagon.F2.conv.sf2w.chop", + "llvm.hexagon.F2.conv.ud2df", + "llvm.hexagon.F2.conv.ud2sf", + "llvm.hexagon.F2.conv.uw2df", + "llvm.hexagon.F2.conv.uw2sf", + "llvm.hexagon.F2.conv.w2df", + "llvm.hexagon.F2.conv.w2sf", + "llvm.hexagon.F2.dfadd", + "llvm.hexagon.F2.dfclass", + "llvm.hexagon.F2.dfcmpeq", + "llvm.hexagon.F2.dfcmpge", + "llvm.hexagon.F2.dfcmpgt", + "llvm.hexagon.F2.dfcmpuo", + "llvm.hexagon.F2.dffixupd", + "llvm.hexagon.F2.dffixupn", + "llvm.hexagon.F2.dffixupr", + "llvm.hexagon.F2.dffma", + "llvm.hexagon.F2.dffma.lib", + "llvm.hexagon.F2.dffma.sc", + "llvm.hexagon.F2.dffms", + "llvm.hexagon.F2.dffms.lib", + "llvm.hexagon.F2.dfimm.n", + "llvm.hexagon.F2.dfimm.p", + "llvm.hexagon.F2.dfmax", + "llvm.hexagon.F2.dfmin", + "llvm.hexagon.F2.dfmpy", + "llvm.hexagon.F2.dfsub", + "llvm.hexagon.F2.sfadd", + "llvm.hexagon.F2.sfclass", + "llvm.hexagon.F2.sfcmpeq", + "llvm.hexagon.F2.sfcmpge", + "llvm.hexagon.F2.sfcmpgt", + "llvm.hexagon.F2.sfcmpuo", + "llvm.hexagon.F2.sffixupd", + "llvm.hexagon.F2.sffixupn", + "llvm.hexagon.F2.sffixupr", + "llvm.hexagon.F2.sffma", + "llvm.hexagon.F2.sffma.lib", + "llvm.hexagon.F2.sffma.sc", + "llvm.hexagon.F2.sffms", + "llvm.hexagon.F2.sffms.lib", + "llvm.hexagon.F2.sfimm.n", + "llvm.hexagon.F2.sfimm.p", + "llvm.hexagon.F2.sfmax", + "llvm.hexagon.F2.sfmin", + "llvm.hexagon.F2.sfmpy", + "llvm.hexagon.F2.sfsub", + "llvm.hexagon.M2.acci", + "llvm.hexagon.M2.accii", + "llvm.hexagon.M2.cmaci.s0", + "llvm.hexagon.M2.cmacr.s0", + "llvm.hexagon.M2.cmacs.s0", + "llvm.hexagon.M2.cmacs.s1", + "llvm.hexagon.M2.cmacsc.s0", + "llvm.hexagon.M2.cmacsc.s1", + "llvm.hexagon.M2.cmpyi.s0", + "llvm.hexagon.M2.cmpyr.s0", + "llvm.hexagon.M2.cmpyrs.s0", + "llvm.hexagon.M2.cmpyrs.s1", + "llvm.hexagon.M2.cmpyrsc.s0", + "llvm.hexagon.M2.cmpyrsc.s1", + "llvm.hexagon.M2.cmpys.s0", + "llvm.hexagon.M2.cmpys.s1", + "llvm.hexagon.M2.cmpysc.s0", + "llvm.hexagon.M2.cmpysc.s1", + "llvm.hexagon.M2.cnacs.s0", + "llvm.hexagon.M2.cnacs.s1", + "llvm.hexagon.M2.cnacsc.s0", + "llvm.hexagon.M2.cnacsc.s1", + "llvm.hexagon.M2.dpmpyss.acc.s0", + "llvm.hexagon.M2.dpmpyss.nac.s0", + "llvm.hexagon.M2.dpmpyss.rnd.s0", + "llvm.hexagon.M2.dpmpyss.s0", + "llvm.hexagon.M2.dpmpyuu.acc.s0", + "llvm.hexagon.M2.dpmpyuu.nac.s0", + "llvm.hexagon.M2.dpmpyuu.s0", + "llvm.hexagon.M2.hmmpyh.rs1", + "llvm.hexagon.M2.hmmpyh.s1", + "llvm.hexagon.M2.hmmpyl.rs1", + "llvm.hexagon.M2.hmmpyl.s1", + "llvm.hexagon.M2.maci", + "llvm.hexagon.M2.macsin", + "llvm.hexagon.M2.macsip", + "llvm.hexagon.M2.mmachs.rs0", + "llvm.hexagon.M2.mmachs.rs1", + "llvm.hexagon.M2.mmachs.s0", + "llvm.hexagon.M2.mmachs.s1", + "llvm.hexagon.M2.mmacls.rs0", + "llvm.hexagon.M2.mmacls.rs1", + "llvm.hexagon.M2.mmacls.s0", + "llvm.hexagon.M2.mmacls.s1", + "llvm.hexagon.M2.mmacuhs.rs0", + "llvm.hexagon.M2.mmacuhs.rs1", + "llvm.hexagon.M2.mmacuhs.s0", + "llvm.hexagon.M2.mmacuhs.s1", + "llvm.hexagon.M2.mmaculs.rs0", + "llvm.hexagon.M2.mmaculs.rs1", + "llvm.hexagon.M2.mmaculs.s0", + "llvm.hexagon.M2.mmaculs.s1", + "llvm.hexagon.M2.mmpyh.rs0", + "llvm.hexagon.M2.mmpyh.rs1", + "llvm.hexagon.M2.mmpyh.s0", + "llvm.hexagon.M2.mmpyh.s1", + "llvm.hexagon.M2.mmpyl.rs0", + "llvm.hexagon.M2.mmpyl.rs1", + "llvm.hexagon.M2.mmpyl.s0", + "llvm.hexagon.M2.mmpyl.s1", + "llvm.hexagon.M2.mmpyuh.rs0", + "llvm.hexagon.M2.mmpyuh.rs1", + "llvm.hexagon.M2.mmpyuh.s0", + "llvm.hexagon.M2.mmpyuh.s1", + "llvm.hexagon.M2.mmpyul.rs0", + "llvm.hexagon.M2.mmpyul.rs1", + "llvm.hexagon.M2.mmpyul.s0", + "llvm.hexagon.M2.mmpyul.s1", + "llvm.hexagon.M2.mpy.acc.hh.s0", + "llvm.hexagon.M2.mpy.acc.hh.s1", + "llvm.hexagon.M2.mpy.acc.hl.s0", + "llvm.hexagon.M2.mpy.acc.hl.s1", + "llvm.hexagon.M2.mpy.acc.lh.s0", + "llvm.hexagon.M2.mpy.acc.lh.s1", + "llvm.hexagon.M2.mpy.acc.ll.s0", + "llvm.hexagon.M2.mpy.acc.ll.s1", + "llvm.hexagon.M2.mpy.acc.sat.hh.s0", + "llvm.hexagon.M2.mpy.acc.sat.hh.s1", + "llvm.hexagon.M2.mpy.acc.sat.hl.s0", + "llvm.hexagon.M2.mpy.acc.sat.hl.s1", + "llvm.hexagon.M2.mpy.acc.sat.lh.s0", + "llvm.hexagon.M2.mpy.acc.sat.lh.s1", + "llvm.hexagon.M2.mpy.acc.sat.ll.s0", + "llvm.hexagon.M2.mpy.acc.sat.ll.s1", + "llvm.hexagon.M2.mpy.hh.s0", + "llvm.hexagon.M2.mpy.hh.s1", + "llvm.hexagon.M2.mpy.hl.s0", + "llvm.hexagon.M2.mpy.hl.s1", + "llvm.hexagon.M2.mpy.lh.s0", + "llvm.hexagon.M2.mpy.lh.s1", + "llvm.hexagon.M2.mpy.ll.s0", + "llvm.hexagon.M2.mpy.ll.s1", + "llvm.hexagon.M2.mpy.nac.hh.s0", + "llvm.hexagon.M2.mpy.nac.hh.s1", + "llvm.hexagon.M2.mpy.nac.hl.s0", + "llvm.hexagon.M2.mpy.nac.hl.s1", + "llvm.hexagon.M2.mpy.nac.lh.s0", + "llvm.hexagon.M2.mpy.nac.lh.s1", + "llvm.hexagon.M2.mpy.nac.ll.s0", + "llvm.hexagon.M2.mpy.nac.ll.s1", + "llvm.hexagon.M2.mpy.nac.sat.hh.s0", + "llvm.hexagon.M2.mpy.nac.sat.hh.s1", + "llvm.hexagon.M2.mpy.nac.sat.hl.s0", + "llvm.hexagon.M2.mpy.nac.sat.hl.s1", + "llvm.hexagon.M2.mpy.nac.sat.lh.s0", + "llvm.hexagon.M2.mpy.nac.sat.lh.s1", + "llvm.hexagon.M2.mpy.nac.sat.ll.s0", + "llvm.hexagon.M2.mpy.nac.sat.ll.s1", + "llvm.hexagon.M2.mpy.rnd.hh.s0", + "llvm.hexagon.M2.mpy.rnd.hh.s1", + "llvm.hexagon.M2.mpy.rnd.hl.s0", + "llvm.hexagon.M2.mpy.rnd.hl.s1", + "llvm.hexagon.M2.mpy.rnd.lh.s0", + "llvm.hexagon.M2.mpy.rnd.lh.s1", + "llvm.hexagon.M2.mpy.rnd.ll.s0", + "llvm.hexagon.M2.mpy.rnd.ll.s1", + "llvm.hexagon.M2.mpy.sat.hh.s0", + "llvm.hexagon.M2.mpy.sat.hh.s1", + "llvm.hexagon.M2.mpy.sat.hl.s0", + "llvm.hexagon.M2.mpy.sat.hl.s1", + "llvm.hexagon.M2.mpy.sat.lh.s0", + "llvm.hexagon.M2.mpy.sat.lh.s1", + "llvm.hexagon.M2.mpy.sat.ll.s0", + "llvm.hexagon.M2.mpy.sat.ll.s1", + "llvm.hexagon.M2.mpy.sat.rnd.hh.s0", + "llvm.hexagon.M2.mpy.sat.rnd.hh.s1", + "llvm.hexagon.M2.mpy.sat.rnd.hl.s0", + "llvm.hexagon.M2.mpy.sat.rnd.hl.s1", + "llvm.hexagon.M2.mpy.sat.rnd.lh.s0", + "llvm.hexagon.M2.mpy.sat.rnd.lh.s1", + "llvm.hexagon.M2.mpy.sat.rnd.ll.s0", + "llvm.hexagon.M2.mpy.sat.rnd.ll.s1", + "llvm.hexagon.M2.mpy.up", + "llvm.hexagon.M2.mpy.up.s1", + "llvm.hexagon.M2.mpy.up.s1.sat", + "llvm.hexagon.M2.mpyd.acc.hh.s0", + "llvm.hexagon.M2.mpyd.acc.hh.s1", + "llvm.hexagon.M2.mpyd.acc.hl.s0", + "llvm.hexagon.M2.mpyd.acc.hl.s1", + "llvm.hexagon.M2.mpyd.acc.lh.s0", + "llvm.hexagon.M2.mpyd.acc.lh.s1", + "llvm.hexagon.M2.mpyd.acc.ll.s0", + "llvm.hexagon.M2.mpyd.acc.ll.s1", + "llvm.hexagon.M2.mpyd.hh.s0", + "llvm.hexagon.M2.mpyd.hh.s1", + "llvm.hexagon.M2.mpyd.hl.s0", + "llvm.hexagon.M2.mpyd.hl.s1", + "llvm.hexagon.M2.mpyd.lh.s0", + "llvm.hexagon.M2.mpyd.lh.s1", + "llvm.hexagon.M2.mpyd.ll.s0", + "llvm.hexagon.M2.mpyd.ll.s1", + "llvm.hexagon.M2.mpyd.nac.hh.s0", + "llvm.hexagon.M2.mpyd.nac.hh.s1", + "llvm.hexagon.M2.mpyd.nac.hl.s0", + "llvm.hexagon.M2.mpyd.nac.hl.s1", + "llvm.hexagon.M2.mpyd.nac.lh.s0", + "llvm.hexagon.M2.mpyd.nac.lh.s1", + "llvm.hexagon.M2.mpyd.nac.ll.s0", + "llvm.hexagon.M2.mpyd.nac.ll.s1", + "llvm.hexagon.M2.mpyd.rnd.hh.s0", + "llvm.hexagon.M2.mpyd.rnd.hh.s1", + "llvm.hexagon.M2.mpyd.rnd.hl.s0", + "llvm.hexagon.M2.mpyd.rnd.hl.s1", + "llvm.hexagon.M2.mpyd.rnd.lh.s0", + "llvm.hexagon.M2.mpyd.rnd.lh.s1", + "llvm.hexagon.M2.mpyd.rnd.ll.s0", + "llvm.hexagon.M2.mpyd.rnd.ll.s1", + "llvm.hexagon.M2.mpyi", + "llvm.hexagon.M2.mpysmi", + "llvm.hexagon.M2.mpysu.up", + "llvm.hexagon.M2.mpyu.acc.hh.s0", + "llvm.hexagon.M2.mpyu.acc.hh.s1", + "llvm.hexagon.M2.mpyu.acc.hl.s0", + "llvm.hexagon.M2.mpyu.acc.hl.s1", + "llvm.hexagon.M2.mpyu.acc.lh.s0", + "llvm.hexagon.M2.mpyu.acc.lh.s1", + "llvm.hexagon.M2.mpyu.acc.ll.s0", + "llvm.hexagon.M2.mpyu.acc.ll.s1", + "llvm.hexagon.M2.mpyu.hh.s0", + "llvm.hexagon.M2.mpyu.hh.s1", + "llvm.hexagon.M2.mpyu.hl.s0", + "llvm.hexagon.M2.mpyu.hl.s1", + "llvm.hexagon.M2.mpyu.lh.s0", + "llvm.hexagon.M2.mpyu.lh.s1", + "llvm.hexagon.M2.mpyu.ll.s0", + "llvm.hexagon.M2.mpyu.ll.s1", + "llvm.hexagon.M2.mpyu.nac.hh.s0", + "llvm.hexagon.M2.mpyu.nac.hh.s1", + "llvm.hexagon.M2.mpyu.nac.hl.s0", + "llvm.hexagon.M2.mpyu.nac.hl.s1", + "llvm.hexagon.M2.mpyu.nac.lh.s0", + "llvm.hexagon.M2.mpyu.nac.lh.s1", + "llvm.hexagon.M2.mpyu.nac.ll.s0", + "llvm.hexagon.M2.mpyu.nac.ll.s1", + "llvm.hexagon.M2.mpyu.up", + "llvm.hexagon.M2.mpyud.acc.hh.s0", + "llvm.hexagon.M2.mpyud.acc.hh.s1", + "llvm.hexagon.M2.mpyud.acc.hl.s0", + "llvm.hexagon.M2.mpyud.acc.hl.s1", + "llvm.hexagon.M2.mpyud.acc.lh.s0", + "llvm.hexagon.M2.mpyud.acc.lh.s1", + "llvm.hexagon.M2.mpyud.acc.ll.s0", + "llvm.hexagon.M2.mpyud.acc.ll.s1", + "llvm.hexagon.M2.mpyud.hh.s0", + "llvm.hexagon.M2.mpyud.hh.s1", + "llvm.hexagon.M2.mpyud.hl.s0", + "llvm.hexagon.M2.mpyud.hl.s1", + "llvm.hexagon.M2.mpyud.lh.s0", + "llvm.hexagon.M2.mpyud.lh.s1", + "llvm.hexagon.M2.mpyud.ll.s0", + "llvm.hexagon.M2.mpyud.ll.s1", + "llvm.hexagon.M2.mpyud.nac.hh.s0", + "llvm.hexagon.M2.mpyud.nac.hh.s1", + "llvm.hexagon.M2.mpyud.nac.hl.s0", + "llvm.hexagon.M2.mpyud.nac.hl.s1", + "llvm.hexagon.M2.mpyud.nac.lh.s0", + "llvm.hexagon.M2.mpyud.nac.lh.s1", + "llvm.hexagon.M2.mpyud.nac.ll.s0", + "llvm.hexagon.M2.mpyud.nac.ll.s1", + "llvm.hexagon.M2.mpyui", + "llvm.hexagon.M2.nacci", + "llvm.hexagon.M2.naccii", + "llvm.hexagon.M2.subacc", + "llvm.hexagon.M2.vabsdiffh", + "llvm.hexagon.M2.vabsdiffw", + "llvm.hexagon.M2.vcmac.s0.sat.i", + "llvm.hexagon.M2.vcmac.s0.sat.r", + "llvm.hexagon.M2.vcmpy.s0.sat.i", + "llvm.hexagon.M2.vcmpy.s0.sat.r", + "llvm.hexagon.M2.vcmpy.s1.sat.i", + "llvm.hexagon.M2.vcmpy.s1.sat.r", + "llvm.hexagon.M2.vdmacs.s0", + "llvm.hexagon.M2.vdmacs.s1", + "llvm.hexagon.M2.vdmpyrs.s0", + "llvm.hexagon.M2.vdmpyrs.s1", + "llvm.hexagon.M2.vdmpys.s0", + "llvm.hexagon.M2.vdmpys.s1", + "llvm.hexagon.M2.vmac2", + "llvm.hexagon.M2.vmac2es", + "llvm.hexagon.M2.vmac2es.s0", + "llvm.hexagon.M2.vmac2es.s1", + "llvm.hexagon.M2.vmac2s.s0", + "llvm.hexagon.M2.vmac2s.s1", + "llvm.hexagon.M2.vmac2su.s0", + "llvm.hexagon.M2.vmac2su.s1", + "llvm.hexagon.M2.vmpy2es.s0", + "llvm.hexagon.M2.vmpy2es.s1", + "llvm.hexagon.M2.vmpy2s.s0", + "llvm.hexagon.M2.vmpy2s.s0pack", + "llvm.hexagon.M2.vmpy2s.s1", + "llvm.hexagon.M2.vmpy2s.s1pack", + "llvm.hexagon.M2.vmpy2su.s0", + "llvm.hexagon.M2.vmpy2su.s1", + "llvm.hexagon.M2.vraddh", + "llvm.hexagon.M2.vradduh", + "llvm.hexagon.M2.vrcmaci.s0", + "llvm.hexagon.M2.vrcmaci.s0c", + "llvm.hexagon.M2.vrcmacr.s0", + "llvm.hexagon.M2.vrcmacr.s0c", + "llvm.hexagon.M2.vrcmpyi.s0", + "llvm.hexagon.M2.vrcmpyi.s0c", + "llvm.hexagon.M2.vrcmpyr.s0", + "llvm.hexagon.M2.vrcmpyr.s0c", + "llvm.hexagon.M2.vrcmpys.acc.s1", + "llvm.hexagon.M2.vrcmpys.s1", + "llvm.hexagon.M2.vrcmpys.s1rp", + "llvm.hexagon.M2.vrmac.s0", + "llvm.hexagon.M2.vrmpy.s0", + "llvm.hexagon.M2.xor.xacc", + "llvm.hexagon.M4.and.and", + "llvm.hexagon.M4.and.andn", + "llvm.hexagon.M4.and.or", + "llvm.hexagon.M4.and.xor", + "llvm.hexagon.M4.cmpyi.wh", + "llvm.hexagon.M4.cmpyi.whc", + "llvm.hexagon.M4.cmpyr.wh", + "llvm.hexagon.M4.cmpyr.whc", + "llvm.hexagon.M4.mac.up.s1.sat", + "llvm.hexagon.M4.mpyri.addi", + "llvm.hexagon.M4.mpyri.addr", + "llvm.hexagon.M4.mpyri.addr.u2", + "llvm.hexagon.M4.mpyrr.addi", + "llvm.hexagon.M4.mpyrr.addr", + "llvm.hexagon.M4.nac.up.s1.sat", + "llvm.hexagon.M4.or.and", + "llvm.hexagon.M4.or.andn", + "llvm.hexagon.M4.or.or", + "llvm.hexagon.M4.or.xor", + "llvm.hexagon.M4.pmpyw", + "llvm.hexagon.M4.pmpyw.acc", + "llvm.hexagon.M4.vpmpyh", + "llvm.hexagon.M4.vpmpyh.acc", + "llvm.hexagon.M4.vrmpyeh.acc.s0", + "llvm.hexagon.M4.vrmpyeh.acc.s1", + "llvm.hexagon.M4.vrmpyeh.s0", + "llvm.hexagon.M4.vrmpyeh.s1", + "llvm.hexagon.M4.vrmpyoh.acc.s0", + "llvm.hexagon.M4.vrmpyoh.acc.s1", + "llvm.hexagon.M4.vrmpyoh.s0", + "llvm.hexagon.M4.vrmpyoh.s1", + "llvm.hexagon.M4.xor.and", + "llvm.hexagon.M4.xor.andn", + "llvm.hexagon.M4.xor.or", + "llvm.hexagon.M4.xor.xacc", + "llvm.hexagon.M5.vdmacbsu", + "llvm.hexagon.M5.vdmpybsu", + "llvm.hexagon.M5.vmacbsu", + "llvm.hexagon.M5.vmacbuu", + "llvm.hexagon.M5.vmpybsu", + "llvm.hexagon.M5.vmpybuu", + "llvm.hexagon.M5.vrmacbsu", + "llvm.hexagon.M5.vrmacbuu", + "llvm.hexagon.M5.vrmpybsu", + "llvm.hexagon.M5.vrmpybuu", + "llvm.hexagon.S2.addasl.rrri", + "llvm.hexagon.S2.asl.i.p", + "llvm.hexagon.S2.asl.i.p.acc", + "llvm.hexagon.S2.asl.i.p.and", + "llvm.hexagon.S2.asl.i.p.nac", + "llvm.hexagon.S2.asl.i.p.or", + "llvm.hexagon.S2.asl.i.p.xacc", + "llvm.hexagon.S2.asl.i.r", + "llvm.hexagon.S2.asl.i.r.acc", + "llvm.hexagon.S2.asl.i.r.and", + "llvm.hexagon.S2.asl.i.r.nac", + "llvm.hexagon.S2.asl.i.r.or", + "llvm.hexagon.S2.asl.i.r.sat", + "llvm.hexagon.S2.asl.i.r.xacc", + "llvm.hexagon.S2.asl.i.vh", + "llvm.hexagon.S2.asl.i.vw", + "llvm.hexagon.S2.asl.r.p", + "llvm.hexagon.S2.asl.r.p.acc", + "llvm.hexagon.S2.asl.r.p.and", + "llvm.hexagon.S2.asl.r.p.nac", + "llvm.hexagon.S2.asl.r.p.or", + "llvm.hexagon.S2.asl.r.p.xor", + "llvm.hexagon.S2.asl.r.r", + "llvm.hexagon.S2.asl.r.r.acc", + "llvm.hexagon.S2.asl.r.r.and", + "llvm.hexagon.S2.asl.r.r.nac", + "llvm.hexagon.S2.asl.r.r.or", + "llvm.hexagon.S2.asl.r.r.sat", + "llvm.hexagon.S2.asl.r.vh", + "llvm.hexagon.S2.asl.r.vw", + "llvm.hexagon.S2.asr.i.p", + "llvm.hexagon.S2.asr.i.p.acc", + "llvm.hexagon.S2.asr.i.p.and", + "llvm.hexagon.S2.asr.i.p.nac", + "llvm.hexagon.S2.asr.i.p.or", + "llvm.hexagon.S2.asr.i.p.rnd", + "llvm.hexagon.S2.asr.i.p.rnd.goodsyntax", + "llvm.hexagon.S2.asr.i.r", + "llvm.hexagon.S2.asr.i.r.acc", + "llvm.hexagon.S2.asr.i.r.and", + "llvm.hexagon.S2.asr.i.r.nac", + "llvm.hexagon.S2.asr.i.r.or", + "llvm.hexagon.S2.asr.i.r.rnd", + "llvm.hexagon.S2.asr.i.r.rnd.goodsyntax", + "llvm.hexagon.S2.asr.i.svw.trun", + "llvm.hexagon.S2.asr.i.vh", + "llvm.hexagon.S2.asr.i.vw", + "llvm.hexagon.S2.asr.r.p", + "llvm.hexagon.S2.asr.r.p.acc", + "llvm.hexagon.S2.asr.r.p.and", + "llvm.hexagon.S2.asr.r.p.nac", + "llvm.hexagon.S2.asr.r.p.or", + "llvm.hexagon.S2.asr.r.p.xor", + "llvm.hexagon.S2.asr.r.r", + "llvm.hexagon.S2.asr.r.r.acc", + "llvm.hexagon.S2.asr.r.r.and", + "llvm.hexagon.S2.asr.r.r.nac", + "llvm.hexagon.S2.asr.r.r.or", + "llvm.hexagon.S2.asr.r.r.sat", + "llvm.hexagon.S2.asr.r.svw.trun", + "llvm.hexagon.S2.asr.r.vh", + "llvm.hexagon.S2.asr.r.vw", + "llvm.hexagon.S2.brev", + "llvm.hexagon.S2.brevp", + "llvm.hexagon.S2.cl0", + "llvm.hexagon.S2.cl0p", + "llvm.hexagon.S2.cl1", + "llvm.hexagon.S2.cl1p", + "llvm.hexagon.S2.clb", + "llvm.hexagon.S2.clbnorm", + "llvm.hexagon.S2.clbp", + "llvm.hexagon.S2.clrbit.i", + "llvm.hexagon.S2.clrbit.r", + "llvm.hexagon.S2.ct0", + "llvm.hexagon.S2.ct0p", + "llvm.hexagon.S2.ct1", + "llvm.hexagon.S2.ct1p", + "llvm.hexagon.S2.deinterleave", + "llvm.hexagon.S2.extractu", + "llvm.hexagon.S2.extractu.rp", + "llvm.hexagon.S2.extractup", + "llvm.hexagon.S2.extractup.rp", + "llvm.hexagon.S2.insert", + "llvm.hexagon.S2.insert.rp", + "llvm.hexagon.S2.insertp", + "llvm.hexagon.S2.insertp.rp", + "llvm.hexagon.S2.interleave", + "llvm.hexagon.S2.lfsp", + "llvm.hexagon.S2.lsl.r.p", + "llvm.hexagon.S2.lsl.r.p.acc", + "llvm.hexagon.S2.lsl.r.p.and", + "llvm.hexagon.S2.lsl.r.p.nac", + "llvm.hexagon.S2.lsl.r.p.or", + "llvm.hexagon.S2.lsl.r.p.xor", + "llvm.hexagon.S2.lsl.r.r", + "llvm.hexagon.S2.lsl.r.r.acc", + "llvm.hexagon.S2.lsl.r.r.and", + "llvm.hexagon.S2.lsl.r.r.nac", + "llvm.hexagon.S2.lsl.r.r.or", + "llvm.hexagon.S2.lsl.r.vh", + "llvm.hexagon.S2.lsl.r.vw", + "llvm.hexagon.S2.lsr.i.p", + "llvm.hexagon.S2.lsr.i.p.acc", + "llvm.hexagon.S2.lsr.i.p.and", + "llvm.hexagon.S2.lsr.i.p.nac", + "llvm.hexagon.S2.lsr.i.p.or", + "llvm.hexagon.S2.lsr.i.p.xacc", + "llvm.hexagon.S2.lsr.i.r", + "llvm.hexagon.S2.lsr.i.r.acc", + "llvm.hexagon.S2.lsr.i.r.and", + "llvm.hexagon.S2.lsr.i.r.nac", + "llvm.hexagon.S2.lsr.i.r.or", + "llvm.hexagon.S2.lsr.i.r.xacc", + "llvm.hexagon.S2.lsr.i.vh", + "llvm.hexagon.S2.lsr.i.vw", + "llvm.hexagon.S2.lsr.r.p", + "llvm.hexagon.S2.lsr.r.p.acc", + "llvm.hexagon.S2.lsr.r.p.and", + "llvm.hexagon.S2.lsr.r.p.nac", + "llvm.hexagon.S2.lsr.r.p.or", + "llvm.hexagon.S2.lsr.r.p.xor", + "llvm.hexagon.S2.lsr.r.r", + "llvm.hexagon.S2.lsr.r.r.acc", + "llvm.hexagon.S2.lsr.r.r.and", + "llvm.hexagon.S2.lsr.r.r.nac", + "llvm.hexagon.S2.lsr.r.r.or", + "llvm.hexagon.S2.lsr.r.vh", + "llvm.hexagon.S2.lsr.r.vw", + "llvm.hexagon.S2.packhl", + "llvm.hexagon.S2.parityp", + "llvm.hexagon.S2.setbit.i", + "llvm.hexagon.S2.setbit.r", + "llvm.hexagon.S2.shuffeb", + "llvm.hexagon.S2.shuffeh", + "llvm.hexagon.S2.shuffob", + "llvm.hexagon.S2.shuffoh", + "llvm.hexagon.S2.svsathb", + "llvm.hexagon.S2.svsathub", + "llvm.hexagon.S2.tableidxb.goodsyntax", + "llvm.hexagon.S2.tableidxd.goodsyntax", + "llvm.hexagon.S2.tableidxh.goodsyntax", + "llvm.hexagon.S2.tableidxw.goodsyntax", + "llvm.hexagon.S2.togglebit.i", + "llvm.hexagon.S2.togglebit.r", + "llvm.hexagon.S2.tstbit.i", + "llvm.hexagon.S2.tstbit.r", + "llvm.hexagon.S2.valignib", + "llvm.hexagon.S2.valignrb", + "llvm.hexagon.S2.vcnegh", + "llvm.hexagon.S2.vcrotate", + "llvm.hexagon.S2.vrcnegh", + "llvm.hexagon.S2.vrndpackwh", + "llvm.hexagon.S2.vrndpackwhs", + "llvm.hexagon.S2.vsathb", + "llvm.hexagon.S2.vsathb.nopack", + "llvm.hexagon.S2.vsathub", + "llvm.hexagon.S2.vsathub.nopack", + "llvm.hexagon.S2.vsatwh", + "llvm.hexagon.S2.vsatwh.nopack", + "llvm.hexagon.S2.vsatwuh", + "llvm.hexagon.S2.vsatwuh.nopack", + "llvm.hexagon.S2.vsplatrb", + "llvm.hexagon.S2.vsplatrh", + "llvm.hexagon.S2.vspliceib", + "llvm.hexagon.S2.vsplicerb", + "llvm.hexagon.S2.vsxtbh", + "llvm.hexagon.S2.vsxthw", + "llvm.hexagon.S2.vtrunehb", + "llvm.hexagon.S2.vtrunewh", + "llvm.hexagon.S2.vtrunohb", + "llvm.hexagon.S2.vtrunowh", + "llvm.hexagon.S2.vzxtbh", + "llvm.hexagon.S2.vzxthw", + "llvm.hexagon.S4.addaddi", + "llvm.hexagon.S4.addi.asl.ri", + "llvm.hexagon.S4.addi.lsr.ri", + "llvm.hexagon.S4.andi.asl.ri", + "llvm.hexagon.S4.andi.lsr.ri", + "llvm.hexagon.S4.clbaddi", + "llvm.hexagon.S4.clbpaddi", + "llvm.hexagon.S4.clbpnorm", + "llvm.hexagon.S4.extract", + "llvm.hexagon.S4.extract.rp", + "llvm.hexagon.S4.extractp", + "llvm.hexagon.S4.extractp.rp", + "llvm.hexagon.S4.lsli", + "llvm.hexagon.S4.ntstbit.i", + "llvm.hexagon.S4.ntstbit.r", + "llvm.hexagon.S4.or.andi", + "llvm.hexagon.S4.or.andix", + "llvm.hexagon.S4.or.ori", + "llvm.hexagon.S4.ori.asl.ri", + "llvm.hexagon.S4.ori.lsr.ri", + "llvm.hexagon.S4.parity", + "llvm.hexagon.S4.subaddi", + "llvm.hexagon.S4.subi.asl.ri", + "llvm.hexagon.S4.subi.lsr.ri", + "llvm.hexagon.S4.vrcrotate", + "llvm.hexagon.S4.vrcrotate.acc", + "llvm.hexagon.S4.vxaddsubh", + "llvm.hexagon.S4.vxaddsubhr", + "llvm.hexagon.S4.vxaddsubw", + "llvm.hexagon.S4.vxsubaddh", + "llvm.hexagon.S4.vxsubaddhr", + "llvm.hexagon.S4.vxsubaddw", + "llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax", + "llvm.hexagon.S5.asrhub.sat", + "llvm.hexagon.S5.popcountp", + "llvm.hexagon.S5.vasrhrnd.goodsyntax", + "llvm.hexagon.SI.to.SXTHI.asrh", + "llvm.hexagon.circ.ldd", + "llvm.init.trampoline", + "llvm.invariant.end", + "llvm.invariant.start", + "llvm.lifetime.end", + "llvm.lifetime.start", + "llvm.log", + "llvm.log10", + "llvm.log2", + "llvm.longjmp", + "llvm.memcpy", + "llvm.memmove", + "llvm.memset", + "llvm.mips.absq.s.ph", + "llvm.mips.absq.s.qb", + "llvm.mips.absq.s.w", + "llvm.mips.add.a.b", + "llvm.mips.add.a.d", + "llvm.mips.add.a.h", + "llvm.mips.add.a.w", + "llvm.mips.addq.ph", + "llvm.mips.addq.s.ph", + "llvm.mips.addq.s.w", + "llvm.mips.addqh.ph", + "llvm.mips.addqh.r.ph", + "llvm.mips.addqh.r.w", + "llvm.mips.addqh.w", + "llvm.mips.adds.a.b", + "llvm.mips.adds.a.d", + "llvm.mips.adds.a.h", + "llvm.mips.adds.a.w", + "llvm.mips.adds.s.b", + "llvm.mips.adds.s.d", + "llvm.mips.adds.s.h", + "llvm.mips.adds.s.w", + "llvm.mips.adds.u.b", + "llvm.mips.adds.u.d", + "llvm.mips.adds.u.h", + "llvm.mips.adds.u.w", + "llvm.mips.addsc", + "llvm.mips.addu.ph", + "llvm.mips.addu.qb", + "llvm.mips.addu.s.ph", + "llvm.mips.addu.s.qb", + "llvm.mips.adduh.qb", + "llvm.mips.adduh.r.qb", + "llvm.mips.addv.b", + "llvm.mips.addv.d", + "llvm.mips.addv.h", + "llvm.mips.addv.w", + "llvm.mips.addvi.b", + "llvm.mips.addvi.d", + "llvm.mips.addvi.h", + "llvm.mips.addvi.w", + "llvm.mips.addwc", + "llvm.mips.and.v", + "llvm.mips.andi.b", + "llvm.mips.append", + "llvm.mips.asub.s.b", + "llvm.mips.asub.s.d", + "llvm.mips.asub.s.h", + "llvm.mips.asub.s.w", + "llvm.mips.asub.u.b", + "llvm.mips.asub.u.d", + "llvm.mips.asub.u.h", + "llvm.mips.asub.u.w", + "llvm.mips.ave.s.b", + "llvm.mips.ave.s.d", + "llvm.mips.ave.s.h", + "llvm.mips.ave.s.w", + "llvm.mips.ave.u.b", + "llvm.mips.ave.u.d", + "llvm.mips.ave.u.h", + "llvm.mips.ave.u.w", + "llvm.mips.aver.s.b", + "llvm.mips.aver.s.d", + "llvm.mips.aver.s.h", + "llvm.mips.aver.s.w", + "llvm.mips.aver.u.b", + "llvm.mips.aver.u.d", + "llvm.mips.aver.u.h", + "llvm.mips.aver.u.w", + "llvm.mips.balign", + "llvm.mips.bclr.b", + "llvm.mips.bclr.d", + "llvm.mips.bclr.h", + "llvm.mips.bclr.w", + "llvm.mips.bclri.b", + "llvm.mips.bclri.d", + "llvm.mips.bclri.h", + "llvm.mips.bclri.w", + "llvm.mips.binsl.b", + "llvm.mips.binsl.d", + "llvm.mips.binsl.h", + "llvm.mips.binsl.w", + "llvm.mips.binsli.b", + "llvm.mips.binsli.d", + "llvm.mips.binsli.h", + "llvm.mips.binsli.w", + "llvm.mips.binsr.b", + "llvm.mips.binsr.d", + "llvm.mips.binsr.h", + "llvm.mips.binsr.w", + "llvm.mips.binsri.b", + "llvm.mips.binsri.d", + "llvm.mips.binsri.h", + "llvm.mips.binsri.w", + "llvm.mips.bitrev", + "llvm.mips.bmnz.v", + "llvm.mips.bmnzi.b", + "llvm.mips.bmz.v", + "llvm.mips.bmzi.b", + "llvm.mips.bneg.b", + "llvm.mips.bneg.d", + "llvm.mips.bneg.h", + "llvm.mips.bneg.w", + "llvm.mips.bnegi.b", + "llvm.mips.bnegi.d", + "llvm.mips.bnegi.h", + "llvm.mips.bnegi.w", + "llvm.mips.bnz.b", + "llvm.mips.bnz.d", + "llvm.mips.bnz.h", + "llvm.mips.bnz.v", + "llvm.mips.bnz.w", + "llvm.mips.bposge32", + "llvm.mips.bsel.v", + "llvm.mips.bseli.b", + "llvm.mips.bset.b", + "llvm.mips.bset.d", + "llvm.mips.bset.h", + "llvm.mips.bset.w", + "llvm.mips.bseti.b", + "llvm.mips.bseti.d", + "llvm.mips.bseti.h", + "llvm.mips.bseti.w", + "llvm.mips.bz.b", + "llvm.mips.bz.d", + "llvm.mips.bz.h", + "llvm.mips.bz.v", + "llvm.mips.bz.w", + "llvm.mips.ceq.b", + "llvm.mips.ceq.d", + "llvm.mips.ceq.h", + "llvm.mips.ceq.w", + "llvm.mips.ceqi.b", + "llvm.mips.ceqi.d", + "llvm.mips.ceqi.h", + "llvm.mips.ceqi.w", + "llvm.mips.cfcmsa", + "llvm.mips.cle.s.b", + "llvm.mips.cle.s.d", + "llvm.mips.cle.s.h", + "llvm.mips.cle.s.w", + "llvm.mips.cle.u.b", + "llvm.mips.cle.u.d", + "llvm.mips.cle.u.h", + "llvm.mips.cle.u.w", + "llvm.mips.clei.s.b", + "llvm.mips.clei.s.d", + "llvm.mips.clei.s.h", + "llvm.mips.clei.s.w", + "llvm.mips.clei.u.b", + "llvm.mips.clei.u.d", + "llvm.mips.clei.u.h", + "llvm.mips.clei.u.w", + "llvm.mips.clt.s.b", + "llvm.mips.clt.s.d", + "llvm.mips.clt.s.h", + "llvm.mips.clt.s.w", + "llvm.mips.clt.u.b", + "llvm.mips.clt.u.d", + "llvm.mips.clt.u.h", + "llvm.mips.clt.u.w", + "llvm.mips.clti.s.b", + "llvm.mips.clti.s.d", + "llvm.mips.clti.s.h", + "llvm.mips.clti.s.w", + "llvm.mips.clti.u.b", + "llvm.mips.clti.u.d", + "llvm.mips.clti.u.h", + "llvm.mips.clti.u.w", + "llvm.mips.cmp.eq.ph", + "llvm.mips.cmp.le.ph", + "llvm.mips.cmp.lt.ph", + "llvm.mips.cmpgdu.eq.qb", + "llvm.mips.cmpgdu.le.qb", + "llvm.mips.cmpgdu.lt.qb", + "llvm.mips.cmpgu.eq.qb", + "llvm.mips.cmpgu.le.qb", + "llvm.mips.cmpgu.lt.qb", + "llvm.mips.cmpu.eq.qb", + "llvm.mips.cmpu.le.qb", + "llvm.mips.cmpu.lt.qb", + "llvm.mips.copy.s.b", + "llvm.mips.copy.s.d", + "llvm.mips.copy.s.h", + "llvm.mips.copy.s.w", + "llvm.mips.copy.u.b", + "llvm.mips.copy.u.d", + "llvm.mips.copy.u.h", + "llvm.mips.copy.u.w", + "llvm.mips.ctcmsa", + "llvm.mips.div.s.b", + "llvm.mips.div.s.d", + "llvm.mips.div.s.h", + "llvm.mips.div.s.w", + "llvm.mips.div.u.b", + "llvm.mips.div.u.d", + "llvm.mips.div.u.h", + "llvm.mips.div.u.w", + "llvm.mips.dlsa", + "llvm.mips.dotp.s.d", + "llvm.mips.dotp.s.h", + "llvm.mips.dotp.s.w", + "llvm.mips.dotp.u.d", + "llvm.mips.dotp.u.h", + "llvm.mips.dotp.u.w", + "llvm.mips.dpa.w.ph", + "llvm.mips.dpadd.s.d", + "llvm.mips.dpadd.s.h", + "llvm.mips.dpadd.s.w", + "llvm.mips.dpadd.u.d", + "llvm.mips.dpadd.u.h", + "llvm.mips.dpadd.u.w", + "llvm.mips.dpaq.s.w.ph", + "llvm.mips.dpaq.sa.l.w", + "llvm.mips.dpaqx.s.w.ph", + "llvm.mips.dpaqx.sa.w.ph", + "llvm.mips.dpau.h.qbl", + "llvm.mips.dpau.h.qbr", + "llvm.mips.dpax.w.ph", + "llvm.mips.dps.w.ph", + "llvm.mips.dpsq.s.w.ph", + "llvm.mips.dpsq.sa.l.w", + "llvm.mips.dpsqx.s.w.ph", + "llvm.mips.dpsqx.sa.w.ph", + "llvm.mips.dpsu.h.qbl", + "llvm.mips.dpsu.h.qbr", + "llvm.mips.dpsub.s.d", + "llvm.mips.dpsub.s.h", + "llvm.mips.dpsub.s.w", + "llvm.mips.dpsub.u.d", + "llvm.mips.dpsub.u.h", + "llvm.mips.dpsub.u.w", + "llvm.mips.dpsx.w.ph", + "llvm.mips.extp", + "llvm.mips.extpdp", + "llvm.mips.extr.r.w", + "llvm.mips.extr.rs.w", + "llvm.mips.extr.s.h", + "llvm.mips.extr.w", + "llvm.mips.fadd.d", + "llvm.mips.fadd.w", + "llvm.mips.fcaf.d", + "llvm.mips.fcaf.w", + "llvm.mips.fceq.d", + "llvm.mips.fceq.w", + "llvm.mips.fclass.d", + "llvm.mips.fclass.w", + "llvm.mips.fcle.d", + "llvm.mips.fcle.w", + "llvm.mips.fclt.d", + "llvm.mips.fclt.w", + "llvm.mips.fcne.d", + "llvm.mips.fcne.w", + "llvm.mips.fcor.d", + "llvm.mips.fcor.w", + "llvm.mips.fcueq.d", + "llvm.mips.fcueq.w", + "llvm.mips.fcule.d", + "llvm.mips.fcule.w", + "llvm.mips.fcult.d", + "llvm.mips.fcult.w", + "llvm.mips.fcun.d", + "llvm.mips.fcun.w", + "llvm.mips.fcune.d", + "llvm.mips.fcune.w", + "llvm.mips.fdiv.d", + "llvm.mips.fdiv.w", + "llvm.mips.fexdo.h", + "llvm.mips.fexdo.w", + "llvm.mips.fexp2.d", + "llvm.mips.fexp2.w", + "llvm.mips.fexupl.d", + "llvm.mips.fexupl.w", + "llvm.mips.fexupr.d", + "llvm.mips.fexupr.w", + "llvm.mips.ffint.s.d", + "llvm.mips.ffint.s.w", + "llvm.mips.ffint.u.d", + "llvm.mips.ffint.u.w", + "llvm.mips.ffql.d", + "llvm.mips.ffql.w", + "llvm.mips.ffqr.d", + "llvm.mips.ffqr.w", + "llvm.mips.fill.b", + "llvm.mips.fill.d", + "llvm.mips.fill.h", + "llvm.mips.fill.w", + "llvm.mips.flog2.d", + "llvm.mips.flog2.w", + "llvm.mips.fmadd.d", + "llvm.mips.fmadd.w", + "llvm.mips.fmax.a.d", + "llvm.mips.fmax.a.w", + "llvm.mips.fmax.d", + "llvm.mips.fmax.w", + "llvm.mips.fmin.a.d", + "llvm.mips.fmin.a.w", + "llvm.mips.fmin.d", + "llvm.mips.fmin.w", + "llvm.mips.fmsub.d", + "llvm.mips.fmsub.w", + "llvm.mips.fmul.d", + "llvm.mips.fmul.w", + "llvm.mips.frcp.d", + "llvm.mips.frcp.w", + "llvm.mips.frint.d", + "llvm.mips.frint.w", + "llvm.mips.frsqrt.d", + "llvm.mips.frsqrt.w", + "llvm.mips.fsaf.d", + "llvm.mips.fsaf.w", + "llvm.mips.fseq.d", + "llvm.mips.fseq.w", + "llvm.mips.fsle.d", + "llvm.mips.fsle.w", + "llvm.mips.fslt.d", + "llvm.mips.fslt.w", + "llvm.mips.fsne.d", + "llvm.mips.fsne.w", + "llvm.mips.fsor.d", + "llvm.mips.fsor.w", + "llvm.mips.fsqrt.d", + "llvm.mips.fsqrt.w", + "llvm.mips.fsub.d", + "llvm.mips.fsub.w", + "llvm.mips.fsueq.d", + "llvm.mips.fsueq.w", + "llvm.mips.fsule.d", + "llvm.mips.fsule.w", + "llvm.mips.fsult.d", + "llvm.mips.fsult.w", + "llvm.mips.fsun.d", + "llvm.mips.fsun.w", + "llvm.mips.fsune.d", + "llvm.mips.fsune.w", + "llvm.mips.ftint.s.d", + "llvm.mips.ftint.s.w", + "llvm.mips.ftint.u.d", + "llvm.mips.ftint.u.w", + "llvm.mips.ftq.h", + "llvm.mips.ftq.w", + "llvm.mips.ftrunc.s.d", + "llvm.mips.ftrunc.s.w", + "llvm.mips.ftrunc.u.d", + "llvm.mips.ftrunc.u.w", + "llvm.mips.hadd.s.d", + "llvm.mips.hadd.s.h", + "llvm.mips.hadd.s.w", + "llvm.mips.hadd.u.d", + "llvm.mips.hadd.u.h", + "llvm.mips.hadd.u.w", + "llvm.mips.hsub.s.d", + "llvm.mips.hsub.s.h", + "llvm.mips.hsub.s.w", + "llvm.mips.hsub.u.d", + "llvm.mips.hsub.u.h", + "llvm.mips.hsub.u.w", + "llvm.mips.ilvev.b", + "llvm.mips.ilvev.d", + "llvm.mips.ilvev.h", + "llvm.mips.ilvev.w", + "llvm.mips.ilvl.b", + "llvm.mips.ilvl.d", + "llvm.mips.ilvl.h", + "llvm.mips.ilvl.w", + "llvm.mips.ilvod.b", + "llvm.mips.ilvod.d", + "llvm.mips.ilvod.h", + "llvm.mips.ilvod.w", + "llvm.mips.ilvr.b", + "llvm.mips.ilvr.d", + "llvm.mips.ilvr.h", + "llvm.mips.ilvr.w", + "llvm.mips.insert.b", + "llvm.mips.insert.d", + "llvm.mips.insert.h", + "llvm.mips.insert.w", + "llvm.mips.insv", + "llvm.mips.insve.b", + "llvm.mips.insve.d", + "llvm.mips.insve.h", + "llvm.mips.insve.w", + "llvm.mips.lbux", + "llvm.mips.ld.b", + "llvm.mips.ld.d", + "llvm.mips.ld.h", + "llvm.mips.ld.w", + "llvm.mips.ldi.b", + "llvm.mips.ldi.d", + "llvm.mips.ldi.h", + "llvm.mips.ldi.w", + "llvm.mips.lhx", + "llvm.mips.lsa", + "llvm.mips.lwx", + "llvm.mips.madd", + "llvm.mips.madd.q.h", + "llvm.mips.madd.q.w", + "llvm.mips.maddr.q.h", + "llvm.mips.maddr.q.w", + "llvm.mips.maddu", + "llvm.mips.maddv.b", + "llvm.mips.maddv.d", + "llvm.mips.maddv.h", + "llvm.mips.maddv.w", + "llvm.mips.maq.s.w.phl", + "llvm.mips.maq.s.w.phr", + "llvm.mips.maq.sa.w.phl", + "llvm.mips.maq.sa.w.phr", + "llvm.mips.max.a.b", + "llvm.mips.max.a.d", + "llvm.mips.max.a.h", + "llvm.mips.max.a.w", + "llvm.mips.max.s.b", + "llvm.mips.max.s.d", + "llvm.mips.max.s.h", + "llvm.mips.max.s.w", + "llvm.mips.max.u.b", + "llvm.mips.max.u.d", + "llvm.mips.max.u.h", + "llvm.mips.max.u.w", + "llvm.mips.maxi.s.b", + "llvm.mips.maxi.s.d", + "llvm.mips.maxi.s.h", + "llvm.mips.maxi.s.w", + "llvm.mips.maxi.u.b", + "llvm.mips.maxi.u.d", + "llvm.mips.maxi.u.h", + "llvm.mips.maxi.u.w", + "llvm.mips.min.a.b", + "llvm.mips.min.a.d", + "llvm.mips.min.a.h", + "llvm.mips.min.a.w", + "llvm.mips.min.s.b", + "llvm.mips.min.s.d", + "llvm.mips.min.s.h", + "llvm.mips.min.s.w", + "llvm.mips.min.u.b", + "llvm.mips.min.u.d", + "llvm.mips.min.u.h", + "llvm.mips.min.u.w", + "llvm.mips.mini.s.b", + "llvm.mips.mini.s.d", + "llvm.mips.mini.s.h", + "llvm.mips.mini.s.w", + "llvm.mips.mini.u.b", + "llvm.mips.mini.u.d", + "llvm.mips.mini.u.h", + "llvm.mips.mini.u.w", + "llvm.mips.mod.s.b", + "llvm.mips.mod.s.d", + "llvm.mips.mod.s.h", + "llvm.mips.mod.s.w", + "llvm.mips.mod.u.b", + "llvm.mips.mod.u.d", + "llvm.mips.mod.u.h", + "llvm.mips.mod.u.w", + "llvm.mips.modsub", + "llvm.mips.move.v", + "llvm.mips.msub", + "llvm.mips.msub.q.h", + "llvm.mips.msub.q.w", + "llvm.mips.msubr.q.h", + "llvm.mips.msubr.q.w", + "llvm.mips.msubu", + "llvm.mips.msubv.b", + "llvm.mips.msubv.d", + "llvm.mips.msubv.h", + "llvm.mips.msubv.w", + "llvm.mips.mthlip", + "llvm.mips.mul.ph", + "llvm.mips.mul.q.h", + "llvm.mips.mul.q.w", + "llvm.mips.mul.s.ph", + "llvm.mips.muleq.s.w.phl", + "llvm.mips.muleq.s.w.phr", + "llvm.mips.muleu.s.ph.qbl", + "llvm.mips.muleu.s.ph.qbr", + "llvm.mips.mulq.rs.ph", + "llvm.mips.mulq.rs.w", + "llvm.mips.mulq.s.ph", + "llvm.mips.mulq.s.w", + "llvm.mips.mulr.q.h", + "llvm.mips.mulr.q.w", + "llvm.mips.mulsa.w.ph", + "llvm.mips.mulsaq.s.w.ph", + "llvm.mips.mult", + "llvm.mips.multu", + "llvm.mips.mulv.b", + "llvm.mips.mulv.d", + "llvm.mips.mulv.h", + "llvm.mips.mulv.w", + "llvm.mips.nloc.b", + "llvm.mips.nloc.d", + "llvm.mips.nloc.h", + "llvm.mips.nloc.w", + "llvm.mips.nlzc.b", + "llvm.mips.nlzc.d", + "llvm.mips.nlzc.h", + "llvm.mips.nlzc.w", + "llvm.mips.nor.v", + "llvm.mips.nori.b", + "llvm.mips.or.v", + "llvm.mips.ori.b", + "llvm.mips.packrl.ph", + "llvm.mips.pckev.b", + "llvm.mips.pckev.d", + "llvm.mips.pckev.h", + "llvm.mips.pckev.w", + "llvm.mips.pckod.b", + "llvm.mips.pckod.d", + "llvm.mips.pckod.h", + "llvm.mips.pckod.w", + "llvm.mips.pcnt.b", + "llvm.mips.pcnt.d", + "llvm.mips.pcnt.h", + "llvm.mips.pcnt.w", + "llvm.mips.pick.ph", + "llvm.mips.pick.qb", + "llvm.mips.preceq.w.phl", + "llvm.mips.preceq.w.phr", + "llvm.mips.precequ.ph.qbl", + "llvm.mips.precequ.ph.qbla", + "llvm.mips.precequ.ph.qbr", + "llvm.mips.precequ.ph.qbra", + "llvm.mips.preceu.ph.qbl", + "llvm.mips.preceu.ph.qbla", + "llvm.mips.preceu.ph.qbr", + "llvm.mips.preceu.ph.qbra", + "llvm.mips.precr.qb.ph", + "llvm.mips.precr.sra.ph.w", + "llvm.mips.precr.sra.r.ph.w", + "llvm.mips.precrq.ph.w", + "llvm.mips.precrq.qb.ph", + "llvm.mips.precrq.rs.ph.w", + "llvm.mips.precrqu.s.qb.ph", + "llvm.mips.prepend", + "llvm.mips.raddu.w.qb", + "llvm.mips.rddsp", + "llvm.mips.repl.ph", + "llvm.mips.repl.qb", + "llvm.mips.sat.s.b", + "llvm.mips.sat.s.d", + "llvm.mips.sat.s.h", + "llvm.mips.sat.s.w", + "llvm.mips.sat.u.b", + "llvm.mips.sat.u.d", + "llvm.mips.sat.u.h", + "llvm.mips.sat.u.w", + "llvm.mips.shf.b", + "llvm.mips.shf.h", + "llvm.mips.shf.w", + "llvm.mips.shilo", + "llvm.mips.shll.ph", + "llvm.mips.shll.qb", + "llvm.mips.shll.s.ph", + "llvm.mips.shll.s.w", + "llvm.mips.shra.ph", + "llvm.mips.shra.qb", + "llvm.mips.shra.r.ph", + "llvm.mips.shra.r.qb", + "llvm.mips.shra.r.w", + "llvm.mips.shrl.ph", + "llvm.mips.shrl.qb", + "llvm.mips.sld.b", + "llvm.mips.sld.d", + "llvm.mips.sld.h", + "llvm.mips.sld.w", + "llvm.mips.sldi.b", + "llvm.mips.sldi.d", + "llvm.mips.sldi.h", + "llvm.mips.sldi.w", + "llvm.mips.sll.b", + "llvm.mips.sll.d", + "llvm.mips.sll.h", + "llvm.mips.sll.w", + "llvm.mips.slli.b", + "llvm.mips.slli.d", + "llvm.mips.slli.h", + "llvm.mips.slli.w", + "llvm.mips.splat.b", + "llvm.mips.splat.d", + "llvm.mips.splat.h", + "llvm.mips.splat.w", + "llvm.mips.splati.b", + "llvm.mips.splati.d", + "llvm.mips.splati.h", + "llvm.mips.splati.w", + "llvm.mips.sra.b", + "llvm.mips.sra.d", + "llvm.mips.sra.h", + "llvm.mips.sra.w", + "llvm.mips.srai.b", + "llvm.mips.srai.d", + "llvm.mips.srai.h", + "llvm.mips.srai.w", + "llvm.mips.srar.b", + "llvm.mips.srar.d", + "llvm.mips.srar.h", + "llvm.mips.srar.w", + "llvm.mips.srari.b", + "llvm.mips.srari.d", + "llvm.mips.srari.h", + "llvm.mips.srari.w", + "llvm.mips.srl.b", + "llvm.mips.srl.d", + "llvm.mips.srl.h", + "llvm.mips.srl.w", + "llvm.mips.srli.b", + "llvm.mips.srli.d", + "llvm.mips.srli.h", + "llvm.mips.srli.w", + "llvm.mips.srlr.b", + "llvm.mips.srlr.d", + "llvm.mips.srlr.h", + "llvm.mips.srlr.w", + "llvm.mips.srlri.b", + "llvm.mips.srlri.d", + "llvm.mips.srlri.h", + "llvm.mips.srlri.w", + "llvm.mips.st.b", + "llvm.mips.st.d", + "llvm.mips.st.h", + "llvm.mips.st.w", + "llvm.mips.subq.ph", + "llvm.mips.subq.s.ph", + "llvm.mips.subq.s.w", + "llvm.mips.subqh.ph", + "llvm.mips.subqh.r.ph", + "llvm.mips.subqh.r.w", + "llvm.mips.subqh.w", + "llvm.mips.subs.s.b", + "llvm.mips.subs.s.d", + "llvm.mips.subs.s.h", + "llvm.mips.subs.s.w", + "llvm.mips.subs.u.b", + "llvm.mips.subs.u.d", + "llvm.mips.subs.u.h", + "llvm.mips.subs.u.w", + "llvm.mips.subsus.u.b", + "llvm.mips.subsus.u.d", + "llvm.mips.subsus.u.h", + "llvm.mips.subsus.u.w", + "llvm.mips.subsuu.s.b", + "llvm.mips.subsuu.s.d", + "llvm.mips.subsuu.s.h", + "llvm.mips.subsuu.s.w", + "llvm.mips.subu.ph", + "llvm.mips.subu.qb", + "llvm.mips.subu.s.ph", + "llvm.mips.subu.s.qb", + "llvm.mips.subuh.qb", + "llvm.mips.subuh.r.qb", + "llvm.mips.subv.b", + "llvm.mips.subv.d", + "llvm.mips.subv.h", + "llvm.mips.subv.w", + "llvm.mips.subvi.b", + "llvm.mips.subvi.d", + "llvm.mips.subvi.h", + "llvm.mips.subvi.w", + "llvm.mips.vshf.b", + "llvm.mips.vshf.d", + "llvm.mips.vshf.h", + "llvm.mips.vshf.w", + "llvm.mips.wrdsp", + "llvm.mips.xor.v", + "llvm.mips.xori.b", + "llvm.nearbyint", + "llvm.nvvm.abs.i", + "llvm.nvvm.abs.ll", + "llvm.nvvm.add.rm.d", + "llvm.nvvm.add.rm.f", + "llvm.nvvm.add.rm.ftz.f", + "llvm.nvvm.add.rn.d", + "llvm.nvvm.add.rn.f", + "llvm.nvvm.add.rn.ftz.f", + "llvm.nvvm.add.rp.d", + "llvm.nvvm.add.rp.f", + "llvm.nvvm.add.rp.ftz.f", + "llvm.nvvm.add.rz.d", + "llvm.nvvm.add.rz.f", + "llvm.nvvm.add.rz.ftz.f", + "llvm.nvvm.atomic.load.add.f32", + "llvm.nvvm.atomic.load.dec.32", + "llvm.nvvm.atomic.load.inc.32", + "llvm.nvvm.barrier0", + "llvm.nvvm.barrier0.and", + "llvm.nvvm.barrier0.or", + "llvm.nvvm.barrier0.popc", + "llvm.nvvm.bitcast.d2ll", + "llvm.nvvm.bitcast.f2i", + "llvm.nvvm.bitcast.i2f", + "llvm.nvvm.bitcast.ll2d", + "llvm.nvvm.brev32", + "llvm.nvvm.brev64", + "llvm.nvvm.ceil.d", + "llvm.nvvm.ceil.f", + "llvm.nvvm.ceil.ftz.f", + "llvm.nvvm.clz.i", + "llvm.nvvm.clz.ll", + "llvm.nvvm.compiler.error", + "llvm.nvvm.compiler.warn", + "llvm.nvvm.cos.approx.f", + "llvm.nvvm.cos.approx.ftz.f", + "llvm.nvvm.d2f.rm", + "llvm.nvvm.d2f.rm.ftz", + "llvm.nvvm.d2f.rn", + "llvm.nvvm.d2f.rn.ftz", + "llvm.nvvm.d2f.rp", + "llvm.nvvm.d2f.rp.ftz", + "llvm.nvvm.d2f.rz", + "llvm.nvvm.d2f.rz.ftz", + "llvm.nvvm.d2i.hi", + "llvm.nvvm.d2i.lo", + "llvm.nvvm.d2i.rm", + "llvm.nvvm.d2i.rn", + "llvm.nvvm.d2i.rp", + "llvm.nvvm.d2i.rz", + "llvm.nvvm.d2ll.rm", + "llvm.nvvm.d2ll.rn", + "llvm.nvvm.d2ll.rp", + "llvm.nvvm.d2ll.rz", + "llvm.nvvm.d2ui.rm", + "llvm.nvvm.d2ui.rn", + "llvm.nvvm.d2ui.rp", + "llvm.nvvm.d2ui.rz", + "llvm.nvvm.d2ull.rm", + "llvm.nvvm.d2ull.rn", + "llvm.nvvm.d2ull.rp", + "llvm.nvvm.d2ull.rz", + "llvm.nvvm.div.approx.f", + "llvm.nvvm.div.approx.ftz.f", + "llvm.nvvm.div.rm.d", + "llvm.nvvm.div.rm.f", + "llvm.nvvm.div.rm.ftz.f", + "llvm.nvvm.div.rn.d", + "llvm.nvvm.div.rn.f", + "llvm.nvvm.div.rn.ftz.f", + "llvm.nvvm.div.rp.d", + "llvm.nvvm.div.rp.f", + "llvm.nvvm.div.rp.ftz.f", + "llvm.nvvm.div.rz.d", + "llvm.nvvm.div.rz.f", + "llvm.nvvm.div.rz.ftz.f", + "llvm.nvvm.ex2.approx.d", + "llvm.nvvm.ex2.approx.f", + "llvm.nvvm.ex2.approx.ftz.f", + "llvm.nvvm.f2h.rn", + "llvm.nvvm.f2h.rn.ftz", + "llvm.nvvm.f2i.rm", + "llvm.nvvm.f2i.rm.ftz", + "llvm.nvvm.f2i.rn", + "llvm.nvvm.f2i.rn.ftz", + "llvm.nvvm.f2i.rp", + "llvm.nvvm.f2i.rp.ftz", + "llvm.nvvm.f2i.rz", + "llvm.nvvm.f2i.rz.ftz", + "llvm.nvvm.f2ll.rm", + "llvm.nvvm.f2ll.rm.ftz", + "llvm.nvvm.f2ll.rn", + "llvm.nvvm.f2ll.rn.ftz", + "llvm.nvvm.f2ll.rp", + "llvm.nvvm.f2ll.rp.ftz", + "llvm.nvvm.f2ll.rz", + "llvm.nvvm.f2ll.rz.ftz", + "llvm.nvvm.f2ui.rm", + "llvm.nvvm.f2ui.rm.ftz", + "llvm.nvvm.f2ui.rn", + "llvm.nvvm.f2ui.rn.ftz", + "llvm.nvvm.f2ui.rp", + "llvm.nvvm.f2ui.rp.ftz", + "llvm.nvvm.f2ui.rz", + "llvm.nvvm.f2ui.rz.ftz", + "llvm.nvvm.f2ull.rm", + "llvm.nvvm.f2ull.rm.ftz", + "llvm.nvvm.f2ull.rn", + "llvm.nvvm.f2ull.rn.ftz", + "llvm.nvvm.f2ull.rp", + "llvm.nvvm.f2ull.rp.ftz", + "llvm.nvvm.f2ull.rz", + "llvm.nvvm.f2ull.rz.ftz", + "llvm.nvvm.fabs.d", + "llvm.nvvm.fabs.f", + "llvm.nvvm.fabs.ftz.f", + "llvm.nvvm.floor.d", + "llvm.nvvm.floor.f", + "llvm.nvvm.floor.ftz.f", + "llvm.nvvm.fma.rm.d", + "llvm.nvvm.fma.rm.f", + "llvm.nvvm.fma.rm.ftz.f", + "llvm.nvvm.fma.rn.d", + "llvm.nvvm.fma.rn.f", + "llvm.nvvm.fma.rn.ftz.f", + "llvm.nvvm.fma.rp.d", + "llvm.nvvm.fma.rp.f", + "llvm.nvvm.fma.rp.ftz.f", + "llvm.nvvm.fma.rz.d", + "llvm.nvvm.fma.rz.f", + "llvm.nvvm.fma.rz.ftz.f", + "llvm.nvvm.fmax.d", + "llvm.nvvm.fmax.f", + "llvm.nvvm.fmax.ftz.f", + "llvm.nvvm.fmin.d", + "llvm.nvvm.fmin.f", + "llvm.nvvm.fmin.ftz.f", + "llvm.nvvm.h2f", + "llvm.nvvm.i2d.rm", + "llvm.nvvm.i2d.rn", + "llvm.nvvm.i2d.rp", + "llvm.nvvm.i2d.rz", + "llvm.nvvm.i2f.rm", + "llvm.nvvm.i2f.rn", + "llvm.nvvm.i2f.rp", + "llvm.nvvm.i2f.rz", + "llvm.nvvm.isspacep.const", + "llvm.nvvm.isspacep.global", + "llvm.nvvm.isspacep.local", + "llvm.nvvm.isspacep.shared", + "llvm.nvvm.istypep.sampler", + "llvm.nvvm.istypep.surface", + "llvm.nvvm.istypep.texture", + "llvm.nvvm.ldg.global.f", + "llvm.nvvm.ldg.global.i", + "llvm.nvvm.ldg.global.p", + "llvm.nvvm.ldu.global.f", + "llvm.nvvm.ldu.global.i", + "llvm.nvvm.ldu.global.p", + "llvm.nvvm.lg2.approx.d", + "llvm.nvvm.lg2.approx.f", + "llvm.nvvm.lg2.approx.ftz.f", + "llvm.nvvm.ll2d.rm", + "llvm.nvvm.ll2d.rn", + "llvm.nvvm.ll2d.rp", + "llvm.nvvm.ll2d.rz", + "llvm.nvvm.ll2f.rm", + "llvm.nvvm.ll2f.rn", + "llvm.nvvm.ll2f.rp", + "llvm.nvvm.ll2f.rz", + "llvm.nvvm.lohi.i2d", + "llvm.nvvm.max.i", + "llvm.nvvm.max.ll", + "llvm.nvvm.max.ui", + "llvm.nvvm.max.ull", + "llvm.nvvm.membar.cta", + "llvm.nvvm.membar.gl", + "llvm.nvvm.membar.sys", + "llvm.nvvm.min.i", + "llvm.nvvm.min.ll", + "llvm.nvvm.min.ui", + "llvm.nvvm.min.ull", + "llvm.nvvm.move.double", + "llvm.nvvm.move.float", + "llvm.nvvm.move.i16", + "llvm.nvvm.move.i32", + "llvm.nvvm.move.i64", + "llvm.nvvm.move.ptr", + "llvm.nvvm.mul24.i", + "llvm.nvvm.mul24.ui", + "llvm.nvvm.mul.rm.d", + "llvm.nvvm.mul.rm.f", + "llvm.nvvm.mul.rm.ftz.f", + "llvm.nvvm.mul.rn.d", + "llvm.nvvm.mul.rn.f", + "llvm.nvvm.mul.rn.ftz.f", + "llvm.nvvm.mul.rp.d", + "llvm.nvvm.mul.rp.f", + "llvm.nvvm.mul.rp.ftz.f", + "llvm.nvvm.mul.rz.d", + "llvm.nvvm.mul.rz.f", + "llvm.nvvm.mul.rz.ftz.f", + "llvm.nvvm.mulhi.i", + "llvm.nvvm.mulhi.ll", + "llvm.nvvm.mulhi.ui", + "llvm.nvvm.mulhi.ull", + "llvm.nvvm.popc.i", + "llvm.nvvm.popc.ll", + "llvm.nvvm.prmt", + "llvm.nvvm.ptr.constant.to.gen", + "llvm.nvvm.ptr.gen.to.constant", + "llvm.nvvm.ptr.gen.to.global", + "llvm.nvvm.ptr.gen.to.local", + "llvm.nvvm.ptr.gen.to.param", + "llvm.nvvm.ptr.gen.to.shared", + "llvm.nvvm.ptr.global.to.gen", + "llvm.nvvm.ptr.local.to.gen", + "llvm.nvvm.ptr.shared.to.gen", + "llvm.nvvm.rcp.approx.ftz.d", + "llvm.nvvm.rcp.rm.d", + "llvm.nvvm.rcp.rm.f", + "llvm.nvvm.rcp.rm.ftz.f", + "llvm.nvvm.rcp.rn.d", + "llvm.nvvm.rcp.rn.f", + "llvm.nvvm.rcp.rn.ftz.f", + "llvm.nvvm.rcp.rp.d", + "llvm.nvvm.rcp.rp.f", + "llvm.nvvm.rcp.rp.ftz.f", + "llvm.nvvm.rcp.rz.d", + "llvm.nvvm.rcp.rz.f", + "llvm.nvvm.rcp.rz.ftz.f", + "llvm.nvvm.read.ptx.sreg.ctaid.x", + "llvm.nvvm.read.ptx.sreg.ctaid.y", + "llvm.nvvm.read.ptx.sreg.ctaid.z", + "llvm.nvvm.read.ptx.sreg.envreg0", + "llvm.nvvm.read.ptx.sreg.envreg1", + "llvm.nvvm.read.ptx.sreg.envreg10", + "llvm.nvvm.read.ptx.sreg.envreg11", + "llvm.nvvm.read.ptx.sreg.envreg12", + "llvm.nvvm.read.ptx.sreg.envreg13", + "llvm.nvvm.read.ptx.sreg.envreg14", + "llvm.nvvm.read.ptx.sreg.envreg15", + "llvm.nvvm.read.ptx.sreg.envreg16", + "llvm.nvvm.read.ptx.sreg.envreg17", + "llvm.nvvm.read.ptx.sreg.envreg18", + "llvm.nvvm.read.ptx.sreg.envreg19", + "llvm.nvvm.read.ptx.sreg.envreg2", + "llvm.nvvm.read.ptx.sreg.envreg20", + "llvm.nvvm.read.ptx.sreg.envreg21", + "llvm.nvvm.read.ptx.sreg.envreg22", + "llvm.nvvm.read.ptx.sreg.envreg23", + "llvm.nvvm.read.ptx.sreg.envreg24", + "llvm.nvvm.read.ptx.sreg.envreg25", + "llvm.nvvm.read.ptx.sreg.envreg26", + "llvm.nvvm.read.ptx.sreg.envreg27", + "llvm.nvvm.read.ptx.sreg.envreg28", + "llvm.nvvm.read.ptx.sreg.envreg29", + "llvm.nvvm.read.ptx.sreg.envreg3", + "llvm.nvvm.read.ptx.sreg.envreg30", + "llvm.nvvm.read.ptx.sreg.envreg31", + "llvm.nvvm.read.ptx.sreg.envreg4", + "llvm.nvvm.read.ptx.sreg.envreg5", + "llvm.nvvm.read.ptx.sreg.envreg6", + "llvm.nvvm.read.ptx.sreg.envreg7", + "llvm.nvvm.read.ptx.sreg.envreg8", + "llvm.nvvm.read.ptx.sreg.envreg9", + "llvm.nvvm.read.ptx.sreg.nctaid.x", + "llvm.nvvm.read.ptx.sreg.nctaid.y", + "llvm.nvvm.read.ptx.sreg.nctaid.z", + "llvm.nvvm.read.ptx.sreg.ntid.x", + "llvm.nvvm.read.ptx.sreg.ntid.y", + "llvm.nvvm.read.ptx.sreg.ntid.z", + "llvm.nvvm.read.ptx.sreg.tid.x", + "llvm.nvvm.read.ptx.sreg.tid.y", + "llvm.nvvm.read.ptx.sreg.tid.z", + "llvm.nvvm.read.ptx.sreg.warpsize", + "llvm.nvvm.reflect", + "llvm.nvvm.rotate.b32", + "llvm.nvvm.rotate.b64", + "llvm.nvvm.rotate.right.b64", + "llvm.nvvm.round.d", + "llvm.nvvm.round.f", + "llvm.nvvm.round.ftz.f", + "llvm.nvvm.rsqrt.approx.d", + "llvm.nvvm.rsqrt.approx.f", + "llvm.nvvm.rsqrt.approx.ftz.f", + "llvm.nvvm.sad.i", + "llvm.nvvm.sad.ui", + "llvm.nvvm.saturate.d", + "llvm.nvvm.saturate.f", + "llvm.nvvm.saturate.ftz.f", + "llvm.nvvm.sin.approx.f", + "llvm.nvvm.sin.approx.ftz.f", + "llvm.nvvm.sqrt.approx.f", + "llvm.nvvm.sqrt.approx.ftz.f", + "llvm.nvvm.sqrt.f", + "llvm.nvvm.sqrt.rm.d", + "llvm.nvvm.sqrt.rm.f", + "llvm.nvvm.sqrt.rm.ftz.f", + "llvm.nvvm.sqrt.rn.d", + "llvm.nvvm.sqrt.rn.f", + "llvm.nvvm.sqrt.rn.ftz.f", + "llvm.nvvm.sqrt.rp.d", + "llvm.nvvm.sqrt.rp.f", + "llvm.nvvm.sqrt.rp.ftz.f", + "llvm.nvvm.sqrt.rz.d", + "llvm.nvvm.sqrt.rz.f", + "llvm.nvvm.sqrt.rz.ftz.f", + "llvm.nvvm.suld.1d.array.i16.clamp", + "llvm.nvvm.suld.1d.array.i16.trap", + "llvm.nvvm.suld.1d.array.i16.zero", + "llvm.nvvm.suld.1d.array.i32.clamp", + "llvm.nvvm.suld.1d.array.i32.trap", + "llvm.nvvm.suld.1d.array.i32.zero", + "llvm.nvvm.suld.1d.array.i64.clamp", + "llvm.nvvm.suld.1d.array.i64.trap", + "llvm.nvvm.suld.1d.array.i64.zero", + "llvm.nvvm.suld.1d.array.i8.clamp", + "llvm.nvvm.suld.1d.array.i8.trap", + "llvm.nvvm.suld.1d.array.i8.zero", + "llvm.nvvm.suld.1d.array.v2i16.clamp", + "llvm.nvvm.suld.1d.array.v2i16.trap", + "llvm.nvvm.suld.1d.array.v2i16.zero", + "llvm.nvvm.suld.1d.array.v2i32.clamp", + "llvm.nvvm.suld.1d.array.v2i32.trap", + "llvm.nvvm.suld.1d.array.v2i32.zero", + "llvm.nvvm.suld.1d.array.v2i64.clamp", + "llvm.nvvm.suld.1d.array.v2i64.trap", + "llvm.nvvm.suld.1d.array.v2i64.zero", + "llvm.nvvm.suld.1d.array.v2i8.clamp", + "llvm.nvvm.suld.1d.array.v2i8.trap", + "llvm.nvvm.suld.1d.array.v2i8.zero", + "llvm.nvvm.suld.1d.array.v4i16.clamp", + "llvm.nvvm.suld.1d.array.v4i16.trap", + "llvm.nvvm.suld.1d.array.v4i16.zero", + "llvm.nvvm.suld.1d.array.v4i32.clamp", + "llvm.nvvm.suld.1d.array.v4i32.trap", + "llvm.nvvm.suld.1d.array.v4i32.zero", + "llvm.nvvm.suld.1d.array.v4i8.clamp", + "llvm.nvvm.suld.1d.array.v4i8.trap", + "llvm.nvvm.suld.1d.array.v4i8.zero", + "llvm.nvvm.suld.1d.i16.clamp", + "llvm.nvvm.suld.1d.i16.trap", + "llvm.nvvm.suld.1d.i16.zero", + "llvm.nvvm.suld.1d.i32.clamp", + "llvm.nvvm.suld.1d.i32.trap", + "llvm.nvvm.suld.1d.i32.zero", + "llvm.nvvm.suld.1d.i64.clamp", + "llvm.nvvm.suld.1d.i64.trap", + "llvm.nvvm.suld.1d.i64.zero", + "llvm.nvvm.suld.1d.i8.clamp", + "llvm.nvvm.suld.1d.i8.trap", + "llvm.nvvm.suld.1d.i8.zero", + "llvm.nvvm.suld.1d.v2i16.clamp", + "llvm.nvvm.suld.1d.v2i16.trap", + "llvm.nvvm.suld.1d.v2i16.zero", + "llvm.nvvm.suld.1d.v2i32.clamp", + "llvm.nvvm.suld.1d.v2i32.trap", + "llvm.nvvm.suld.1d.v2i32.zero", + "llvm.nvvm.suld.1d.v2i64.clamp", + "llvm.nvvm.suld.1d.v2i64.trap", + "llvm.nvvm.suld.1d.v2i64.zero", + "llvm.nvvm.suld.1d.v2i8.clamp", + "llvm.nvvm.suld.1d.v2i8.trap", + "llvm.nvvm.suld.1d.v2i8.zero", + "llvm.nvvm.suld.1d.v4i16.clamp", + "llvm.nvvm.suld.1d.v4i16.trap", + "llvm.nvvm.suld.1d.v4i16.zero", + "llvm.nvvm.suld.1d.v4i32.clamp", + "llvm.nvvm.suld.1d.v4i32.trap", + "llvm.nvvm.suld.1d.v4i32.zero", + "llvm.nvvm.suld.1d.v4i8.clamp", + "llvm.nvvm.suld.1d.v4i8.trap", + "llvm.nvvm.suld.1d.v4i8.zero", + "llvm.nvvm.suld.2d.array.i16.clamp", + "llvm.nvvm.suld.2d.array.i16.trap", + "llvm.nvvm.suld.2d.array.i16.zero", + "llvm.nvvm.suld.2d.array.i32.clamp", + "llvm.nvvm.suld.2d.array.i32.trap", + "llvm.nvvm.suld.2d.array.i32.zero", + "llvm.nvvm.suld.2d.array.i64.clamp", + "llvm.nvvm.suld.2d.array.i64.trap", + "llvm.nvvm.suld.2d.array.i64.zero", + "llvm.nvvm.suld.2d.array.i8.clamp", + "llvm.nvvm.suld.2d.array.i8.trap", + "llvm.nvvm.suld.2d.array.i8.zero", + "llvm.nvvm.suld.2d.array.v2i16.clamp", + "llvm.nvvm.suld.2d.array.v2i16.trap", + "llvm.nvvm.suld.2d.array.v2i16.zero", + "llvm.nvvm.suld.2d.array.v2i32.clamp", + "llvm.nvvm.suld.2d.array.v2i32.trap", + "llvm.nvvm.suld.2d.array.v2i32.zero", + "llvm.nvvm.suld.2d.array.v2i64.clamp", + "llvm.nvvm.suld.2d.array.v2i64.trap", + "llvm.nvvm.suld.2d.array.v2i64.zero", + "llvm.nvvm.suld.2d.array.v2i8.clamp", + "llvm.nvvm.suld.2d.array.v2i8.trap", + "llvm.nvvm.suld.2d.array.v2i8.zero", + "llvm.nvvm.suld.2d.array.v4i16.clamp", + "llvm.nvvm.suld.2d.array.v4i16.trap", + "llvm.nvvm.suld.2d.array.v4i16.zero", + "llvm.nvvm.suld.2d.array.v4i32.clamp", + "llvm.nvvm.suld.2d.array.v4i32.trap", + "llvm.nvvm.suld.2d.array.v4i32.zero", + "llvm.nvvm.suld.2d.array.v4i8.clamp", + "llvm.nvvm.suld.2d.array.v4i8.trap", + "llvm.nvvm.suld.2d.array.v4i8.zero", + "llvm.nvvm.suld.2d.i16.clamp", + "llvm.nvvm.suld.2d.i16.trap", + "llvm.nvvm.suld.2d.i16.zero", + "llvm.nvvm.suld.2d.i32.clamp", + "llvm.nvvm.suld.2d.i32.trap", + "llvm.nvvm.suld.2d.i32.zero", + "llvm.nvvm.suld.2d.i64.clamp", + "llvm.nvvm.suld.2d.i64.trap", + "llvm.nvvm.suld.2d.i64.zero", + "llvm.nvvm.suld.2d.i8.clamp", + "llvm.nvvm.suld.2d.i8.trap", + "llvm.nvvm.suld.2d.i8.zero", + "llvm.nvvm.suld.2d.v2i16.clamp", + "llvm.nvvm.suld.2d.v2i16.trap", + "llvm.nvvm.suld.2d.v2i16.zero", + "llvm.nvvm.suld.2d.v2i32.clamp", + "llvm.nvvm.suld.2d.v2i32.trap", + "llvm.nvvm.suld.2d.v2i32.zero", + "llvm.nvvm.suld.2d.v2i64.clamp", + "llvm.nvvm.suld.2d.v2i64.trap", + "llvm.nvvm.suld.2d.v2i64.zero", + "llvm.nvvm.suld.2d.v2i8.clamp", + "llvm.nvvm.suld.2d.v2i8.trap", + "llvm.nvvm.suld.2d.v2i8.zero", + "llvm.nvvm.suld.2d.v4i16.clamp", + "llvm.nvvm.suld.2d.v4i16.trap", + "llvm.nvvm.suld.2d.v4i16.zero", + "llvm.nvvm.suld.2d.v4i32.clamp", + "llvm.nvvm.suld.2d.v4i32.trap", + "llvm.nvvm.suld.2d.v4i32.zero", + "llvm.nvvm.suld.2d.v4i8.clamp", + "llvm.nvvm.suld.2d.v4i8.trap", + "llvm.nvvm.suld.2d.v4i8.zero", + "llvm.nvvm.suld.3d.i16.clamp", + "llvm.nvvm.suld.3d.i16.trap", + "llvm.nvvm.suld.3d.i16.zero", + "llvm.nvvm.suld.3d.i32.clamp", + "llvm.nvvm.suld.3d.i32.trap", + "llvm.nvvm.suld.3d.i32.zero", + "llvm.nvvm.suld.3d.i64.clamp", + "llvm.nvvm.suld.3d.i64.trap", + "llvm.nvvm.suld.3d.i64.zero", + "llvm.nvvm.suld.3d.i8.clamp", + "llvm.nvvm.suld.3d.i8.trap", + "llvm.nvvm.suld.3d.i8.zero", + "llvm.nvvm.suld.3d.v2i16.clamp", + "llvm.nvvm.suld.3d.v2i16.trap", + "llvm.nvvm.suld.3d.v2i16.zero", + "llvm.nvvm.suld.3d.v2i32.clamp", + "llvm.nvvm.suld.3d.v2i32.trap", + "llvm.nvvm.suld.3d.v2i32.zero", + "llvm.nvvm.suld.3d.v2i64.clamp", + "llvm.nvvm.suld.3d.v2i64.trap", + "llvm.nvvm.suld.3d.v2i64.zero", + "llvm.nvvm.suld.3d.v2i8.clamp", + "llvm.nvvm.suld.3d.v2i8.trap", + "llvm.nvvm.suld.3d.v2i8.zero", + "llvm.nvvm.suld.3d.v4i16.clamp", + "llvm.nvvm.suld.3d.v4i16.trap", + "llvm.nvvm.suld.3d.v4i16.zero", + "llvm.nvvm.suld.3d.v4i32.clamp", + "llvm.nvvm.suld.3d.v4i32.trap", + "llvm.nvvm.suld.3d.v4i32.zero", + "llvm.nvvm.suld.3d.v4i8.clamp", + "llvm.nvvm.suld.3d.v4i8.trap", + "llvm.nvvm.suld.3d.v4i8.zero", + "llvm.nvvm.suq.array.size", + "llvm.nvvm.suq.channel.data.type", + "llvm.nvvm.suq.channel.order", + "llvm.nvvm.suq.depth", + "llvm.nvvm.suq.height", + "llvm.nvvm.suq.width", + "llvm.nvvm.sust.b.1d.array.i16.clamp", + "llvm.nvvm.sust.b.1d.array.i16.trap", + "llvm.nvvm.sust.b.1d.array.i16.zero", + "llvm.nvvm.sust.b.1d.array.i32.clamp", + "llvm.nvvm.sust.b.1d.array.i32.trap", + "llvm.nvvm.sust.b.1d.array.i32.zero", + "llvm.nvvm.sust.b.1d.array.i64.clamp", + "llvm.nvvm.sust.b.1d.array.i64.trap", + "llvm.nvvm.sust.b.1d.array.i64.zero", + "llvm.nvvm.sust.b.1d.array.i8.clamp", + "llvm.nvvm.sust.b.1d.array.i8.trap", + "llvm.nvvm.sust.b.1d.array.i8.zero", + "llvm.nvvm.sust.b.1d.array.v2i16.clamp", + "llvm.nvvm.sust.b.1d.array.v2i16.trap", + "llvm.nvvm.sust.b.1d.array.v2i16.zero", + "llvm.nvvm.sust.b.1d.array.v2i32.clamp", + "llvm.nvvm.sust.b.1d.array.v2i32.trap", + "llvm.nvvm.sust.b.1d.array.v2i32.zero", + "llvm.nvvm.sust.b.1d.array.v2i64.clamp", + "llvm.nvvm.sust.b.1d.array.v2i64.trap", + "llvm.nvvm.sust.b.1d.array.v2i64.zero", + "llvm.nvvm.sust.b.1d.array.v2i8.clamp", + "llvm.nvvm.sust.b.1d.array.v2i8.trap", + "llvm.nvvm.sust.b.1d.array.v2i8.zero", + "llvm.nvvm.sust.b.1d.array.v4i16.clamp", + "llvm.nvvm.sust.b.1d.array.v4i16.trap", + "llvm.nvvm.sust.b.1d.array.v4i16.zero", + "llvm.nvvm.sust.b.1d.array.v4i32.clamp", + "llvm.nvvm.sust.b.1d.array.v4i32.trap", + "llvm.nvvm.sust.b.1d.array.v4i32.zero", + "llvm.nvvm.sust.b.1d.array.v4i8.clamp", + "llvm.nvvm.sust.b.1d.array.v4i8.trap", + "llvm.nvvm.sust.b.1d.array.v4i8.zero", + "llvm.nvvm.sust.b.1d.i16.clamp", + "llvm.nvvm.sust.b.1d.i16.trap", + "llvm.nvvm.sust.b.1d.i16.zero", + "llvm.nvvm.sust.b.1d.i32.clamp", + "llvm.nvvm.sust.b.1d.i32.trap", + "llvm.nvvm.sust.b.1d.i32.zero", + "llvm.nvvm.sust.b.1d.i64.clamp", + "llvm.nvvm.sust.b.1d.i64.trap", + "llvm.nvvm.sust.b.1d.i64.zero", + "llvm.nvvm.sust.b.1d.i8.clamp", + "llvm.nvvm.sust.b.1d.i8.trap", + "llvm.nvvm.sust.b.1d.i8.zero", + "llvm.nvvm.sust.b.1d.v2i16.clamp", + "llvm.nvvm.sust.b.1d.v2i16.trap", + "llvm.nvvm.sust.b.1d.v2i16.zero", + "llvm.nvvm.sust.b.1d.v2i32.clamp", + "llvm.nvvm.sust.b.1d.v2i32.trap", + "llvm.nvvm.sust.b.1d.v2i32.zero", + "llvm.nvvm.sust.b.1d.v2i64.clamp", + "llvm.nvvm.sust.b.1d.v2i64.trap", + "llvm.nvvm.sust.b.1d.v2i64.zero", + "llvm.nvvm.sust.b.1d.v2i8.clamp", + "llvm.nvvm.sust.b.1d.v2i8.trap", + "llvm.nvvm.sust.b.1d.v2i8.zero", + "llvm.nvvm.sust.b.1d.v4i16.clamp", + "llvm.nvvm.sust.b.1d.v4i16.trap", + "llvm.nvvm.sust.b.1d.v4i16.zero", + "llvm.nvvm.sust.b.1d.v4i32.clamp", + "llvm.nvvm.sust.b.1d.v4i32.trap", + "llvm.nvvm.sust.b.1d.v4i32.zero", + "llvm.nvvm.sust.b.1d.v4i8.clamp", + "llvm.nvvm.sust.b.1d.v4i8.trap", + "llvm.nvvm.sust.b.1d.v4i8.zero", + "llvm.nvvm.sust.b.2d.array.i16.clamp", + "llvm.nvvm.sust.b.2d.array.i16.trap", + "llvm.nvvm.sust.b.2d.array.i16.zero", + "llvm.nvvm.sust.b.2d.array.i32.clamp", + "llvm.nvvm.sust.b.2d.array.i32.trap", + "llvm.nvvm.sust.b.2d.array.i32.zero", + "llvm.nvvm.sust.b.2d.array.i64.clamp", + "llvm.nvvm.sust.b.2d.array.i64.trap", + "llvm.nvvm.sust.b.2d.array.i64.zero", + "llvm.nvvm.sust.b.2d.array.i8.clamp", + "llvm.nvvm.sust.b.2d.array.i8.trap", + "llvm.nvvm.sust.b.2d.array.i8.zero", + "llvm.nvvm.sust.b.2d.array.v2i16.clamp", + "llvm.nvvm.sust.b.2d.array.v2i16.trap", + "llvm.nvvm.sust.b.2d.array.v2i16.zero", + "llvm.nvvm.sust.b.2d.array.v2i32.clamp", + "llvm.nvvm.sust.b.2d.array.v2i32.trap", + "llvm.nvvm.sust.b.2d.array.v2i32.zero", + "llvm.nvvm.sust.b.2d.array.v2i64.clamp", + "llvm.nvvm.sust.b.2d.array.v2i64.trap", + "llvm.nvvm.sust.b.2d.array.v2i64.zero", + "llvm.nvvm.sust.b.2d.array.v2i8.clamp", + "llvm.nvvm.sust.b.2d.array.v2i8.trap", + "llvm.nvvm.sust.b.2d.array.v2i8.zero", + "llvm.nvvm.sust.b.2d.array.v4i16.clamp", + "llvm.nvvm.sust.b.2d.array.v4i16.trap", + "llvm.nvvm.sust.b.2d.array.v4i16.zero", + "llvm.nvvm.sust.b.2d.array.v4i32.clamp", + "llvm.nvvm.sust.b.2d.array.v4i32.trap", + "llvm.nvvm.sust.b.2d.array.v4i32.zero", + "llvm.nvvm.sust.b.2d.array.v4i8.clamp", + "llvm.nvvm.sust.b.2d.array.v4i8.trap", + "llvm.nvvm.sust.b.2d.array.v4i8.zero", + "llvm.nvvm.sust.b.2d.i16.clamp", + "llvm.nvvm.sust.b.2d.i16.trap", + "llvm.nvvm.sust.b.2d.i16.zero", + "llvm.nvvm.sust.b.2d.i32.clamp", + "llvm.nvvm.sust.b.2d.i32.trap", + "llvm.nvvm.sust.b.2d.i32.zero", + "llvm.nvvm.sust.b.2d.i64.clamp", + "llvm.nvvm.sust.b.2d.i64.trap", + "llvm.nvvm.sust.b.2d.i64.zero", + "llvm.nvvm.sust.b.2d.i8.clamp", + "llvm.nvvm.sust.b.2d.i8.trap", + "llvm.nvvm.sust.b.2d.i8.zero", + "llvm.nvvm.sust.b.2d.v2i16.clamp", + "llvm.nvvm.sust.b.2d.v2i16.trap", + "llvm.nvvm.sust.b.2d.v2i16.zero", + "llvm.nvvm.sust.b.2d.v2i32.clamp", + "llvm.nvvm.sust.b.2d.v2i32.trap", + "llvm.nvvm.sust.b.2d.v2i32.zero", + "llvm.nvvm.sust.b.2d.v2i64.clamp", + "llvm.nvvm.sust.b.2d.v2i64.trap", + "llvm.nvvm.sust.b.2d.v2i64.zero", + "llvm.nvvm.sust.b.2d.v2i8.clamp", + "llvm.nvvm.sust.b.2d.v2i8.trap", + "llvm.nvvm.sust.b.2d.v2i8.zero", + "llvm.nvvm.sust.b.2d.v4i16.clamp", + "llvm.nvvm.sust.b.2d.v4i16.trap", + "llvm.nvvm.sust.b.2d.v4i16.zero", + "llvm.nvvm.sust.b.2d.v4i32.clamp", + "llvm.nvvm.sust.b.2d.v4i32.trap", + "llvm.nvvm.sust.b.2d.v4i32.zero", + "llvm.nvvm.sust.b.2d.v4i8.clamp", + "llvm.nvvm.sust.b.2d.v4i8.trap", + "llvm.nvvm.sust.b.2d.v4i8.zero", + "llvm.nvvm.sust.b.3d.i16.clamp", + "llvm.nvvm.sust.b.3d.i16.trap", + "llvm.nvvm.sust.b.3d.i16.zero", + "llvm.nvvm.sust.b.3d.i32.clamp", + "llvm.nvvm.sust.b.3d.i32.trap", + "llvm.nvvm.sust.b.3d.i32.zero", + "llvm.nvvm.sust.b.3d.i64.clamp", + "llvm.nvvm.sust.b.3d.i64.trap", + "llvm.nvvm.sust.b.3d.i64.zero", + "llvm.nvvm.sust.b.3d.i8.clamp", + "llvm.nvvm.sust.b.3d.i8.trap", + "llvm.nvvm.sust.b.3d.i8.zero", + "llvm.nvvm.sust.b.3d.v2i16.clamp", + "llvm.nvvm.sust.b.3d.v2i16.trap", + "llvm.nvvm.sust.b.3d.v2i16.zero", + "llvm.nvvm.sust.b.3d.v2i32.clamp", + "llvm.nvvm.sust.b.3d.v2i32.trap", + "llvm.nvvm.sust.b.3d.v2i32.zero", + "llvm.nvvm.sust.b.3d.v2i64.clamp", + "llvm.nvvm.sust.b.3d.v2i64.trap", + "llvm.nvvm.sust.b.3d.v2i64.zero", + "llvm.nvvm.sust.b.3d.v2i8.clamp", + "llvm.nvvm.sust.b.3d.v2i8.trap", + "llvm.nvvm.sust.b.3d.v2i8.zero", + "llvm.nvvm.sust.b.3d.v4i16.clamp", + "llvm.nvvm.sust.b.3d.v4i16.trap", + "llvm.nvvm.sust.b.3d.v4i16.zero", + "llvm.nvvm.sust.b.3d.v4i32.clamp", + "llvm.nvvm.sust.b.3d.v4i32.trap", + "llvm.nvvm.sust.b.3d.v4i32.zero", + "llvm.nvvm.sust.b.3d.v4i8.clamp", + "llvm.nvvm.sust.b.3d.v4i8.trap", + "llvm.nvvm.sust.b.3d.v4i8.zero", + "llvm.nvvm.sust.p.1d.array.i16.trap", + "llvm.nvvm.sust.p.1d.array.i32.trap", + "llvm.nvvm.sust.p.1d.array.i8.trap", + "llvm.nvvm.sust.p.1d.array.v2i16.trap", + "llvm.nvvm.sust.p.1d.array.v2i32.trap", + "llvm.nvvm.sust.p.1d.array.v2i8.trap", + "llvm.nvvm.sust.p.1d.array.v4i16.trap", + "llvm.nvvm.sust.p.1d.array.v4i32.trap", + "llvm.nvvm.sust.p.1d.array.v4i8.trap", + "llvm.nvvm.sust.p.1d.i16.trap", + "llvm.nvvm.sust.p.1d.i32.trap", + "llvm.nvvm.sust.p.1d.i8.trap", + "llvm.nvvm.sust.p.1d.v2i16.trap", + "llvm.nvvm.sust.p.1d.v2i32.trap", + "llvm.nvvm.sust.p.1d.v2i8.trap", + "llvm.nvvm.sust.p.1d.v4i16.trap", + "llvm.nvvm.sust.p.1d.v4i32.trap", + "llvm.nvvm.sust.p.1d.v4i8.trap", + "llvm.nvvm.sust.p.2d.array.i16.trap", + "llvm.nvvm.sust.p.2d.array.i32.trap", + "llvm.nvvm.sust.p.2d.array.i8.trap", + "llvm.nvvm.sust.p.2d.array.v2i16.trap", + "llvm.nvvm.sust.p.2d.array.v2i32.trap", + "llvm.nvvm.sust.p.2d.array.v2i8.trap", + "llvm.nvvm.sust.p.2d.array.v4i16.trap", + "llvm.nvvm.sust.p.2d.array.v4i32.trap", + "llvm.nvvm.sust.p.2d.array.v4i8.trap", + "llvm.nvvm.sust.p.2d.i16.trap", + "llvm.nvvm.sust.p.2d.i32.trap", + "llvm.nvvm.sust.p.2d.i8.trap", + "llvm.nvvm.sust.p.2d.v2i16.trap", + "llvm.nvvm.sust.p.2d.v2i32.trap", + "llvm.nvvm.sust.p.2d.v2i8.trap", + "llvm.nvvm.sust.p.2d.v4i16.trap", + "llvm.nvvm.sust.p.2d.v4i32.trap", + "llvm.nvvm.sust.p.2d.v4i8.trap", + "llvm.nvvm.sust.p.3d.i16.trap", + "llvm.nvvm.sust.p.3d.i32.trap", + "llvm.nvvm.sust.p.3d.i8.trap", + "llvm.nvvm.sust.p.3d.v2i16.trap", + "llvm.nvvm.sust.p.3d.v2i32.trap", + "llvm.nvvm.sust.p.3d.v2i8.trap", + "llvm.nvvm.sust.p.3d.v4i16.trap", + "llvm.nvvm.sust.p.3d.v4i32.trap", + "llvm.nvvm.sust.p.3d.v4i8.trap", + "llvm.nvvm.swap.lo.hi.b64", + "llvm.nvvm.tex.1d.array.grad.v4f32.f32", + "llvm.nvvm.tex.1d.array.grad.v4s32.f32", + "llvm.nvvm.tex.1d.array.grad.v4u32.f32", + "llvm.nvvm.tex.1d.array.level.v4f32.f32", + "llvm.nvvm.tex.1d.array.level.v4s32.f32", + "llvm.nvvm.tex.1d.array.level.v4u32.f32", + "llvm.nvvm.tex.1d.array.v4f32.f32", + "llvm.nvvm.tex.1d.array.v4f32.s32", + "llvm.nvvm.tex.1d.array.v4s32.f32", + "llvm.nvvm.tex.1d.array.v4s32.s32", + "llvm.nvvm.tex.1d.array.v4u32.f32", + "llvm.nvvm.tex.1d.array.v4u32.s32", + "llvm.nvvm.tex.1d.grad.v4f32.f32", + "llvm.nvvm.tex.1d.grad.v4s32.f32", + "llvm.nvvm.tex.1d.grad.v4u32.f32", + "llvm.nvvm.tex.1d.level.v4f32.f32", + "llvm.nvvm.tex.1d.level.v4s32.f32", + "llvm.nvvm.tex.1d.level.v4u32.f32", + "llvm.nvvm.tex.1d.v4f32.f32", + "llvm.nvvm.tex.1d.v4f32.s32", + "llvm.nvvm.tex.1d.v4s32.f32", + "llvm.nvvm.tex.1d.v4s32.s32", + "llvm.nvvm.tex.1d.v4u32.f32", + "llvm.nvvm.tex.1d.v4u32.s32", + "llvm.nvvm.tex.2d.array.grad.v4f32.f32", + "llvm.nvvm.tex.2d.array.grad.v4s32.f32", + "llvm.nvvm.tex.2d.array.grad.v4u32.f32", + "llvm.nvvm.tex.2d.array.level.v4f32.f32", + "llvm.nvvm.tex.2d.array.level.v4s32.f32", + "llvm.nvvm.tex.2d.array.level.v4u32.f32", + "llvm.nvvm.tex.2d.array.v4f32.f32", + "llvm.nvvm.tex.2d.array.v4f32.s32", + "llvm.nvvm.tex.2d.array.v4s32.f32", + "llvm.nvvm.tex.2d.array.v4s32.s32", + "llvm.nvvm.tex.2d.array.v4u32.f32", + "llvm.nvvm.tex.2d.array.v4u32.s32", + "llvm.nvvm.tex.2d.grad.v4f32.f32", + "llvm.nvvm.tex.2d.grad.v4s32.f32", + "llvm.nvvm.tex.2d.grad.v4u32.f32", + "llvm.nvvm.tex.2d.level.v4f32.f32", + "llvm.nvvm.tex.2d.level.v4s32.f32", + "llvm.nvvm.tex.2d.level.v4u32.f32", + "llvm.nvvm.tex.2d.v4f32.f32", + "llvm.nvvm.tex.2d.v4f32.s32", + "llvm.nvvm.tex.2d.v4s32.f32", + "llvm.nvvm.tex.2d.v4s32.s32", + "llvm.nvvm.tex.2d.v4u32.f32", + "llvm.nvvm.tex.2d.v4u32.s32", + "llvm.nvvm.tex.3d.grad.v4f32.f32", + "llvm.nvvm.tex.3d.grad.v4s32.f32", + "llvm.nvvm.tex.3d.grad.v4u32.f32", + "llvm.nvvm.tex.3d.level.v4f32.f32", + "llvm.nvvm.tex.3d.level.v4s32.f32", + "llvm.nvvm.tex.3d.level.v4u32.f32", + "llvm.nvvm.tex.3d.v4f32.f32", + "llvm.nvvm.tex.3d.v4f32.s32", + "llvm.nvvm.tex.3d.v4s32.f32", + "llvm.nvvm.tex.3d.v4s32.s32", + "llvm.nvvm.tex.3d.v4u32.f32", + "llvm.nvvm.tex.3d.v4u32.s32", + "llvm.nvvm.tex.cube.array.level.v4f32.f32", + "llvm.nvvm.tex.cube.array.level.v4s32.f32", + "llvm.nvvm.tex.cube.array.level.v4u32.f32", + "llvm.nvvm.tex.cube.array.v4f32.f32", + "llvm.nvvm.tex.cube.array.v4s32.f32", + "llvm.nvvm.tex.cube.array.v4u32.f32", + "llvm.nvvm.tex.cube.level.v4f32.f32", + "llvm.nvvm.tex.cube.level.v4s32.f32", + "llvm.nvvm.tex.cube.level.v4u32.f32", + "llvm.nvvm.tex.cube.v4f32.f32", + "llvm.nvvm.tex.cube.v4s32.f32", + "llvm.nvvm.tex.cube.v4u32.f32", + "llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32", + "llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32", + "llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32", + "llvm.nvvm.tex.unified.1d.array.level.v4f32.f32", + "llvm.nvvm.tex.unified.1d.array.level.v4s32.f32", + "llvm.nvvm.tex.unified.1d.array.level.v4u32.f32", + "llvm.nvvm.tex.unified.1d.array.v4f32.f32", + "llvm.nvvm.tex.unified.1d.array.v4f32.s32", + "llvm.nvvm.tex.unified.1d.array.v4s32.f32", + "llvm.nvvm.tex.unified.1d.array.v4s32.s32", + "llvm.nvvm.tex.unified.1d.array.v4u32.f32", + "llvm.nvvm.tex.unified.1d.array.v4u32.s32", + "llvm.nvvm.tex.unified.1d.grad.v4f32.f32", + "llvm.nvvm.tex.unified.1d.grad.v4s32.f32", + "llvm.nvvm.tex.unified.1d.grad.v4u32.f32", + "llvm.nvvm.tex.unified.1d.level.v4f32.f32", + "llvm.nvvm.tex.unified.1d.level.v4s32.f32", + "llvm.nvvm.tex.unified.1d.level.v4u32.f32", + "llvm.nvvm.tex.unified.1d.v4f32.f32", + "llvm.nvvm.tex.unified.1d.v4f32.s32", + "llvm.nvvm.tex.unified.1d.v4s32.f32", + "llvm.nvvm.tex.unified.1d.v4s32.s32", + "llvm.nvvm.tex.unified.1d.v4u32.f32", + "llvm.nvvm.tex.unified.1d.v4u32.s32", + "llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32", + "llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32", + "llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32", + "llvm.nvvm.tex.unified.2d.array.level.v4f32.f32", + "llvm.nvvm.tex.unified.2d.array.level.v4s32.f32", + "llvm.nvvm.tex.unified.2d.array.level.v4u32.f32", + "llvm.nvvm.tex.unified.2d.array.v4f32.f32", + "llvm.nvvm.tex.unified.2d.array.v4f32.s32", + "llvm.nvvm.tex.unified.2d.array.v4s32.f32", + "llvm.nvvm.tex.unified.2d.array.v4s32.s32", + "llvm.nvvm.tex.unified.2d.array.v4u32.f32", + "llvm.nvvm.tex.unified.2d.array.v4u32.s32", + "llvm.nvvm.tex.unified.2d.grad.v4f32.f32", + "llvm.nvvm.tex.unified.2d.grad.v4s32.f32", + "llvm.nvvm.tex.unified.2d.grad.v4u32.f32", + "llvm.nvvm.tex.unified.2d.level.v4f32.f32", + "llvm.nvvm.tex.unified.2d.level.v4s32.f32", + "llvm.nvvm.tex.unified.2d.level.v4u32.f32", + "llvm.nvvm.tex.unified.2d.v4f32.f32", + "llvm.nvvm.tex.unified.2d.v4f32.s32", + "llvm.nvvm.tex.unified.2d.v4s32.f32", + "llvm.nvvm.tex.unified.2d.v4s32.s32", + "llvm.nvvm.tex.unified.2d.v4u32.f32", + "llvm.nvvm.tex.unified.2d.v4u32.s32", + "llvm.nvvm.tex.unified.3d.grad.v4f32.f32", + "llvm.nvvm.tex.unified.3d.grad.v4s32.f32", + "llvm.nvvm.tex.unified.3d.grad.v4u32.f32", + "llvm.nvvm.tex.unified.3d.level.v4f32.f32", + "llvm.nvvm.tex.unified.3d.level.v4s32.f32", + "llvm.nvvm.tex.unified.3d.level.v4u32.f32", + "llvm.nvvm.tex.unified.3d.v4f32.f32", + "llvm.nvvm.tex.unified.3d.v4f32.s32", + "llvm.nvvm.tex.unified.3d.v4s32.f32", + "llvm.nvvm.tex.unified.3d.v4s32.s32", + "llvm.nvvm.tex.unified.3d.v4u32.f32", + "llvm.nvvm.tex.unified.3d.v4u32.s32", + "llvm.nvvm.tex.unified.cube.array.level.v4f32.f32", + "llvm.nvvm.tex.unified.cube.array.level.v4s32.f32", + "llvm.nvvm.tex.unified.cube.array.level.v4u32.f32", + "llvm.nvvm.tex.unified.cube.array.v4f32.f32", + "llvm.nvvm.tex.unified.cube.array.v4s32.f32", + "llvm.nvvm.tex.unified.cube.array.v4u32.f32", + "llvm.nvvm.tex.unified.cube.level.v4f32.f32", + "llvm.nvvm.tex.unified.cube.level.v4s32.f32", + "llvm.nvvm.tex.unified.cube.level.v4u32.f32", + "llvm.nvvm.tex.unified.cube.v4f32.f32", + "llvm.nvvm.tex.unified.cube.v4s32.f32", + "llvm.nvvm.tex.unified.cube.v4u32.f32", + "llvm.nvvm.texsurf.handle", + "llvm.nvvm.texsurf.handle.internal", + "llvm.nvvm.tld4.a.2d.v4f32.f32", + "llvm.nvvm.tld4.a.2d.v4s32.f32", + "llvm.nvvm.tld4.a.2d.v4u32.f32", + "llvm.nvvm.tld4.b.2d.v4f32.f32", + "llvm.nvvm.tld4.b.2d.v4s32.f32", + "llvm.nvvm.tld4.b.2d.v4u32.f32", + "llvm.nvvm.tld4.g.2d.v4f32.f32", + "llvm.nvvm.tld4.g.2d.v4s32.f32", + "llvm.nvvm.tld4.g.2d.v4u32.f32", + "llvm.nvvm.tld4.r.2d.v4f32.f32", + "llvm.nvvm.tld4.r.2d.v4s32.f32", + "llvm.nvvm.tld4.r.2d.v4u32.f32", + "llvm.nvvm.tld4.unified.a.2d.v4f32.f32", + "llvm.nvvm.tld4.unified.a.2d.v4s32.f32", + "llvm.nvvm.tld4.unified.a.2d.v4u32.f32", + "llvm.nvvm.tld4.unified.b.2d.v4f32.f32", + "llvm.nvvm.tld4.unified.b.2d.v4s32.f32", + "llvm.nvvm.tld4.unified.b.2d.v4u32.f32", + "llvm.nvvm.tld4.unified.g.2d.v4f32.f32", + "llvm.nvvm.tld4.unified.g.2d.v4s32.f32", + "llvm.nvvm.tld4.unified.g.2d.v4u32.f32", + "llvm.nvvm.tld4.unified.r.2d.v4f32.f32", + "llvm.nvvm.tld4.unified.r.2d.v4s32.f32", + "llvm.nvvm.tld4.unified.r.2d.v4u32.f32", + "llvm.nvvm.trunc.d", + "llvm.nvvm.trunc.f", + "llvm.nvvm.trunc.ftz.f", + "llvm.nvvm.txq.array.size", + "llvm.nvvm.txq.channel.data.type", + "llvm.nvvm.txq.channel.order", + "llvm.nvvm.txq.depth", + "llvm.nvvm.txq.height", + "llvm.nvvm.txq.num.mipmap.levels", + "llvm.nvvm.txq.num.samples", + "llvm.nvvm.txq.width", + "llvm.nvvm.ui2d.rm", + "llvm.nvvm.ui2d.rn", + "llvm.nvvm.ui2d.rp", + "llvm.nvvm.ui2d.rz", + "llvm.nvvm.ui2f.rm", + "llvm.nvvm.ui2f.rn", + "llvm.nvvm.ui2f.rp", + "llvm.nvvm.ui2f.rz", + "llvm.nvvm.ull2d.rm", + "llvm.nvvm.ull2d.rn", + "llvm.nvvm.ull2d.rp", + "llvm.nvvm.ull2d.rz", + "llvm.nvvm.ull2f.rm", + "llvm.nvvm.ull2f.rn", + "llvm.nvvm.ull2f.rp", + "llvm.nvvm.ull2f.rz", + "llvm.objectsize", + "llvm.pcmarker", + "llvm.pow", + "llvm.powi", + "llvm.ppc.altivec.dss", + "llvm.ppc.altivec.dssall", + "llvm.ppc.altivec.dst", + "llvm.ppc.altivec.dstst", + "llvm.ppc.altivec.dststt", + "llvm.ppc.altivec.dstt", + "llvm.ppc.altivec.lvebx", + "llvm.ppc.altivec.lvehx", + "llvm.ppc.altivec.lvewx", + "llvm.ppc.altivec.lvsl", + "llvm.ppc.altivec.lvsr", + "llvm.ppc.altivec.lvx", + "llvm.ppc.altivec.lvxl", + "llvm.ppc.altivec.mfvscr", + "llvm.ppc.altivec.mtvscr", + "llvm.ppc.altivec.stvebx", + "llvm.ppc.altivec.stvehx", + "llvm.ppc.altivec.stvewx", + "llvm.ppc.altivec.stvx", + "llvm.ppc.altivec.stvxl", + "llvm.ppc.altivec.vaddcuw", + "llvm.ppc.altivec.vaddsbs", + "llvm.ppc.altivec.vaddshs", + "llvm.ppc.altivec.vaddsws", + "llvm.ppc.altivec.vaddubs", + "llvm.ppc.altivec.vadduhs", + "llvm.ppc.altivec.vadduws", + "llvm.ppc.altivec.vavgsb", + "llvm.ppc.altivec.vavgsh", + "llvm.ppc.altivec.vavgsw", + "llvm.ppc.altivec.vavgub", + "llvm.ppc.altivec.vavguh", + "llvm.ppc.altivec.vavguw", + "llvm.ppc.altivec.vcfsx", + "llvm.ppc.altivec.vcfux", + "llvm.ppc.altivec.vcmpbfp", + "llvm.ppc.altivec.vcmpbfp.p", + "llvm.ppc.altivec.vcmpeqfp", + "llvm.ppc.altivec.vcmpeqfp.p", + "llvm.ppc.altivec.vcmpequb", + "llvm.ppc.altivec.vcmpequb.p", + "llvm.ppc.altivec.vcmpequh", + "llvm.ppc.altivec.vcmpequh.p", + "llvm.ppc.altivec.vcmpequw", + "llvm.ppc.altivec.vcmpequw.p", + "llvm.ppc.altivec.vcmpgefp", + "llvm.ppc.altivec.vcmpgefp.p", + "llvm.ppc.altivec.vcmpgtfp", + "llvm.ppc.altivec.vcmpgtfp.p", + "llvm.ppc.altivec.vcmpgtsb", + "llvm.ppc.altivec.vcmpgtsb.p", + "llvm.ppc.altivec.vcmpgtsh", + "llvm.ppc.altivec.vcmpgtsh.p", + "llvm.ppc.altivec.vcmpgtsw", + "llvm.ppc.altivec.vcmpgtsw.p", + "llvm.ppc.altivec.vcmpgtub", + "llvm.ppc.altivec.vcmpgtub.p", + "llvm.ppc.altivec.vcmpgtuh", + "llvm.ppc.altivec.vcmpgtuh.p", + "llvm.ppc.altivec.vcmpgtuw", + "llvm.ppc.altivec.vcmpgtuw.p", + "llvm.ppc.altivec.vctsxs", + "llvm.ppc.altivec.vctuxs", + "llvm.ppc.altivec.vexptefp", + "llvm.ppc.altivec.vlogefp", + "llvm.ppc.altivec.vmaddfp", + "llvm.ppc.altivec.vmaxfp", + "llvm.ppc.altivec.vmaxsb", + "llvm.ppc.altivec.vmaxsh", + "llvm.ppc.altivec.vmaxsw", + "llvm.ppc.altivec.vmaxub", + "llvm.ppc.altivec.vmaxuh", + "llvm.ppc.altivec.vmaxuw", + "llvm.ppc.altivec.vmhaddshs", + "llvm.ppc.altivec.vmhraddshs", + "llvm.ppc.altivec.vminfp", + "llvm.ppc.altivec.vminsb", + "llvm.ppc.altivec.vminsh", + "llvm.ppc.altivec.vminsw", + "llvm.ppc.altivec.vminub", + "llvm.ppc.altivec.vminuh", + "llvm.ppc.altivec.vminuw", + "llvm.ppc.altivec.vmladduhm", + "llvm.ppc.altivec.vmsummbm", + "llvm.ppc.altivec.vmsumshm", + "llvm.ppc.altivec.vmsumshs", + "llvm.ppc.altivec.vmsumubm", + "llvm.ppc.altivec.vmsumuhm", + "llvm.ppc.altivec.vmsumuhs", + "llvm.ppc.altivec.vmulesb", + "llvm.ppc.altivec.vmulesh", + "llvm.ppc.altivec.vmuleub", + "llvm.ppc.altivec.vmuleuh", + "llvm.ppc.altivec.vmulosb", + "llvm.ppc.altivec.vmulosh", + "llvm.ppc.altivec.vmuloub", + "llvm.ppc.altivec.vmulouh", + "llvm.ppc.altivec.vnmsubfp", + "llvm.ppc.altivec.vperm", + "llvm.ppc.altivec.vpkpx", + "llvm.ppc.altivec.vpkshss", + "llvm.ppc.altivec.vpkshus", + "llvm.ppc.altivec.vpkswss", + "llvm.ppc.altivec.vpkswus", + "llvm.ppc.altivec.vpkuhus", + "llvm.ppc.altivec.vpkuwus", + "llvm.ppc.altivec.vrefp", + "llvm.ppc.altivec.vrfim", + "llvm.ppc.altivec.vrfin", + "llvm.ppc.altivec.vrfip", + "llvm.ppc.altivec.vrfiz", + "llvm.ppc.altivec.vrlb", + "llvm.ppc.altivec.vrlh", + "llvm.ppc.altivec.vrlw", + "llvm.ppc.altivec.vrsqrtefp", + "llvm.ppc.altivec.vsel", + "llvm.ppc.altivec.vsl", + "llvm.ppc.altivec.vslb", + "llvm.ppc.altivec.vslh", + "llvm.ppc.altivec.vslo", + "llvm.ppc.altivec.vslw", + "llvm.ppc.altivec.vsr", + "llvm.ppc.altivec.vsrab", + "llvm.ppc.altivec.vsrah", + "llvm.ppc.altivec.vsraw", + "llvm.ppc.altivec.vsrb", + "llvm.ppc.altivec.vsrh", + "llvm.ppc.altivec.vsro", + "llvm.ppc.altivec.vsrw", + "llvm.ppc.altivec.vsubcuw", + "llvm.ppc.altivec.vsubsbs", + "llvm.ppc.altivec.vsubshs", + "llvm.ppc.altivec.vsubsws", + "llvm.ppc.altivec.vsububs", + "llvm.ppc.altivec.vsubuhs", + "llvm.ppc.altivec.vsubuws", + "llvm.ppc.altivec.vsum2sws", + "llvm.ppc.altivec.vsum4sbs", + "llvm.ppc.altivec.vsum4shs", + "llvm.ppc.altivec.vsum4ubs", + "llvm.ppc.altivec.vsumsws", + "llvm.ppc.altivec.vupkhpx", + "llvm.ppc.altivec.vupkhsb", + "llvm.ppc.altivec.vupkhsh", + "llvm.ppc.altivec.vupklpx", + "llvm.ppc.altivec.vupklsb", + "llvm.ppc.altivec.vupklsh", + "llvm.ppc.dcba", + "llvm.ppc.dcbf", + "llvm.ppc.dcbi", + "llvm.ppc.dcbst", + "llvm.ppc.dcbt", + "llvm.ppc.dcbtst", + "llvm.ppc.dcbz", + "llvm.ppc.dcbzl", + "llvm.ppc.is.decremented.ctr.nonzero", + "llvm.ppc.mtctr", + "llvm.ppc.sync", + "llvm.prefetch", + "llvm.ptr.annotation", + "llvm.ptx.bar.sync", + "llvm.ptx.read.clock", + "llvm.ptx.read.clock64", + "llvm.ptx.read.ctaid.w", + "llvm.ptx.read.ctaid.x", + "llvm.ptx.read.ctaid.y", + "llvm.ptx.read.ctaid.z", + "llvm.ptx.read.gridid", + "llvm.ptx.read.laneid", + "llvm.ptx.read.lanemask.eq", + "llvm.ptx.read.lanemask.ge", + "llvm.ptx.read.lanemask.gt", + "llvm.ptx.read.lanemask.le", + "llvm.ptx.read.lanemask.lt", + "llvm.ptx.read.nctaid.w", + "llvm.ptx.read.nctaid.x", + "llvm.ptx.read.nctaid.y", + "llvm.ptx.read.nctaid.z", + "llvm.ptx.read.nsmid", + "llvm.ptx.read.ntid.w", + "llvm.ptx.read.ntid.x", + "llvm.ptx.read.ntid.y", + "llvm.ptx.read.ntid.z", + "llvm.ptx.read.nwarpid", + "llvm.ptx.read.pm0", + "llvm.ptx.read.pm1", + "llvm.ptx.read.pm2", + "llvm.ptx.read.pm3", + "llvm.ptx.read.smid", + "llvm.ptx.read.tid.w", + "llvm.ptx.read.tid.x", + "llvm.ptx.read.tid.y", + "llvm.ptx.read.tid.z", + "llvm.ptx.read.warpid", + "llvm.r600.read.global.size.x", + "llvm.r600.read.global.size.y", + "llvm.r600.read.global.size.z", + "llvm.r600.read.local.size.x", + "llvm.r600.read.local.size.y", + "llvm.r600.read.local.size.z", + "llvm.r600.read.ngroups.x", + "llvm.r600.read.ngroups.y", + "llvm.r600.read.ngroups.z", + "llvm.r600.read.tgid.x", + "llvm.r600.read.tgid.y", + "llvm.r600.read.tgid.z", + "llvm.r600.read.tidig.x", + "llvm.r600.read.tidig.y", + "llvm.r600.read.tidig.z", + "llvm.read_register", + "llvm.readcyclecounter", + "llvm.returnaddress", + "llvm.rint", + "llvm.round", + "llvm.sadd.with.overflow", + "llvm.setjmp", + "llvm.siglongjmp", + "llvm.sigsetjmp", + "llvm.sin", + "llvm.smul.with.overflow", + "llvm.sqrt", + "llvm.ssub.with.overflow", + "llvm.stackprotector", + "llvm.stackprotectorcheck", + "llvm.stackrestore", + "llvm.stacksave", + "llvm.trap", + "llvm.trunc", + "llvm.uadd.with.overflow", + "llvm.umul.with.overflow", + "llvm.usub.with.overflow", + "llvm.va_copy", + "llvm.va_end", + "llvm.var.annotation", + "llvm.va_start", + "llvm.write_register", + "llvm.x86.3dnow.pavgusb", + "llvm.x86.3dnow.pf2id", + "llvm.x86.3dnow.pfacc", + "llvm.x86.3dnow.pfadd", + "llvm.x86.3dnow.pfcmpeq", + "llvm.x86.3dnow.pfcmpge", + "llvm.x86.3dnow.pfcmpgt", + "llvm.x86.3dnow.pfmax", + "llvm.x86.3dnow.pfmin", + "llvm.x86.3dnow.pfmul", + "llvm.x86.3dnow.pfrcp", + "llvm.x86.3dnow.pfrcpit1", + "llvm.x86.3dnow.pfrcpit2", + "llvm.x86.3dnow.pfrsqit1", + "llvm.x86.3dnow.pfrsqrt", + "llvm.x86.3dnow.pfsub", + "llvm.x86.3dnow.pfsubr", + "llvm.x86.3dnow.pi2fd", + "llvm.x86.3dnow.pmulhrw", + "llvm.x86.3dnowa.pf2iw", + "llvm.x86.3dnowa.pfnacc", + "llvm.x86.3dnowa.pfpnacc", + "llvm.x86.3dnowa.pi2fw", + "llvm.x86.3dnowa.pswapd", + "llvm.x86.aesni.aesdec", + "llvm.x86.aesni.aesdeclast", + "llvm.x86.aesni.aesenc", + "llvm.x86.aesni.aesenclast", + "llvm.x86.aesni.aesimc", + "llvm.x86.aesni.aeskeygenassist", + "llvm.x86.avx2.gather.d.d", + "llvm.x86.avx2.gather.d.d.256", + "llvm.x86.avx2.gather.d.pd", + "llvm.x86.avx2.gather.d.pd.256", + "llvm.x86.avx2.gather.d.ps", + "llvm.x86.avx2.gather.d.ps.256", + "llvm.x86.avx2.gather.d.q", + "llvm.x86.avx2.gather.d.q.256", + "llvm.x86.avx2.gather.q.d", + "llvm.x86.avx2.gather.q.d.256", + "llvm.x86.avx2.gather.q.pd", + "llvm.x86.avx2.gather.q.pd.256", + "llvm.x86.avx2.gather.q.ps", + "llvm.x86.avx2.gather.q.ps.256", + "llvm.x86.avx2.gather.q.q", + "llvm.x86.avx2.gather.q.q.256", + "llvm.x86.avx2.maskload.d", + "llvm.x86.avx2.maskload.d.256", + "llvm.x86.avx2.maskload.q", + "llvm.x86.avx2.maskload.q.256", + "llvm.x86.avx2.maskstore.d", + "llvm.x86.avx2.maskstore.d.256", + "llvm.x86.avx2.maskstore.q", + "llvm.x86.avx2.maskstore.q.256", + "llvm.x86.avx2.movntdqa", + "llvm.x86.avx2.mpsadbw", + "llvm.x86.avx2.pabs.b", + "llvm.x86.avx2.pabs.d", + "llvm.x86.avx2.pabs.w", + "llvm.x86.avx2.packssdw", + "llvm.x86.avx2.packsswb", + "llvm.x86.avx2.packusdw", + "llvm.x86.avx2.packuswb", + "llvm.x86.avx2.padds.b", + "llvm.x86.avx2.padds.w", + "llvm.x86.avx2.paddus.b", + "llvm.x86.avx2.paddus.w", + "llvm.x86.avx2.pavg.b", + "llvm.x86.avx2.pavg.w", + "llvm.x86.avx2.pblendd.128", + "llvm.x86.avx2.pblendd.256", + "llvm.x86.avx2.pblendvb", + "llvm.x86.avx2.pblendw", + "llvm.x86.avx2.pbroadcastb.128", + "llvm.x86.avx2.pbroadcastb.256", + "llvm.x86.avx2.pbroadcastd.128", + "llvm.x86.avx2.pbroadcastd.256", + "llvm.x86.avx2.pbroadcastq.128", + "llvm.x86.avx2.pbroadcastq.256", + "llvm.x86.avx2.pbroadcastw.128", + "llvm.x86.avx2.pbroadcastw.256", + "llvm.x86.avx2.permd", + "llvm.x86.avx2.permps", + "llvm.x86.avx2.phadd.d", + "llvm.x86.avx2.phadd.sw", + "llvm.x86.avx2.phadd.w", + "llvm.x86.avx2.phsub.d", + "llvm.x86.avx2.phsub.sw", + "llvm.x86.avx2.phsub.w", + "llvm.x86.avx2.pmadd.ub.sw", + "llvm.x86.avx2.pmadd.wd", + "llvm.x86.avx2.pmaxs.b", + "llvm.x86.avx2.pmaxs.d", + "llvm.x86.avx2.pmaxs.w", + "llvm.x86.avx2.pmaxu.b", + "llvm.x86.avx2.pmaxu.d", + "llvm.x86.avx2.pmaxu.w", + "llvm.x86.avx2.pmins.b", + "llvm.x86.avx2.pmins.d", + "llvm.x86.avx2.pmins.w", + "llvm.x86.avx2.pminu.b", + "llvm.x86.avx2.pminu.d", + "llvm.x86.avx2.pminu.w", + "llvm.x86.avx2.pmovmskb", + "llvm.x86.avx2.pmovsxbd", + "llvm.x86.avx2.pmovsxbq", + "llvm.x86.avx2.pmovsxbw", + "llvm.x86.avx2.pmovsxdq", + "llvm.x86.avx2.pmovsxwd", + "llvm.x86.avx2.pmovsxwq", + "llvm.x86.avx2.pmovzxbd", + "llvm.x86.avx2.pmovzxbq", + "llvm.x86.avx2.pmovzxbw", + "llvm.x86.avx2.pmovzxdq", + "llvm.x86.avx2.pmovzxwd", + "llvm.x86.avx2.pmovzxwq", + "llvm.x86.avx2.pmul.dq", + "llvm.x86.avx2.pmul.hr.sw", + "llvm.x86.avx2.pmulh.w", + "llvm.x86.avx2.pmulhu.w", + "llvm.x86.avx2.pmulu.dq", + "llvm.x86.avx2.psad.bw", + "llvm.x86.avx2.pshuf.b", + "llvm.x86.avx2.psign.b", + "llvm.x86.avx2.psign.d", + "llvm.x86.avx2.psign.w", + "llvm.x86.avx2.psll.d", + "llvm.x86.avx2.psll.dq", + "llvm.x86.avx2.psll.dq.bs", + "llvm.x86.avx2.psll.q", + "llvm.x86.avx2.psll.w", + "llvm.x86.avx2.pslli.d", + "llvm.x86.avx2.pslli.q", + "llvm.x86.avx2.pslli.w", + "llvm.x86.avx2.psllv.d", + "llvm.x86.avx2.psllv.d.256", + "llvm.x86.avx2.psllv.q", + "llvm.x86.avx2.psllv.q.256", + "llvm.x86.avx2.psra.d", + "llvm.x86.avx2.psra.w", + "llvm.x86.avx2.psrai.d", + "llvm.x86.avx2.psrai.w", + "llvm.x86.avx2.psrav.d", + "llvm.x86.avx2.psrav.d.256", + "llvm.x86.avx2.psrl.d", + "llvm.x86.avx2.psrl.dq", + "llvm.x86.avx2.psrl.dq.bs", + "llvm.x86.avx2.psrl.q", + "llvm.x86.avx2.psrl.w", + "llvm.x86.avx2.psrli.d", + "llvm.x86.avx2.psrli.q", + "llvm.x86.avx2.psrli.w", + "llvm.x86.avx2.psrlv.d", + "llvm.x86.avx2.psrlv.d.256", + "llvm.x86.avx2.psrlv.q", + "llvm.x86.avx2.psrlv.q.256", + "llvm.x86.avx2.psubs.b", + "llvm.x86.avx2.psubs.w", + "llvm.x86.avx2.psubus.b", + "llvm.x86.avx2.psubus.w", + "llvm.x86.avx2.vbroadcast.sd.pd.256", + "llvm.x86.avx2.vbroadcast.ss.ps", + "llvm.x86.avx2.vbroadcast.ss.ps.256", + "llvm.x86.avx2.vbroadcasti128", + "llvm.x86.avx2.vextracti128", + "llvm.x86.avx2.vinserti128", + "llvm.x86.avx2.vperm2i128", + "llvm.x86.avx512.cvtsd2usi", + "llvm.x86.avx512.cvtsd2usi64", + "llvm.x86.avx512.cvtss2usi", + "llvm.x86.avx512.cvtss2usi64", + "llvm.x86.avx512.cvttsd2usi", + "llvm.x86.avx512.cvttsd2usi64", + "llvm.x86.avx512.cvttss2usi", + "llvm.x86.avx512.cvttss2usi64", + "llvm.x86.avx512.cvtusi2sd", + "llvm.x86.avx512.cvtusi2ss", + "llvm.x86.avx512.cvtusi642sd", + "llvm.x86.avx512.cvtusi642ss", + "llvm.x86.avx512.gather.dpd.512", + "llvm.x86.avx512.gather.dpi.512", + "llvm.x86.avx512.gather.dpq.512", + "llvm.x86.avx512.gather.dps.512", + "llvm.x86.avx512.gather.qpd.512", + "llvm.x86.avx512.gather.qpi.512", + "llvm.x86.avx512.gather.qpq.512", + "llvm.x86.avx512.gather.qps.512", + "llvm.x86.avx512.gatherpf.dpd.512", + "llvm.x86.avx512.gatherpf.dps.512", + "llvm.x86.avx512.gatherpf.qpd.512", + "llvm.x86.avx512.gatherpf.qps.512", + "llvm.x86.avx512.kand.w", + "llvm.x86.avx512.kandn.w", + "llvm.x86.avx512.knot.w", + "llvm.x86.avx512.kor.w", + "llvm.x86.avx512.kortestc.w", + "llvm.x86.avx512.kortestz.w", + "llvm.x86.avx512.kunpck.bw", + "llvm.x86.avx512.kxnor.w", + "llvm.x86.avx512.kxor.w", + "llvm.x86.avx512.mask.blend.d.512", + "llvm.x86.avx512.mask.blend.pd.512", + "llvm.x86.avx512.mask.blend.ps.512", + "llvm.x86.avx512.mask.blend.q.512", + "llvm.x86.avx512.mask.cmp.pd.512", + "llvm.x86.avx512.mask.cmp.ps.512", + "llvm.x86.avx512.mask.conflict.d.512", + "llvm.x86.avx512.mask.conflict.q.512", + "llvm.x86.avx512.mask.cvtdq2pd.512", + "llvm.x86.avx512.mask.cvtdq2ps.512", + "llvm.x86.avx512.mask.cvtpd2dq.512", + "llvm.x86.avx512.mask.cvtpd2ps.512", + "llvm.x86.avx512.mask.cvtpd2udq.512", + "llvm.x86.avx512.mask.cvtps2dq.512", + "llvm.x86.avx512.mask.cvtps2udq.512", + "llvm.x86.avx512.mask.cvttpd2dq.512", + "llvm.x86.avx512.mask.cvttpd2udq.512", + "llvm.x86.avx512.mask.cvttps2dq.512", + "llvm.x86.avx512.mask.cvttps2udq.512", + "llvm.x86.avx512.mask.cvtudq2pd.512", + "llvm.x86.avx512.mask.cvtudq2ps.512", + "llvm.x86.avx512.mask.loadu.d.512", + "llvm.x86.avx512.mask.loadu.pd.512", + "llvm.x86.avx512.mask.loadu.ps.512", + "llvm.x86.avx512.mask.loadu.q.512", + "llvm.x86.avx512.mask.lzcnt.d.512", + "llvm.x86.avx512.mask.lzcnt.q.512", + "llvm.x86.avx512.mask.max.pd.512", + "llvm.x86.avx512.mask.max.ps.512", + "llvm.x86.avx512.mask.min.pd.512", + "llvm.x86.avx512.mask.min.ps.512", + "llvm.x86.avx512.mask.pabs.d.512", + "llvm.x86.avx512.mask.pabs.q.512", + "llvm.x86.avx512.mask.pand.d.512", + "llvm.x86.avx512.mask.pand.q.512", + "llvm.x86.avx512.mask.pbroadcast.d.gpr.512", + "llvm.x86.avx512.mask.pbroadcast.q.gpr.512", + "llvm.x86.avx512.mask.pbroadcast.q.mem.512", + "llvm.x86.avx512.mask.pcmpeq.d.512", + "llvm.x86.avx512.mask.pcmpeq.q.512", + "llvm.x86.avx512.mask.pmaxs.d.512", + "llvm.x86.avx512.mask.pmaxs.q.512", + "llvm.x86.avx512.mask.pmaxu.d.512", + "llvm.x86.avx512.mask.pmaxu.q.512", + "llvm.x86.avx512.mask.pmins.d.512", + "llvm.x86.avx512.mask.pmins.q.512", + "llvm.x86.avx512.mask.pminu.d.512", + "llvm.x86.avx512.mask.pminu.q.512", + "llvm.x86.avx512.mask.pmul.dq.512", + "llvm.x86.avx512.mask.pmulu.dq.512", + "llvm.x86.avx512.mask.ptestm.d.512", + "llvm.x86.avx512.mask.ptestm.q.512", + "llvm.x86.avx512.mask.rndscale.pd.512", + "llvm.x86.avx512.mask.rndscale.ps.512", + "llvm.x86.avx512.mask.storeu.d.512", + "llvm.x86.avx512.mask.storeu.pd.512", + "llvm.x86.avx512.mask.storeu.ps.512", + "llvm.x86.avx512.mask.storeu.q.512", + "llvm.x86.avx512.mask.vcvtph2ps.512", + "llvm.x86.avx512.mask.vcvtps2ph.512", + "llvm.x86.avx512.mask.vpermt.d.512", + "llvm.x86.avx512.mask.vpermt.pd.512", + "llvm.x86.avx512.mask.vpermt.ps.512", + "llvm.x86.avx512.mask.vpermt.q.512", + "llvm.x86.avx512.movntdqa", + "llvm.x86.avx512.pbroadcastd.512", + "llvm.x86.avx512.pbroadcastd.i32.512", + "llvm.x86.avx512.pbroadcastq.512", + "llvm.x86.avx512.pbroadcastq.i64.512", + "llvm.x86.avx512.pmovzxbd", + "llvm.x86.avx512.pmovzxbq", + "llvm.x86.avx512.pmovzxdq", + "llvm.x86.avx512.pmovzxwd", + "llvm.x86.avx512.pmovzxwq", + "llvm.x86.avx512.psll.dq", + "llvm.x86.avx512.psll.dq.bs", + "llvm.x86.avx512.psrl.dq", + "llvm.x86.avx512.psrl.dq.bs", + "llvm.x86.avx512.rcp14.pd.512", + "llvm.x86.avx512.rcp14.ps.512", + "llvm.x86.avx512.rcp14.sd", + "llvm.x86.avx512.rcp14.ss", + "llvm.x86.avx512.rcp28.pd", + "llvm.x86.avx512.rcp28.ps", + "llvm.x86.avx512.rcp28.sd", + "llvm.x86.avx512.rcp28.ss", + "llvm.x86.avx512.rndscale.sd", + "llvm.x86.avx512.rndscale.ss", + "llvm.x86.avx512.rsqrt14.pd.512", + "llvm.x86.avx512.rsqrt14.ps.512", + "llvm.x86.avx512.rsqrt14.sd", + "llvm.x86.avx512.rsqrt14.ss", + "llvm.x86.avx512.rsqrt28.pd", + "llvm.x86.avx512.rsqrt28.ps", + "llvm.x86.avx512.rsqrt28.sd", + "llvm.x86.avx512.rsqrt28.ss", + "llvm.x86.avx512.scatter.dpd.512", + "llvm.x86.avx512.scatter.dpi.512", + "llvm.x86.avx512.scatter.dpq.512", + "llvm.x86.avx512.scatter.dps.512", + "llvm.x86.avx512.scatter.qpd.512", + "llvm.x86.avx512.scatter.qpi.512", + "llvm.x86.avx512.scatter.qpq.512", + "llvm.x86.avx512.scatter.qps.512", + "llvm.x86.avx512.scatterpf.dpd.512", + "llvm.x86.avx512.scatterpf.dps.512", + "llvm.x86.avx512.scatterpf.qpd.512", + "llvm.x86.avx512.scatterpf.qps.512", + "llvm.x86.avx512.sqrt.pd.512", + "llvm.x86.avx512.sqrt.ps.512", + "llvm.x86.avx512.sqrt.sd", + "llvm.x86.avx512.sqrt.ss", + "llvm.x86.avx512.vbroadcast.sd.512", + "llvm.x86.avx512.vbroadcast.sd.pd.512", + "llvm.x86.avx512.vbroadcast.ss.512", + "llvm.x86.avx512.vbroadcast.ss.ps.512", + "llvm.x86.avx.addsub.pd.256", + "llvm.x86.avx.addsub.ps.256", + "llvm.x86.avx.blend.pd.256", + "llvm.x86.avx.blend.ps.256", + "llvm.x86.avx.blendv.pd.256", + "llvm.x86.avx.blendv.ps.256", + "llvm.x86.avx.cmp.pd.256", + "llvm.x86.avx.cmp.ps.256", + "llvm.x86.avx.cvt.pd2.ps.256", + "llvm.x86.avx.cvt.pd2dq.256", + "llvm.x86.avx.cvt.ps2.pd.256", + "llvm.x86.avx.cvt.ps2dq.256", + "llvm.x86.avx.cvtdq2.pd.256", + "llvm.x86.avx.cvtdq2.ps.256", + "llvm.x86.avx.cvtt.pd2dq.256", + "llvm.x86.avx.cvtt.ps2dq.256", + "llvm.x86.avx.dp.ps.256", + "llvm.x86.avx.hadd.pd.256", + "llvm.x86.avx.hadd.ps.256", + "llvm.x86.avx.hsub.pd.256", + "llvm.x86.avx.hsub.ps.256", + "llvm.x86.avx.ldu.dq.256", + "llvm.x86.avx.maskload.pd", + "llvm.x86.avx.maskload.pd.256", + "llvm.x86.avx.maskload.ps", + "llvm.x86.avx.maskload.ps.256", + "llvm.x86.avx.maskstore.pd", + "llvm.x86.avx.maskstore.pd.256", + "llvm.x86.avx.maskstore.ps", + "llvm.x86.avx.maskstore.ps.256", + "llvm.x86.avx.max.pd.256", + "llvm.x86.avx.max.ps.256", + "llvm.x86.avx.min.pd.256", + "llvm.x86.avx.min.ps.256", + "llvm.x86.avx.movmsk.pd.256", + "llvm.x86.avx.movmsk.ps.256", + "llvm.x86.avx.ptestc.256", + "llvm.x86.avx.ptestnzc.256", + "llvm.x86.avx.ptestz.256", + "llvm.x86.avx.rcp.ps.256", + "llvm.x86.avx.round.pd.256", + "llvm.x86.avx.round.ps.256", + "llvm.x86.avx.rsqrt.ps.256", + "llvm.x86.avx.sqrt.pd.256", + "llvm.x86.avx.sqrt.ps.256", + "llvm.x86.avx.storeu.dq.256", + "llvm.x86.avx.storeu.pd.256", + "llvm.x86.avx.storeu.ps.256", + "llvm.x86.avx.vbroadcastf128.pd.256", + "llvm.x86.avx.vbroadcastf128.ps.256", + "llvm.x86.avx.vextractf128.pd.256", + "llvm.x86.avx.vextractf128.ps.256", + "llvm.x86.avx.vextractf128.si.256", + "llvm.x86.avx.vinsertf128.pd.256", + "llvm.x86.avx.vinsertf128.ps.256", + "llvm.x86.avx.vinsertf128.si.256", + "llvm.x86.avx.vperm2f128.pd.256", + "llvm.x86.avx.vperm2f128.ps.256", + "llvm.x86.avx.vperm2f128.si.256", + "llvm.x86.avx.vpermilvar.pd", + "llvm.x86.avx.vpermilvar.pd.256", + "llvm.x86.avx.vpermilvar.ps", + "llvm.x86.avx.vpermilvar.ps.256", + "llvm.x86.avx.vtestc.pd", + "llvm.x86.avx.vtestc.pd.256", + "llvm.x86.avx.vtestc.ps", + "llvm.x86.avx.vtestc.ps.256", + "llvm.x86.avx.vtestnzc.pd", + "llvm.x86.avx.vtestnzc.pd.256", + "llvm.x86.avx.vtestnzc.ps", + "llvm.x86.avx.vtestnzc.ps.256", + "llvm.x86.avx.vtestz.pd", + "llvm.x86.avx.vtestz.pd.256", + "llvm.x86.avx.vtestz.ps", + "llvm.x86.avx.vtestz.ps.256", + "llvm.x86.avx.vzeroall", + "llvm.x86.avx.vzeroupper", + "llvm.x86.bmi.bextr.32", + "llvm.x86.bmi.bextr.64", + "llvm.x86.bmi.bzhi.32", + "llvm.x86.bmi.bzhi.64", + "llvm.x86.bmi.pdep.32", + "llvm.x86.bmi.pdep.64", + "llvm.x86.bmi.pext.32", + "llvm.x86.bmi.pext.64", + "llvm.x86.fma.vfmadd.pd", + "llvm.x86.fma.vfmadd.pd.256", + "llvm.x86.fma.vfmadd.pd.512", + "llvm.x86.fma.vfmadd.ps", + "llvm.x86.fma.vfmadd.ps.256", + "llvm.x86.fma.vfmadd.ps.512", + "llvm.x86.fma.vfmadd.sd", + "llvm.x86.fma.vfmadd.ss", + "llvm.x86.fma.vfmaddsub.pd", + "llvm.x86.fma.vfmaddsub.pd.256", + "llvm.x86.fma.vfmaddsub.pd.512", + "llvm.x86.fma.vfmaddsub.ps", + "llvm.x86.fma.vfmaddsub.ps.256", + "llvm.x86.fma.vfmaddsub.ps.512", + "llvm.x86.fma.vfmsub.pd", + "llvm.x86.fma.vfmsub.pd.256", + "llvm.x86.fma.vfmsub.pd.512", + "llvm.x86.fma.vfmsub.ps", + "llvm.x86.fma.vfmsub.ps.256", + "llvm.x86.fma.vfmsub.ps.512", + "llvm.x86.fma.vfmsub.sd", + "llvm.x86.fma.vfmsub.ss", + "llvm.x86.fma.vfmsubadd.pd", + "llvm.x86.fma.vfmsubadd.pd.256", + "llvm.x86.fma.vfmsubadd.pd.512", + "llvm.x86.fma.vfmsubadd.ps", + "llvm.x86.fma.vfmsubadd.ps.256", + "llvm.x86.fma.vfmsubadd.ps.512", + "llvm.x86.fma.vfnmadd.pd", + "llvm.x86.fma.vfnmadd.pd.256", + "llvm.x86.fma.vfnmadd.pd.512", + "llvm.x86.fma.vfnmadd.ps", + "llvm.x86.fma.vfnmadd.ps.256", + "llvm.x86.fma.vfnmadd.ps.512", + "llvm.x86.fma.vfnmadd.sd", + "llvm.x86.fma.vfnmadd.ss", + "llvm.x86.fma.vfnmsub.pd", + "llvm.x86.fma.vfnmsub.pd.256", + "llvm.x86.fma.vfnmsub.pd.512", + "llvm.x86.fma.vfnmsub.ps", + "llvm.x86.fma.vfnmsub.ps.256", + "llvm.x86.fma.vfnmsub.ps.512", + "llvm.x86.fma.vfnmsub.sd", + "llvm.x86.fma.vfnmsub.ss", + "llvm.x86.int", + "llvm.x86.mmx.emms", + "llvm.x86.mmx.femms", + "llvm.x86.mmx.maskmovq", + "llvm.x86.mmx.movnt.dq", + "llvm.x86.mmx.packssdw", + "llvm.x86.mmx.packsswb", + "llvm.x86.mmx.packuswb", + "llvm.x86.mmx.padd.b", + "llvm.x86.mmx.padd.d", + "llvm.x86.mmx.padd.q", + "llvm.x86.mmx.padd.w", + "llvm.x86.mmx.padds.b", + "llvm.x86.mmx.padds.w", + "llvm.x86.mmx.paddus.b", + "llvm.x86.mmx.paddus.w", + "llvm.x86.mmx.palignr.b", + "llvm.x86.mmx.pand", + "llvm.x86.mmx.pandn", + "llvm.x86.mmx.pavg.b", + "llvm.x86.mmx.pavg.w", + "llvm.x86.mmx.pcmpeq.b", + "llvm.x86.mmx.pcmpeq.d", + "llvm.x86.mmx.pcmpeq.w", + "llvm.x86.mmx.pcmpgt.b", + "llvm.x86.mmx.pcmpgt.d", + "llvm.x86.mmx.pcmpgt.w", + "llvm.x86.mmx.pextr.w", + "llvm.x86.mmx.pinsr.w", + "llvm.x86.mmx.pmadd.wd", + "llvm.x86.mmx.pmaxs.w", + "llvm.x86.mmx.pmaxu.b", + "llvm.x86.mmx.pmins.w", + "llvm.x86.mmx.pminu.b", + "llvm.x86.mmx.pmovmskb", + "llvm.x86.mmx.pmulh.w", + "llvm.x86.mmx.pmulhu.w", + "llvm.x86.mmx.pmull.w", + "llvm.x86.mmx.pmulu.dq", + "llvm.x86.mmx.por", + "llvm.x86.mmx.psad.bw", + "llvm.x86.mmx.psll.d", + "llvm.x86.mmx.psll.q", + "llvm.x86.mmx.psll.w", + "llvm.x86.mmx.pslli.d", + "llvm.x86.mmx.pslli.q", + "llvm.x86.mmx.pslli.w", + "llvm.x86.mmx.psra.d", + "llvm.x86.mmx.psra.w", + "llvm.x86.mmx.psrai.d", + "llvm.x86.mmx.psrai.w", + "llvm.x86.mmx.psrl.d", + "llvm.x86.mmx.psrl.q", + "llvm.x86.mmx.psrl.w", + "llvm.x86.mmx.psrli.d", + "llvm.x86.mmx.psrli.q", + "llvm.x86.mmx.psrli.w", + "llvm.x86.mmx.psub.b", + "llvm.x86.mmx.psub.d", + "llvm.x86.mmx.psub.q", + "llvm.x86.mmx.psub.w", + "llvm.x86.mmx.psubs.b", + "llvm.x86.mmx.psubs.w", + "llvm.x86.mmx.psubus.b", + "llvm.x86.mmx.psubus.w", + "llvm.x86.mmx.punpckhbw", + "llvm.x86.mmx.punpckhdq", + "llvm.x86.mmx.punpckhwd", + "llvm.x86.mmx.punpcklbw", + "llvm.x86.mmx.punpckldq", + "llvm.x86.mmx.punpcklwd", + "llvm.x86.mmx.pxor", + "llvm.x86.pclmulqdq", + "llvm.x86.rdfsbase.32", + "llvm.x86.rdfsbase.64", + "llvm.x86.rdgsbase.32", + "llvm.x86.rdgsbase.64", + "llvm.x86.rdpmc", + "llvm.x86.rdrand.16", + "llvm.x86.rdrand.32", + "llvm.x86.rdrand.64", + "llvm.x86.rdseed.16", + "llvm.x86.rdseed.32", + "llvm.x86.rdseed.64", + "llvm.x86.rdtsc", + "llvm.x86.rdtscp", + "llvm.x86.sha1msg1", + "llvm.x86.sha1msg2", + "llvm.x86.sha1nexte", + "llvm.x86.sha1rnds4", + "llvm.x86.sha256msg1", + "llvm.x86.sha256msg2", + "llvm.x86.sha256rnds2", + "llvm.x86.sse2.add.sd", + "llvm.x86.sse2.clflush", + "llvm.x86.sse2.cmp.pd", + "llvm.x86.sse2.cmp.sd", + "llvm.x86.sse2.comieq.sd", + "llvm.x86.sse2.comige.sd", + "llvm.x86.sse2.comigt.sd", + "llvm.x86.sse2.comile.sd", + "llvm.x86.sse2.comilt.sd", + "llvm.x86.sse2.comineq.sd", + "llvm.x86.sse2.cvtdq2pd", + "llvm.x86.sse2.cvtdq2ps", + "llvm.x86.sse2.cvtpd2dq", + "llvm.x86.sse2.cvtpd2ps", + "llvm.x86.sse2.cvtps2dq", + "llvm.x86.sse2.cvtps2pd", + "llvm.x86.sse2.cvtsd2si", + "llvm.x86.sse2.cvtsd2si64", + "llvm.x86.sse2.cvtsd2ss", + "llvm.x86.sse2.cvtsi2sd", + "llvm.x86.sse2.cvtsi642sd", + "llvm.x86.sse2.cvtss2sd", + "llvm.x86.sse2.cvttpd2dq", + "llvm.x86.sse2.cvttps2dq", + "llvm.x86.sse2.cvttsd2si", + "llvm.x86.sse2.cvttsd2si64", + "llvm.x86.sse2.div.sd", + "llvm.x86.sse2.lfence", + "llvm.x86.sse2.maskmov.dqu", + "llvm.x86.sse2.max.pd", + "llvm.x86.sse2.max.sd", + "llvm.x86.sse2.mfence", + "llvm.x86.sse2.min.pd", + "llvm.x86.sse2.min.sd", + "llvm.x86.sse2.movmsk.pd", + "llvm.x86.sse2.mul.sd", + "llvm.x86.sse2.packssdw.128", + "llvm.x86.sse2.packsswb.128", + "llvm.x86.sse2.packuswb.128", + "llvm.x86.sse2.padds.b", + "llvm.x86.sse2.padds.w", + "llvm.x86.sse2.paddus.b", + "llvm.x86.sse2.paddus.w", + "llvm.x86.sse2.pause", + "llvm.x86.sse2.pavg.b", + "llvm.x86.sse2.pavg.w", + "llvm.x86.sse2.pmadd.wd", + "llvm.x86.sse2.pmaxs.w", + "llvm.x86.sse2.pmaxu.b", + "llvm.x86.sse2.pmins.w", + "llvm.x86.sse2.pminu.b", + "llvm.x86.sse2.pmovmskb.128", + "llvm.x86.sse2.pmulh.w", + "llvm.x86.sse2.pmulhu.w", + "llvm.x86.sse2.pmulu.dq", + "llvm.x86.sse2.psad.bw", + "llvm.x86.sse2.pshuf.d", + "llvm.x86.sse2.pshufh.w", + "llvm.x86.sse2.pshufl.w", + "llvm.x86.sse2.psll.d", + "llvm.x86.sse2.psll.dq", + "llvm.x86.sse2.psll.dq.bs", + "llvm.x86.sse2.psll.q", + "llvm.x86.sse2.psll.w", + "llvm.x86.sse2.pslli.d", + "llvm.x86.sse2.pslli.q", + "llvm.x86.sse2.pslli.w", + "llvm.x86.sse2.psra.d", + "llvm.x86.sse2.psra.w", + "llvm.x86.sse2.psrai.d", + "llvm.x86.sse2.psrai.w", + "llvm.x86.sse2.psrl.d", + "llvm.x86.sse2.psrl.dq", + "llvm.x86.sse2.psrl.dq.bs", + "llvm.x86.sse2.psrl.q", + "llvm.x86.sse2.psrl.w", + "llvm.x86.sse2.psrli.d", + "llvm.x86.sse2.psrli.q", + "llvm.x86.sse2.psrli.w", + "llvm.x86.sse2.psubs.b", + "llvm.x86.sse2.psubs.w", + "llvm.x86.sse2.psubus.b", + "llvm.x86.sse2.psubus.w", + "llvm.x86.sse2.sqrt.pd", + "llvm.x86.sse2.sqrt.sd", + "llvm.x86.sse2.storel.dq", + "llvm.x86.sse2.storeu.dq", + "llvm.x86.sse2.storeu.pd", + "llvm.x86.sse2.sub.sd", + "llvm.x86.sse2.ucomieq.sd", + "llvm.x86.sse2.ucomige.sd", + "llvm.x86.sse2.ucomigt.sd", + "llvm.x86.sse2.ucomile.sd", + "llvm.x86.sse2.ucomilt.sd", + "llvm.x86.sse2.ucomineq.sd", + "llvm.x86.sse3.addsub.pd", + "llvm.x86.sse3.addsub.ps", + "llvm.x86.sse3.hadd.pd", + "llvm.x86.sse3.hadd.ps", + "llvm.x86.sse3.hsub.pd", + "llvm.x86.sse3.hsub.ps", + "llvm.x86.sse3.ldu.dq", + "llvm.x86.sse3.monitor", + "llvm.x86.sse3.mwait", + "llvm.x86.sse41.blendpd", + "llvm.x86.sse41.blendps", + "llvm.x86.sse41.blendvpd", + "llvm.x86.sse41.blendvps", + "llvm.x86.sse41.dppd", + "llvm.x86.sse41.dpps", + "llvm.x86.sse41.extractps", + "llvm.x86.sse41.insertps", + "llvm.x86.sse41.movntdqa", + "llvm.x86.sse41.mpsadbw", + "llvm.x86.sse41.packusdw", + "llvm.x86.sse41.pblendvb", + "llvm.x86.sse41.pblendw", + "llvm.x86.sse41.pextrb", + "llvm.x86.sse41.pextrd", + "llvm.x86.sse41.pextrq", + "llvm.x86.sse41.phminposuw", + "llvm.x86.sse41.pmaxsb", + "llvm.x86.sse41.pmaxsd", + "llvm.x86.sse41.pmaxud", + "llvm.x86.sse41.pmaxuw", + "llvm.x86.sse41.pminsb", + "llvm.x86.sse41.pminsd", + "llvm.x86.sse41.pminud", + "llvm.x86.sse41.pminuw", + "llvm.x86.sse41.pmovsxbd", + "llvm.x86.sse41.pmovsxbq", + "llvm.x86.sse41.pmovsxbw", + "llvm.x86.sse41.pmovsxdq", + "llvm.x86.sse41.pmovsxwd", + "llvm.x86.sse41.pmovsxwq", + "llvm.x86.sse41.pmovzxbd", + "llvm.x86.sse41.pmovzxbq", + "llvm.x86.sse41.pmovzxbw", + "llvm.x86.sse41.pmovzxdq", + "llvm.x86.sse41.pmovzxwd", + "llvm.x86.sse41.pmovzxwq", + "llvm.x86.sse41.pmuldq", + "llvm.x86.sse41.ptestc", + "llvm.x86.sse41.ptestnzc", + "llvm.x86.sse41.ptestz", + "llvm.x86.sse41.round.pd", + "llvm.x86.sse41.round.ps", + "llvm.x86.sse41.round.sd", + "llvm.x86.sse41.round.ss", + "llvm.x86.sse42.crc32.32.16", + "llvm.x86.sse42.crc32.32.32", + "llvm.x86.sse42.crc32.32.8", + "llvm.x86.sse42.crc32.64.64", + "llvm.x86.sse42.pcmpestri128", + "llvm.x86.sse42.pcmpestria128", + "llvm.x86.sse42.pcmpestric128", + "llvm.x86.sse42.pcmpestrio128", + "llvm.x86.sse42.pcmpestris128", + "llvm.x86.sse42.pcmpestriz128", + "llvm.x86.sse42.pcmpestrm128", + "llvm.x86.sse42.pcmpistri128", + "llvm.x86.sse42.pcmpistria128", + "llvm.x86.sse42.pcmpistric128", + "llvm.x86.sse42.pcmpistrio128", + "llvm.x86.sse42.pcmpistris128", + "llvm.x86.sse42.pcmpistriz128", + "llvm.x86.sse42.pcmpistrm128", + "llvm.x86.sse4a.extrq", + "llvm.x86.sse4a.extrqi", + "llvm.x86.sse4a.insertq", + "llvm.x86.sse4a.insertqi", + "llvm.x86.sse4a.movnt.sd", + "llvm.x86.sse4a.movnt.ss", + "llvm.x86.sse.add.ss", + "llvm.x86.sse.cmp.ps", + "llvm.x86.sse.cmp.ss", + "llvm.x86.sse.comieq.ss", + "llvm.x86.sse.comige.ss", + "llvm.x86.sse.comigt.ss", + "llvm.x86.sse.comile.ss", + "llvm.x86.sse.comilt.ss", + "llvm.x86.sse.comineq.ss", + "llvm.x86.sse.cvtpd2pi", + "llvm.x86.sse.cvtpi2pd", + "llvm.x86.sse.cvtpi2ps", + "llvm.x86.sse.cvtps2pi", + "llvm.x86.sse.cvtsi2ss", + "llvm.x86.sse.cvtsi642ss", + "llvm.x86.sse.cvtss2si", + "llvm.x86.sse.cvtss2si64", + "llvm.x86.sse.cvttpd2pi", + "llvm.x86.sse.cvttps2pi", + "llvm.x86.sse.cvttss2si", + "llvm.x86.sse.cvttss2si64", + "llvm.x86.sse.div.ss", + "llvm.x86.sse.ldmxcsr", + "llvm.x86.sse.max.ps", + "llvm.x86.sse.max.ss", + "llvm.x86.sse.min.ps", + "llvm.x86.sse.min.ss", + "llvm.x86.sse.movmsk.ps", + "llvm.x86.sse.mul.ss", + "llvm.x86.sse.pshuf.w", + "llvm.x86.sse.rcp.ps", + "llvm.x86.sse.rcp.ss", + "llvm.x86.sse.rsqrt.ps", + "llvm.x86.sse.rsqrt.ss", + "llvm.x86.sse.sfence", + "llvm.x86.sse.sqrt.ps", + "llvm.x86.sse.sqrt.ss", + "llvm.x86.sse.stmxcsr", + "llvm.x86.sse.storeu.ps", + "llvm.x86.sse.sub.ss", + "llvm.x86.sse.ucomieq.ss", + "llvm.x86.sse.ucomige.ss", + "llvm.x86.sse.ucomigt.ss", + "llvm.x86.sse.ucomile.ss", + "llvm.x86.sse.ucomilt.ss", + "llvm.x86.sse.ucomineq.ss", + "llvm.x86.ssse3.pabs.b", + "llvm.x86.ssse3.pabs.b.128", + "llvm.x86.ssse3.pabs.d", + "llvm.x86.ssse3.pabs.d.128", + "llvm.x86.ssse3.pabs.w", + "llvm.x86.ssse3.pabs.w.128", + "llvm.x86.ssse3.phadd.d", + "llvm.x86.ssse3.phadd.d.128", + "llvm.x86.ssse3.phadd.sw", + "llvm.x86.ssse3.phadd.sw.128", + "llvm.x86.ssse3.phadd.w", + "llvm.x86.ssse3.phadd.w.128", + "llvm.x86.ssse3.phsub.d", + "llvm.x86.ssse3.phsub.d.128", + "llvm.x86.ssse3.phsub.sw", + "llvm.x86.ssse3.phsub.sw.128", + "llvm.x86.ssse3.phsub.w", + "llvm.x86.ssse3.phsub.w.128", + "llvm.x86.ssse3.pmadd.ub.sw", + "llvm.x86.ssse3.pmadd.ub.sw.128", + "llvm.x86.ssse3.pmul.hr.sw", + "llvm.x86.ssse3.pmul.hr.sw.128", + "llvm.x86.ssse3.pshuf.b", + "llvm.x86.ssse3.pshuf.b.128", + "llvm.x86.ssse3.psign.b", + "llvm.x86.ssse3.psign.b.128", + "llvm.x86.ssse3.psign.d", + "llvm.x86.ssse3.psign.d.128", + "llvm.x86.ssse3.psign.w", + "llvm.x86.ssse3.psign.w.128", + "llvm.x86.tbm.bextri.u32", + "llvm.x86.tbm.bextri.u64", + "llvm.x86.vcvtph2ps.128", + "llvm.x86.vcvtph2ps.256", + "llvm.x86.vcvtps2ph.128", + "llvm.x86.vcvtps2ph.256", + "llvm.x86.wrfsbase.32", + "llvm.x86.wrfsbase.64", + "llvm.x86.wrgsbase.32", + "llvm.x86.wrgsbase.64", + "llvm.x86.xabort", + "llvm.x86.xbegin", + "llvm.x86.xend", + "llvm.x86.xop.vfrcz.pd", + "llvm.x86.xop.vfrcz.pd.256", + "llvm.x86.xop.vfrcz.ps", + "llvm.x86.xop.vfrcz.ps.256", + "llvm.x86.xop.vfrcz.sd", + "llvm.x86.xop.vfrcz.ss", + "llvm.x86.xop.vpcmov", + "llvm.x86.xop.vpcmov.256", + "llvm.x86.xop.vpcomb", + "llvm.x86.xop.vpcomd", + "llvm.x86.xop.vpcomq", + "llvm.x86.xop.vpcomub", + "llvm.x86.xop.vpcomud", + "llvm.x86.xop.vpcomuq", + "llvm.x86.xop.vpcomuw", + "llvm.x86.xop.vpcomw", + "llvm.x86.xop.vpermil2pd", + "llvm.x86.xop.vpermil2pd.256", + "llvm.x86.xop.vpermil2ps", + "llvm.x86.xop.vpermil2ps.256", + "llvm.x86.xop.vphaddbd", + "llvm.x86.xop.vphaddbq", + "llvm.x86.xop.vphaddbw", + "llvm.x86.xop.vphadddq", + "llvm.x86.xop.vphaddubd", + "llvm.x86.xop.vphaddubq", + "llvm.x86.xop.vphaddubw", + "llvm.x86.xop.vphaddudq", + "llvm.x86.xop.vphadduwd", + "llvm.x86.xop.vphadduwq", + "llvm.x86.xop.vphaddwd", + "llvm.x86.xop.vphaddwq", + "llvm.x86.xop.vphsubbw", + "llvm.x86.xop.vphsubdq", + "llvm.x86.xop.vphsubwd", + "llvm.x86.xop.vpmacsdd", + "llvm.x86.xop.vpmacsdqh", + "llvm.x86.xop.vpmacsdql", + "llvm.x86.xop.vpmacssdd", + "llvm.x86.xop.vpmacssdqh", + "llvm.x86.xop.vpmacssdql", + "llvm.x86.xop.vpmacsswd", + "llvm.x86.xop.vpmacssww", + "llvm.x86.xop.vpmacswd", + "llvm.x86.xop.vpmacsww", + "llvm.x86.xop.vpmadcsswd", + "llvm.x86.xop.vpmadcswd", + "llvm.x86.xop.vpperm", + "llvm.x86.xop.vprotb", + "llvm.x86.xop.vprotbi", + "llvm.x86.xop.vprotd", + "llvm.x86.xop.vprotdi", + "llvm.x86.xop.vprotq", + "llvm.x86.xop.vprotqi", + "llvm.x86.xop.vprotw", + "llvm.x86.xop.vprotwi", + "llvm.x86.xop.vpshab", + "llvm.x86.xop.vpshad", + "llvm.x86.xop.vpshaq", + "llvm.x86.xop.vpshaw", + "llvm.x86.xop.vpshlb", + "llvm.x86.xop.vpshld", + "llvm.x86.xop.vpshlq", + "llvm.x86.xop.vpshlw", + "llvm.x86.xtest", + "llvm.xcore.bitrev", + "llvm.xcore.checkevent", + "llvm.xcore.chkct", + "llvm.xcore.clre", + "llvm.xcore.clrpt", + "llvm.xcore.clrsr", + "llvm.xcore.crc32", + "llvm.xcore.crc8", + "llvm.xcore.edu", + "llvm.xcore.eeu", + "llvm.xcore.endin", + "llvm.xcore.freer", + "llvm.xcore.geted", + "llvm.xcore.getet", + "llvm.xcore.getid", + "llvm.xcore.getps", + "llvm.xcore.getr", + "llvm.xcore.getst", + "llvm.xcore.getts", + "llvm.xcore.in", + "llvm.xcore.inct", + "llvm.xcore.initcp", + "llvm.xcore.initdp", + "llvm.xcore.initlr", + "llvm.xcore.initpc", + "llvm.xcore.initsp", + "llvm.xcore.inshr", + "llvm.xcore.int", + "llvm.xcore.mjoin", + "llvm.xcore.msync", + "llvm.xcore.out", + "llvm.xcore.outct", + "llvm.xcore.outshr", + "llvm.xcore.outt", + "llvm.xcore.peek", + "llvm.xcore.setc", + "llvm.xcore.setclk", + "llvm.xcore.setd", + "llvm.xcore.setev", + "llvm.xcore.setps", + "llvm.xcore.setpsc", + "llvm.xcore.setpt", + "llvm.xcore.setrdy", + "llvm.xcore.setsr", + "llvm.xcore.settw", + "llvm.xcore.setv", + "llvm.xcore.sext", + "llvm.xcore.ssync", + "llvm.xcore.syncr", + "llvm.xcore.testct", + "llvm.xcore.testwct", + "llvm.xcore.waitevent", + "llvm.xcore.zext", +#endif + +// Intrinsic ID to overload bitset +#ifdef GET_INTRINSIC_OVERLOAD_TABLE +static const uint8_t OTable[] = { + 0 | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0, + 0, + 0, + 0 | (1<<4) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6), + 0 | (1<<0) | (1<<1) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<2) | (1<<4) | (1<<5) | (1<<7), + 0, + 0 | (1<<6), + 0 | (1<<0), + 0, + 0 | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<4) | (1<<5) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4), + 0, + 0 | (1<<2) | (1<<4), + 0 | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5), + 0, + 0 | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<3) | (1<<4) | (1<<6) | (1<<7), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<2) | (1<<3) | (1<<4), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<0), + 0 | (1<<7), + 0 | (1<<0) | (1<<1), + 0, + 0 | (1<<1) | (1<<2), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0, + 0, + 0, + 0 | (1<<4), + 0, + 0, + 0 | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2), + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<5), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<3) | (1<<4), + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<0) | (1<<2) | (1<<3), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<0) | (1<<3), + 0, + 0, + 0, + 0, + 0, + 0 | (1<<5), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<7), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 | (1<<3) | (1<<5), + 0 | (1<<1) | (1<<2) | (1<<3) | (1<<4), + 0 | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7), + 0 | (1<<1) | (1<<2) | (1<<3) | (1<<5) | (1<<6), + 0 | (1<<1) | (1<<2) | (1<<3) +}; + +return (OTable[id/8] & (1 << (id%8))) != 0; +#endif + +// Function name -> enum value recognizer code. +#ifdef GET_FUNCTION_RECOGNIZER + StringRef NameR(Name+6, Len-6); // Skip over 'llvm.' + switch (Name[5]) { // Dispatch on first letter. + default: break; + case 'A': + if (NameR.startswith("MDGPU.trig.preop.")) return Intrinsic::AMDGPU_trig_preop; + if (NameR.startswith("MDGPU.rsq.clamped.")) return Intrinsic::AMDGPU_rsq_clamped; + if (NameR.startswith("MDGPU.rsq.")) return Intrinsic::AMDGPU_rsq; + if (NameR.startswith("MDGPU.rcp.")) return Intrinsic::AMDGPU_rcp; + if (NameR.startswith("MDGPU.div.scale.")) return Intrinsic::AMDGPU_div_scale; + if (NameR.startswith("MDGPU.div.fmas.")) return Intrinsic::AMDGPU_div_fmas; + if (NameR.startswith("MDGPU.div.fixup.")) return Intrinsic::AMDGPU_div_fixup; + break; // end of 'A' case. + case 'a': + if (NameR.startswith("rm.vcvtru.")) return Intrinsic::arm_vcvtru; + if (NameR.startswith("rm.vcvtr.")) return Intrinsic::arm_vcvtr; + if (NameR.startswith("rm.strex.")) return Intrinsic::arm_strex; + if (NameR.startswith("rm.stlex.")) return Intrinsic::arm_stlex; + if (NameR.startswith("rm.neon.vst4lane.")) return Intrinsic::arm_neon_vst4lane; + if (NameR.startswith("rm.neon.vst4.")) return Intrinsic::arm_neon_vst4; + if (NameR.startswith("rm.neon.vst3lane.")) return Intrinsic::arm_neon_vst3lane; + if (NameR.startswith("rm.neon.vst3.")) return Intrinsic::arm_neon_vst3; + if (NameR.startswith("rm.neon.vst2lane.")) return Intrinsic::arm_neon_vst2lane; + if (NameR.startswith("rm.neon.vst2.")) return Intrinsic::arm_neon_vst2; + if (NameR.startswith("rm.neon.vst1.")) return Intrinsic::arm_neon_vst1; + if (NameR.startswith("rm.neon.vshiftu.")) return Intrinsic::arm_neon_vshiftu; + if (NameR.startswith("rm.neon.vshifts.")) return Intrinsic::arm_neon_vshifts; + if (NameR.startswith("rm.neon.vshiftins.")) return Intrinsic::arm_neon_vshiftins; + if (NameR.startswith("rm.neon.vrsubhn.")) return Intrinsic::arm_neon_vrsubhn; + if (NameR.startswith("rm.neon.vrsqrts.")) return Intrinsic::arm_neon_vrsqrts; + if (NameR.startswith("rm.neon.vrsqrte.")) return Intrinsic::arm_neon_vrsqrte; + if (NameR.startswith("rm.neon.vrshiftu.")) return Intrinsic::arm_neon_vrshiftu; + if (NameR.startswith("rm.neon.vrshifts.")) return Intrinsic::arm_neon_vrshifts; + if (NameR.startswith("rm.neon.vrshiftn.")) return Intrinsic::arm_neon_vrshiftn; + if (NameR.startswith("rm.neon.vrintz.")) return Intrinsic::arm_neon_vrintz; + if (NameR.startswith("rm.neon.vrintx.")) return Intrinsic::arm_neon_vrintx; + if (NameR.startswith("rm.neon.vrintp.")) return Intrinsic::arm_neon_vrintp; + if (NameR.startswith("rm.neon.vrintn.")) return Intrinsic::arm_neon_vrintn; + if (NameR.startswith("rm.neon.vrintm.")) return Intrinsic::arm_neon_vrintm; + if (NameR.startswith("rm.neon.vrinta.")) return Intrinsic::arm_neon_vrinta; + if (NameR.startswith("rm.neon.vrhaddu.")) return Intrinsic::arm_neon_vrhaddu; + if (NameR.startswith("rm.neon.vrhadds.")) return Intrinsic::arm_neon_vrhadds; + if (NameR.startswith("rm.neon.vrecps.")) return Intrinsic::arm_neon_vrecps; + if (NameR.startswith("rm.neon.vrecpe.")) return Intrinsic::arm_neon_vrecpe; + if (NameR.startswith("rm.neon.vraddhn.")) return Intrinsic::arm_neon_vraddhn; + if (NameR.startswith("rm.neon.vqsubu.")) return Intrinsic::arm_neon_vqsubu; + if (NameR.startswith("rm.neon.vqsubs.")) return Intrinsic::arm_neon_vqsubs; + if (NameR.startswith("rm.neon.vqshiftu.")) return Intrinsic::arm_neon_vqshiftu; + if (NameR.startswith("rm.neon.vqshiftsu.")) return Intrinsic::arm_neon_vqshiftsu; + if (NameR.startswith("rm.neon.vqshifts.")) return Intrinsic::arm_neon_vqshifts; + if (NameR.startswith("rm.neon.vqshiftnu.")) return Intrinsic::arm_neon_vqshiftnu; + if (NameR.startswith("rm.neon.vqshiftnsu.")) return Intrinsic::arm_neon_vqshiftnsu; + if (NameR.startswith("rm.neon.vqshiftns.")) return Intrinsic::arm_neon_vqshiftns; + if (NameR.startswith("rm.neon.vqrshiftu.")) return Intrinsic::arm_neon_vqrshiftu; + if (NameR.startswith("rm.neon.vqrshifts.")) return Intrinsic::arm_neon_vqrshifts; + if (NameR.startswith("rm.neon.vqrshiftnu.")) return Intrinsic::arm_neon_vqrshiftnu; + if (NameR.startswith("rm.neon.vqrshiftnsu.")) return Intrinsic::arm_neon_vqrshiftnsu; + if (NameR.startswith("rm.neon.vqrshiftns.")) return Intrinsic::arm_neon_vqrshiftns; + if (NameR.startswith("rm.neon.vqrdmulh.")) return Intrinsic::arm_neon_vqrdmulh; + if (NameR.startswith("rm.neon.vqneg.")) return Intrinsic::arm_neon_vqneg; + if (NameR.startswith("rm.neon.vqmovnu.")) return Intrinsic::arm_neon_vqmovnu; + if (NameR.startswith("rm.neon.vqmovnsu.")) return Intrinsic::arm_neon_vqmovnsu; + if (NameR.startswith("rm.neon.vqmovns.")) return Intrinsic::arm_neon_vqmovns; + if (NameR.startswith("rm.neon.vqdmull.")) return Intrinsic::arm_neon_vqdmull; + if (NameR.startswith("rm.neon.vqdmulh.")) return Intrinsic::arm_neon_vqdmulh; + if (NameR.startswith("rm.neon.vqaddu.")) return Intrinsic::arm_neon_vqaddu; + if (NameR.startswith("rm.neon.vqadds.")) return Intrinsic::arm_neon_vqadds; + if (NameR.startswith("rm.neon.vqabs.")) return Intrinsic::arm_neon_vqabs; + if (NameR.startswith("rm.neon.vpminu.")) return Intrinsic::arm_neon_vpminu; + if (NameR.startswith("rm.neon.vpmins.")) return Intrinsic::arm_neon_vpmins; + if (NameR.startswith("rm.neon.vpmaxu.")) return Intrinsic::arm_neon_vpmaxu; + if (NameR.startswith("rm.neon.vpmaxs.")) return Intrinsic::arm_neon_vpmaxs; + if (NameR.startswith("rm.neon.vpaddlu.")) return Intrinsic::arm_neon_vpaddlu; + if (NameR.startswith("rm.neon.vpaddls.")) return Intrinsic::arm_neon_vpaddls; + if (NameR.startswith("rm.neon.vpadd.")) return Intrinsic::arm_neon_vpadd; + if (NameR.startswith("rm.neon.vpadalu.")) return Intrinsic::arm_neon_vpadalu; + if (NameR.startswith("rm.neon.vpadals.")) return Intrinsic::arm_neon_vpadals; + if (NameR.startswith("rm.neon.vmulp.")) return Intrinsic::arm_neon_vmulp; + if (NameR.startswith("rm.neon.vmullu.")) return Intrinsic::arm_neon_vmullu; + if (NameR.startswith("rm.neon.vmulls.")) return Intrinsic::arm_neon_vmulls; + if (NameR.startswith("rm.neon.vmullp.")) return Intrinsic::arm_neon_vmullp; + if (NameR.startswith("rm.neon.vminu.")) return Intrinsic::arm_neon_vminu; + if (NameR.startswith("rm.neon.vmins.")) return Intrinsic::arm_neon_vmins; + if (NameR.startswith("rm.neon.vminnm.")) return Intrinsic::arm_neon_vminnm; + if (NameR.startswith("rm.neon.vmaxu.")) return Intrinsic::arm_neon_vmaxu; + if (NameR.startswith("rm.neon.vmaxs.")) return Intrinsic::arm_neon_vmaxs; + if (NameR.startswith("rm.neon.vmaxnm.")) return Intrinsic::arm_neon_vmaxnm; + if (NameR.startswith("rm.neon.vld4lane.")) return Intrinsic::arm_neon_vld4lane; + if (NameR.startswith("rm.neon.vld4.")) return Intrinsic::arm_neon_vld4; + if (NameR.startswith("rm.neon.vld3lane.")) return Intrinsic::arm_neon_vld3lane; + if (NameR.startswith("rm.neon.vld3.")) return Intrinsic::arm_neon_vld3; + if (NameR.startswith("rm.neon.vld2lane.")) return Intrinsic::arm_neon_vld2lane; + if (NameR.startswith("rm.neon.vld2.")) return Intrinsic::arm_neon_vld2; + if (NameR.startswith("rm.neon.vld1.")) return Intrinsic::arm_neon_vld1; + if (NameR.startswith("rm.neon.vhsubu.")) return Intrinsic::arm_neon_vhsubu; + if (NameR.startswith("rm.neon.vhsubs.")) return Intrinsic::arm_neon_vhsubs; + if (NameR.startswith("rm.neon.vhaddu.")) return Intrinsic::arm_neon_vhaddu; + if (NameR.startswith("rm.neon.vhadds.")) return Intrinsic::arm_neon_vhadds; + if (NameR.startswith("rm.neon.vcvtpu.")) return Intrinsic::arm_neon_vcvtpu; + if (NameR.startswith("rm.neon.vcvtps.")) return Intrinsic::arm_neon_vcvtps; + if (NameR.startswith("rm.neon.vcvtnu.")) return Intrinsic::arm_neon_vcvtnu; + if (NameR.startswith("rm.neon.vcvtns.")) return Intrinsic::arm_neon_vcvtns; + if (NameR.startswith("rm.neon.vcvtmu.")) return Intrinsic::arm_neon_vcvtmu; + if (NameR.startswith("rm.neon.vcvtms.")) return Intrinsic::arm_neon_vcvtms; + if (NameR.startswith("rm.neon.vcvtfxu2fp.")) return Intrinsic::arm_neon_vcvtfxu2fp; + if (NameR.startswith("rm.neon.vcvtfxs2fp.")) return Intrinsic::arm_neon_vcvtfxs2fp; + if (NameR.startswith("rm.neon.vcvtfp2fxu.")) return Intrinsic::arm_neon_vcvtfp2fxu; + if (NameR.startswith("rm.neon.vcvtfp2fxs.")) return Intrinsic::arm_neon_vcvtfp2fxs; + if (NameR.startswith("rm.neon.vcvtau.")) return Intrinsic::arm_neon_vcvtau; + if (NameR.startswith("rm.neon.vcvtas.")) return Intrinsic::arm_neon_vcvtas; + if (NameR.startswith("rm.neon.vcnt.")) return Intrinsic::arm_neon_vcnt; + if (NameR.startswith("rm.neon.vclz.")) return Intrinsic::arm_neon_vclz; + if (NameR.startswith("rm.neon.vcls.")) return Intrinsic::arm_neon_vcls; + if (NameR.startswith("rm.neon.vbsl.")) return Intrinsic::arm_neon_vbsl; + if (NameR.startswith("rm.neon.vacgt.")) return Intrinsic::arm_neon_vacgt; + if (NameR.startswith("rm.neon.vacge.")) return Intrinsic::arm_neon_vacge; + if (NameR.startswith("rm.neon.vabs.")) return Intrinsic::arm_neon_vabs; + if (NameR.startswith("rm.neon.vabdu.")) return Intrinsic::arm_neon_vabdu; + if (NameR.startswith("rm.neon.vabds.")) return Intrinsic::arm_neon_vabds; + if (NameR.startswith("rm.ldrex.")) return Intrinsic::arm_ldrex; + if (NameR.startswith("rm.ldaex.")) return Intrinsic::arm_ldaex; + if (NameR.startswith("nnotation.")) return Intrinsic::annotation; + if (NameR.startswith("arch64.udiv.")) return Intrinsic::aarch64_udiv; + if (NameR.startswith("arch64.stxr.")) return Intrinsic::aarch64_stxr; + if (NameR.startswith("arch64.stlxr.")) return Intrinsic::aarch64_stlxr; + if (NameR.startswith("arch64.sisd.fabd.")) return Intrinsic::aarch64_sisd_fabd; + if (NameR.startswith("arch64.sdiv.")) return Intrinsic::aarch64_sdiv; + if (NameR.startswith("arch64.rbit.")) return Intrinsic::aarch64_rbit; + if (NameR.startswith("arch64.neon.vsri.")) return Intrinsic::aarch64_neon_vsri; + if (NameR.startswith("arch64.neon.vsli.")) return Intrinsic::aarch64_neon_vsli; + if (NameR.startswith("arch64.neon.vcvtfxu2fp.")) return Intrinsic::aarch64_neon_vcvtfxu2fp; + if (NameR.startswith("arch64.neon.vcvtfxs2fp.")) return Intrinsic::aarch64_neon_vcvtfxs2fp; + if (NameR.startswith("arch64.neon.vcvtfp2fxu.")) return Intrinsic::aarch64_neon_vcvtfp2fxu; + if (NameR.startswith("arch64.neon.vcvtfp2fxs.")) return Intrinsic::aarch64_neon_vcvtfp2fxs; + if (NameR.startswith("arch64.neon.vcopy.lane.")) return Intrinsic::aarch64_neon_vcopy_lane; + if (NameR.startswith("arch64.neon.usqadd.")) return Intrinsic::aarch64_neon_usqadd; + if (NameR.startswith("arch64.neon.ushll.")) return Intrinsic::aarch64_neon_ushll; + if (NameR.startswith("arch64.neon.ushl.")) return Intrinsic::aarch64_neon_ushl; + if (NameR.startswith("arch64.neon.ursqrte.")) return Intrinsic::aarch64_neon_ursqrte; + if (NameR.startswith("arch64.neon.urshl.")) return Intrinsic::aarch64_neon_urshl; + if (NameR.startswith("arch64.neon.urhadd.")) return Intrinsic::aarch64_neon_urhadd; + if (NameR.startswith("arch64.neon.urecpe.")) return Intrinsic::aarch64_neon_urecpe; + if (NameR.startswith("arch64.neon.uqxtn.")) return Intrinsic::aarch64_neon_uqxtn; + if (NameR.startswith("arch64.neon.uqsub.")) return Intrinsic::aarch64_neon_uqsub; + if (NameR.startswith("arch64.neon.uqshrn.")) return Intrinsic::aarch64_neon_uqshrn; + if (NameR.startswith("arch64.neon.uqshl.")) return Intrinsic::aarch64_neon_uqshl; + if (NameR.startswith("arch64.neon.uqrshrn.")) return Intrinsic::aarch64_neon_uqrshrn; + if (NameR.startswith("arch64.neon.uqrshl.")) return Intrinsic::aarch64_neon_uqrshl; + if (NameR.startswith("arch64.neon.uqadd.")) return Intrinsic::aarch64_neon_uqadd; + if (NameR.startswith("arch64.neon.umull.")) return Intrinsic::aarch64_neon_umull; + if (NameR.startswith("arch64.neon.uminv.")) return Intrinsic::aarch64_neon_uminv; + if (NameR.startswith("arch64.neon.uminp.")) return Intrinsic::aarch64_neon_uminp; + if (NameR.startswith("arch64.neon.umin.")) return Intrinsic::aarch64_neon_umin; + if (NameR.startswith("arch64.neon.umaxv.")) return Intrinsic::aarch64_neon_umaxv; + if (NameR.startswith("arch64.neon.umaxp.")) return Intrinsic::aarch64_neon_umaxp; + if (NameR.startswith("arch64.neon.umax.")) return Intrinsic::aarch64_neon_umax; + if (NameR.startswith("arch64.neon.uhsub.")) return Intrinsic::aarch64_neon_uhsub; + if (NameR.startswith("arch64.neon.uhadd.")) return Intrinsic::aarch64_neon_uhadd; + if (NameR.startswith("arch64.neon.uaddv.")) return Intrinsic::aarch64_neon_uaddv; + if (NameR.startswith("arch64.neon.uaddlv.")) return Intrinsic::aarch64_neon_uaddlv; + if (NameR.startswith("arch64.neon.uaddlp.")) return Intrinsic::aarch64_neon_uaddlp; + if (NameR.startswith("arch64.neon.uabd.")) return Intrinsic::aarch64_neon_uabd; + if (NameR.startswith("arch64.neon.tbx4.")) return Intrinsic::aarch64_neon_tbx4; + if (NameR.startswith("arch64.neon.tbx3.")) return Intrinsic::aarch64_neon_tbx3; + if (NameR.startswith("arch64.neon.tbx2.")) return Intrinsic::aarch64_neon_tbx2; + if (NameR.startswith("arch64.neon.tbx1.")) return Intrinsic::aarch64_neon_tbx1; + if (NameR.startswith("arch64.neon.tbl4.")) return Intrinsic::aarch64_neon_tbl4; + if (NameR.startswith("arch64.neon.tbl3.")) return Intrinsic::aarch64_neon_tbl3; + if (NameR.startswith("arch64.neon.tbl2.")) return Intrinsic::aarch64_neon_tbl2; + if (NameR.startswith("arch64.neon.tbl1.")) return Intrinsic::aarch64_neon_tbl1; + if (NameR.startswith("arch64.neon.suqadd.")) return Intrinsic::aarch64_neon_suqadd; + if (NameR.startswith("arch64.neon.subhn.")) return Intrinsic::aarch64_neon_subhn; + if (NameR.startswith("arch64.neon.st4lane.")) return Intrinsic::aarch64_neon_st4lane; + if (NameR.startswith("arch64.neon.st4.")) return Intrinsic::aarch64_neon_st4; + if (NameR.startswith("arch64.neon.st3lane.")) return Intrinsic::aarch64_neon_st3lane; + if (NameR.startswith("arch64.neon.st3.")) return Intrinsic::aarch64_neon_st3; + if (NameR.startswith("arch64.neon.st2lane.")) return Intrinsic::aarch64_neon_st2lane; + if (NameR.startswith("arch64.neon.st2.")) return Intrinsic::aarch64_neon_st2; + if (NameR.startswith("arch64.neon.st1x4.")) return Intrinsic::aarch64_neon_st1x4; + if (NameR.startswith("arch64.neon.st1x3.")) return Intrinsic::aarch64_neon_st1x3; + if (NameR.startswith("arch64.neon.st1x2.")) return Intrinsic::aarch64_neon_st1x2; + if (NameR.startswith("arch64.neon.sshll.")) return Intrinsic::aarch64_neon_sshll; + if (NameR.startswith("arch64.neon.sshl.")) return Intrinsic::aarch64_neon_sshl; + if (NameR.startswith("arch64.neon.srshl.")) return Intrinsic::aarch64_neon_srshl; + if (NameR.startswith("arch64.neon.srhadd.")) return Intrinsic::aarch64_neon_srhadd; + if (NameR.startswith("arch64.neon.sqxtun.")) return Intrinsic::aarch64_neon_sqxtun; + if (NameR.startswith("arch64.neon.sqxtn.")) return Intrinsic::aarch64_neon_sqxtn; + if (NameR.startswith("arch64.neon.sqsub.")) return Intrinsic::aarch64_neon_sqsub; + if (NameR.startswith("arch64.neon.sqshrun.")) return Intrinsic::aarch64_neon_sqshrun; + if (NameR.startswith("arch64.neon.sqshrn.")) return Intrinsic::aarch64_neon_sqshrn; + if (NameR.startswith("arch64.neon.sqshlu.")) return Intrinsic::aarch64_neon_sqshlu; + if (NameR.startswith("arch64.neon.sqshl.")) return Intrinsic::aarch64_neon_sqshl; + if (NameR.startswith("arch64.neon.sqrshrun.")) return Intrinsic::aarch64_neon_sqrshrun; + if (NameR.startswith("arch64.neon.sqrshrn.")) return Intrinsic::aarch64_neon_sqrshrn; + if (NameR.startswith("arch64.neon.sqrshl.")) return Intrinsic::aarch64_neon_sqrshl; + if (NameR.startswith("arch64.neon.sqrdmulh.")) return Intrinsic::aarch64_neon_sqrdmulh; + if (NameR.startswith("arch64.neon.sqneg.")) return Intrinsic::aarch64_neon_sqneg; + if (NameR.startswith("arch64.neon.sqdmull.")) return Intrinsic::aarch64_neon_sqdmull; + if (NameR.startswith("arch64.neon.sqdmulh.")) return Intrinsic::aarch64_neon_sqdmulh; + if (NameR.startswith("arch64.neon.sqadd.")) return Intrinsic::aarch64_neon_sqadd; + if (NameR.startswith("arch64.neon.sqabs.")) return Intrinsic::aarch64_neon_sqabs; + if (NameR.startswith("arch64.neon.smull.")) return Intrinsic::aarch64_neon_smull; + if (NameR.startswith("arch64.neon.sminv.")) return Intrinsic::aarch64_neon_sminv; + if (NameR.startswith("arch64.neon.sminp.")) return Intrinsic::aarch64_neon_sminp; + if (NameR.startswith("arch64.neon.smin.")) return Intrinsic::aarch64_neon_smin; + if (NameR.startswith("arch64.neon.smaxv.")) return Intrinsic::aarch64_neon_smaxv; + if (NameR.startswith("arch64.neon.smaxp.")) return Intrinsic::aarch64_neon_smaxp; + if (NameR.startswith("arch64.neon.smax.")) return Intrinsic::aarch64_neon_smax; + if (NameR.startswith("arch64.neon.shsub.")) return Intrinsic::aarch64_neon_shsub; + if (NameR.startswith("arch64.neon.shll.")) return Intrinsic::aarch64_neon_shll; + if (NameR.startswith("arch64.neon.shadd.")) return Intrinsic::aarch64_neon_shadd; + if (NameR.startswith("arch64.neon.scalar.uqxtn.")) return Intrinsic::aarch64_neon_scalar_uqxtn; + if (NameR.startswith("arch64.neon.scalar.sqxtun.")) return Intrinsic::aarch64_neon_scalar_sqxtun; + if (NameR.startswith("arch64.neon.scalar.sqxtn.")) return Intrinsic::aarch64_neon_scalar_sqxtn; + if (NameR.startswith("arch64.neon.saddv.")) return Intrinsic::aarch64_neon_saddv; + if (NameR.startswith("arch64.neon.saddlv.")) return Intrinsic::aarch64_neon_saddlv; + if (NameR.startswith("arch64.neon.saddlp.")) return Intrinsic::aarch64_neon_saddlp; + if (NameR.startswith("arch64.neon.sabd.")) return Intrinsic::aarch64_neon_sabd; + if (NameR.startswith("arch64.neon.rsubhn.")) return Intrinsic::aarch64_neon_rsubhn; + if (NameR.startswith("arch64.neon.rshrn.")) return Intrinsic::aarch64_neon_rshrn; + if (NameR.startswith("arch64.neon.rbit.")) return Intrinsic::aarch64_neon_rbit; + if (NameR.startswith("arch64.neon.raddhn.")) return Intrinsic::aarch64_neon_raddhn; + if (NameR.startswith("arch64.neon.pmull.")) return Intrinsic::aarch64_neon_pmull; + if (NameR.startswith("arch64.neon.pmul.")) return Intrinsic::aarch64_neon_pmul; + if (NameR.startswith("arch64.neon.ld4r.")) return Intrinsic::aarch64_neon_ld4r; + if (NameR.startswith("arch64.neon.ld4lane.")) return Intrinsic::aarch64_neon_ld4lane; + if (NameR.startswith("arch64.neon.ld4.")) return Intrinsic::aarch64_neon_ld4; + if (NameR.startswith("arch64.neon.ld3r.")) return Intrinsic::aarch64_neon_ld3r; + if (NameR.startswith("arch64.neon.ld3lane.")) return Intrinsic::aarch64_neon_ld3lane; + if (NameR.startswith("arch64.neon.ld3.")) return Intrinsic::aarch64_neon_ld3; + if (NameR.startswith("arch64.neon.ld2r.")) return Intrinsic::aarch64_neon_ld2r; + if (NameR.startswith("arch64.neon.ld2lane.")) return Intrinsic::aarch64_neon_ld2lane; + if (NameR.startswith("arch64.neon.ld2.")) return Intrinsic::aarch64_neon_ld2; + if (NameR.startswith("arch64.neon.ld1x4.")) return Intrinsic::aarch64_neon_ld1x4; + if (NameR.startswith("arch64.neon.ld1x3.")) return Intrinsic::aarch64_neon_ld1x3; + if (NameR.startswith("arch64.neon.ld1x2.")) return Intrinsic::aarch64_neon_ld1x2; + if (NameR.startswith("arch64.neon.frsqrts.")) return Intrinsic::aarch64_neon_frsqrts; + if (NameR.startswith("arch64.neon.frsqrte.")) return Intrinsic::aarch64_neon_frsqrte; + if (NameR.startswith("arch64.neon.frintn.")) return Intrinsic::aarch64_neon_frintn; + if (NameR.startswith("arch64.neon.frecpx.")) return Intrinsic::aarch64_neon_frecpx; + if (NameR.startswith("arch64.neon.frecps.")) return Intrinsic::aarch64_neon_frecps; + if (NameR.startswith("arch64.neon.frecpe.")) return Intrinsic::aarch64_neon_frecpe; + if (NameR.startswith("arch64.neon.fmulx.")) return Intrinsic::aarch64_neon_fmulx; + if (NameR.startswith("arch64.neon.fminv.")) return Intrinsic::aarch64_neon_fminv; + if (NameR.startswith("arch64.neon.fminp.")) return Intrinsic::aarch64_neon_fminp; + if (NameR.startswith("arch64.neon.fminnmv.")) return Intrinsic::aarch64_neon_fminnmv; + if (NameR.startswith("arch64.neon.fminnmp.")) return Intrinsic::aarch64_neon_fminnmp; + if (NameR.startswith("arch64.neon.fminnm.")) return Intrinsic::aarch64_neon_fminnm; + if (NameR.startswith("arch64.neon.fmin.")) return Intrinsic::aarch64_neon_fmin; + if (NameR.startswith("arch64.neon.fmaxv.")) return Intrinsic::aarch64_neon_fmaxv; + if (NameR.startswith("arch64.neon.fmaxp.")) return Intrinsic::aarch64_neon_fmaxp; + if (NameR.startswith("arch64.neon.fmaxnmv.")) return Intrinsic::aarch64_neon_fmaxnmv; + if (NameR.startswith("arch64.neon.fmaxnmp.")) return Intrinsic::aarch64_neon_fmaxnmp; + if (NameR.startswith("arch64.neon.fmaxnm.")) return Intrinsic::aarch64_neon_fmaxnm; + if (NameR.startswith("arch64.neon.fmax.")) return Intrinsic::aarch64_neon_fmax; + if (NameR.startswith("arch64.neon.fcvtzu.")) return Intrinsic::aarch64_neon_fcvtzu; + if (NameR.startswith("arch64.neon.fcvtzs.")) return Intrinsic::aarch64_neon_fcvtzs; + if (NameR.startswith("arch64.neon.fcvtxn.")) return Intrinsic::aarch64_neon_fcvtxn; + if (NameR.startswith("arch64.neon.fcvtpu.")) return Intrinsic::aarch64_neon_fcvtpu; + if (NameR.startswith("arch64.neon.fcvtps.")) return Intrinsic::aarch64_neon_fcvtps; + if (NameR.startswith("arch64.neon.fcvtnu.")) return Intrinsic::aarch64_neon_fcvtnu; + if (NameR.startswith("arch64.neon.fcvtns.")) return Intrinsic::aarch64_neon_fcvtns; + if (NameR.startswith("arch64.neon.fcvtmu.")) return Intrinsic::aarch64_neon_fcvtmu; + if (NameR.startswith("arch64.neon.fcvtms.")) return Intrinsic::aarch64_neon_fcvtms; + if (NameR.startswith("arch64.neon.fcvtau.")) return Intrinsic::aarch64_neon_fcvtau; + if (NameR.startswith("arch64.neon.fcvtas.")) return Intrinsic::aarch64_neon_fcvtas; + if (NameR.startswith("arch64.neon.faddv.")) return Intrinsic::aarch64_neon_faddv; + if (NameR.startswith("arch64.neon.facgt.")) return Intrinsic::aarch64_neon_facgt; + if (NameR.startswith("arch64.neon.facge.")) return Intrinsic::aarch64_neon_facge; + if (NameR.startswith("arch64.neon.fabd.")) return Intrinsic::aarch64_neon_fabd; + if (NameR.startswith("arch64.neon.cls.")) return Intrinsic::aarch64_neon_cls; + if (NameR.startswith("arch64.neon.addp.")) return Intrinsic::aarch64_neon_addp; + if (NameR.startswith("arch64.neon.addhn.")) return Intrinsic::aarch64_neon_addhn; + if (NameR.startswith("arch64.neon.abs.")) return Intrinsic::aarch64_neon_abs; + if (NameR.startswith("arch64.ldxr.")) return Intrinsic::aarch64_ldxr; + if (NameR.startswith("arch64.ldaxr.")) return Intrinsic::aarch64_ldaxr; + switch (NameR.size()) { + default: break; + case 6: // 6 strings to match. + if (memcmp(NameR.data()+0, "rm.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+4, "dp", 2)) + break; + return Intrinsic::arm_cdp; // "rm.cdp" + case 'd': // 2 strings to match. + switch (NameR[4]) { + default: break; + case 'm': // 1 string to match. + if (NameR[5] != 'b') + break; + return Intrinsic::arm_dmb; // "rm.dmb" + case 's': // 1 string to match. + if (NameR[5] != 'b') + break; + return Intrinsic::arm_dsb; // "rm.dsb" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+4, "sb", 2)) + break; + return Intrinsic::arm_isb; // "rm.isb" + case 'm': // 2 strings to match. + switch (NameR[4]) { + default: break; + case 'c': // 1 string to match. + if (NameR[5] != 'r') + break; + return Intrinsic::arm_mcr; // "rm.mcr" + case 'r': // 1 string to match. + if (NameR[5] != 'c') + break; + return Intrinsic::arm_mrc; // "rm.mrc" + } + break; + } + break; + case 7: // 10 strings to match. + if (memcmp(NameR.data()+0, "rm.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+4, "dp2", 3)) + break; + return Intrinsic::arm_cdp2; // "rm.cdp2" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+4, "int", 3)) + break; + return Intrinsic::arm_hint; // "rm.hint" + case 'm': // 3 strings to match. + switch (NameR[4]) { + default: break; + case 'c': // 2 strings to match. + if (NameR[5] != 'r') + break; + switch (NameR[6]) { + default: break; + case '2': // 1 string to match. + return Intrinsic::arm_mcr2; // "rm.mcr2" + case 'r': // 1 string to match. + return Intrinsic::arm_mcrr; // "rm.mcrr" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+5, "c2", 2)) + break; + return Intrinsic::arm_mrc2; // "rm.mrc2" + } + break; + case 'q': // 2 strings to match. + switch (NameR[4]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+5, "dd", 2)) + break; + return Intrinsic::arm_qadd; // "rm.qadd" + case 's': // 1 string to match. + if (memcmp(NameR.data()+5, "ub", 2)) + break; + return Intrinsic::arm_qsub; // "rm.qsub" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+4, "bit", 3)) + break; + return Intrinsic::arm_rbit; // "rm.rbit" + case 's': // 1 string to match. + if (memcmp(NameR.data()+4, "sat", 3)) + break; + return Intrinsic::arm_ssat; // "rm.ssat" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+4, "sat", 3)) + break; + return Intrinsic::arm_usat; // "rm.usat" + } + break; + case 8: // 2 strings to match. + if (memcmp(NameR.data()+0, "rm.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+4, "lrex", 4)) + break; + return Intrinsic::arm_clrex; // "rm.clrex" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+4, "crr2", 4)) + break; + return Intrinsic::arm_mcrr2; // "rm.mcrr2" + } + break; + case 9: // 7 strings to match. + if (memcmp(NameR.data()+0, "rm.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+4, "rc32", 4)) + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::arm_crc32b; // "rm.crc32b" + case 'h': // 1 string to match. + return Intrinsic::arm_crc32h; // "rm.crc32h" + case 'w': // 1 string to match. + return Intrinsic::arm_crc32w; // "rm.crc32w" + } + break; + case 'l': // 2 strings to match. + if (NameR[4] != 'd') + break; + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "exd", 3)) + break; + return Intrinsic::arm_ldaexd; // "rm.ldaexd" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+6, "exd", 3)) + break; + return Intrinsic::arm_ldrexd; // "rm.ldrexd" + } + break; + case 's': // 2 strings to match. + if (NameR[4] != 't') + break; + switch (NameR[5]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+6, "exd", 3)) + break; + return Intrinsic::arm_stlexd; // "rm.stlexd" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+6, "exd", 3)) + break; + return Intrinsic::arm_strexd; // "rm.strexd" + } + break; + } + break; + case 10: // 6 strings to match. + switch (NameR[0]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+1, "rch64.", 6)) + break; + switch (NameR[7]) { + default: break; + case 'd': // 2 strings to match. + switch (NameR[8]) { + default: break; + case 'm': // 1 string to match. + if (NameR[9] != 'b') + break; + return Intrinsic::aarch64_dmb; // "arch64.dmb" + case 's': // 1 string to match. + if (NameR[9] != 'b') + break; + return Intrinsic::aarch64_dsb; // "arch64.dsb" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+8, "sb", 2)) + break; + return Intrinsic::aarch64_isb; // "arch64.isb" + } + break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+1, "m.crc32c", 8)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::arm_crc32cb; // "rm.crc32cb" + case 'h': // 1 string to match. + return Intrinsic::arm_crc32ch; // "rm.crc32ch" + case 'w': // 1 string to match. + return Intrinsic::arm_crc32cw; // "rm.crc32cw" + } + break; + } + break; + case 11: // 3 strings to match. + if (memcmp(NameR.data()+0, "arch64.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+8, "int", 3)) + break; + return Intrinsic::aarch64_hint; // "arch64.hint" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, "dxp", 3)) + break; + return Intrinsic::aarch64_ldxp; // "arch64.ldxp" + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "txp", 3)) + break; + return Intrinsic::aarch64_stxp; // "arch64.stxp" + } + break; + case 12: // 8 strings to match. + switch (NameR[0]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+1, "rch64.", 6)) + break; + switch (NameR[7]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+8, "lrex", 4)) + break; + return Intrinsic::aarch64_clrex; // "arch64.clrex" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, "daxp", 4)) + break; + return Intrinsic::aarch64_ldaxp; // "arch64.ldaxp" + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "tlxp", 4)) + break; + return Intrinsic::aarch64_stlxp; // "arch64.stlxp" + } + break; + case 'r': // 5 strings to match. + if (memcmp(NameR.data()+1, "m.", 2)) + break; + switch (NameR[3]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(NameR.data()+4, "et.fpscr", 8)) + break; + return Intrinsic::arm_get_fpscr; // "rm.get.fpscr" + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+4, "eon.aes", 7)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::arm_neon_aesd; // "rm.neon.aesd" + case 'e': // 1 string to match. + return Intrinsic::arm_neon_aese; // "rm.neon.aese" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+4, "et.fpscr", 8)) + break; + return Intrinsic::arm_set_fpscr; // "rm.set.fpscr" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+4, "ndefined", 8)) + break; + return Intrinsic::arm_undefined; // "rm.undefined" + } + break; + } + break; + case 13: // 17 strings to match. + switch (NameR[0]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+1, "rch64.crc32", 11)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::aarch64_crc32b; // "arch64.crc32b" + case 'h': // 1 string to match. + return Intrinsic::aarch64_crc32h; // "arch64.crc32h" + case 'w': // 1 string to match. + return Intrinsic::aarch64_crc32w; // "arch64.crc32w" + case 'x': // 1 string to match. + return Intrinsic::aarch64_crc32x; // "arch64.crc32x" + } + break; + case 'r': // 13 strings to match. + if (memcmp(NameR.data()+1, "m.neon.", 7)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "esmc", 4)) + break; + return Intrinsic::arm_neon_aesmc; // "rm.neon.aesmc" + case 's': // 4 strings to match. + if (memcmp(NameR.data()+9, "ha1", 3)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 1 string to match. + return Intrinsic::arm_neon_sha1c; // "rm.neon.sha1c" + case 'h': // 1 string to match. + return Intrinsic::arm_neon_sha1h; // "rm.neon.sha1h" + case 'm': // 1 string to match. + return Intrinsic::arm_neon_sha1m; // "rm.neon.sha1m" + case 'p': // 1 string to match. + return Intrinsic::arm_neon_sha1p; // "rm.neon.sha1p" + } + break; + case 'v': // 8 strings to match. + if (memcmp(NameR.data()+9, "tb", 2)) + break; + switch (NameR[11]) { + default: break; + case 'l': // 4 strings to match. + switch (NameR[12]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::arm_neon_vtbl1; // "rm.neon.vtbl1" + case '2': // 1 string to match. + return Intrinsic::arm_neon_vtbl2; // "rm.neon.vtbl2" + case '3': // 1 string to match. + return Intrinsic::arm_neon_vtbl3; // "rm.neon.vtbl3" + case '4': // 1 string to match. + return Intrinsic::arm_neon_vtbl4; // "rm.neon.vtbl4" + } + break; + case 'x': // 4 strings to match. + switch (NameR[12]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::arm_neon_vtbx1; // "rm.neon.vtbx1" + case '2': // 1 string to match. + return Intrinsic::arm_neon_vtbx2; // "rm.neon.vtbx2" + case '3': // 1 string to match. + return Intrinsic::arm_neon_vtbx3; // "rm.neon.vtbx3" + case '4': // 1 string to match. + return Intrinsic::arm_neon_vtbx4; // "rm.neon.vtbx4" + } + break; + } + break; + } + break; + } + break; + case 14: // 5 strings to match. + switch (NameR[0]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+1, "rch64.crc32c", 12)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::aarch64_crc32cb; // "arch64.crc32cb" + case 'h': // 1 string to match. + return Intrinsic::aarch64_crc32ch; // "arch64.crc32ch" + case 'w': // 1 string to match. + return Intrinsic::aarch64_crc32cw; // "arch64.crc32cw" + case 'x': // 1 string to match. + return Intrinsic::aarch64_crc32cx; // "arch64.crc32cx" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+1, "m.neon.aesimc", 13)) + break; + return Intrinsic::arm_neon_aesimc; // "rm.neon.aesimc" + } + break; + case 15: // 3 strings to match. + if (memcmp(NameR.data()+0, "rm.neon.sha", 11)) + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "su", 2)) + break; + switch (NameR[14]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::arm_neon_sha1su0; // "rm.neon.sha1su0" + case '1': // 1 string to match. + return Intrinsic::arm_neon_sha1su1; // "rm.neon.sha1su1" + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+12, "56h", 3)) + break; + return Intrinsic::arm_neon_sha256h; // "rm.neon.sha256h" + } + break; + case 16: // 2 strings to match. + switch (NameR[0]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+1, "just.trampoline", 15)) + break; + return Intrinsic::adjust_trampoline; // "djust.trampoline" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+1, "m.neon.sha256h2", 15)) + break; + return Intrinsic::arm_neon_sha256h2; // "rm.neon.sha256h2" + } + break; + case 17: // 5 strings to match. + if (memcmp(NameR.data()+0, "rm.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'n': // 4 strings to match. + if (memcmp(NameR.data()+4, "eon.", 4)) + break; + switch (NameR[8]) { + default: break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+9, "ha256su", 7)) + break; + switch (NameR[16]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::arm_neon_sha256su0; // "rm.neon.sha256su0" + case '1': // 1 string to match. + return Intrinsic::arm_neon_sha256su1; // "rm.neon.sha256su1" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+9, "cvt", 3)) + break; + switch (NameR[12]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+13, "p2hf", 4)) + break; + return Intrinsic::arm_neon_vcvtfp2hf; // "rm.neon.vcvtfp2hf" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+13, "f2fp", 4)) + break; + return Intrinsic::arm_neon_vcvthf2fp; // "rm.neon.vcvthf2fp" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+4, "hread.pointer", 13)) + break; + return Intrinsic::arm_thread_pointer; // "rm.thread.pointer" + } + break; + case 18: // 3 strings to match. + if (memcmp(NameR.data()+0, "arch64.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+8, "rypto.aes", 9)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::aarch64_crypto_aesd; // "arch64.crypto.aesd" + case 'e': // 1 string to match. + return Intrinsic::aarch64_crypto_aese; // "arch64.crypto.aese" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "isd.fcvtxn", 10)) + break; + return Intrinsic::aarch64_sisd_fcvtxn; // "arch64.sisd.fcvtxn" + } + break; + case 19: // 6 strings to match. + if (memcmp(NameR.data()+0, "arch64.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'c': // 5 strings to match. + if (memcmp(NameR.data()+8, "rypto.", 6)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "esmc", 4)) + break; + return Intrinsic::aarch64_crypto_aesmc; // "arch64.crypto.aesmc" + case 's': // 4 strings to match. + if (memcmp(NameR.data()+15, "ha1", 3)) + break; + switch (NameR[18]) { + default: break; + case 'c': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1c; // "arch64.crypto.sha1c" + case 'h': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1h; // "arch64.crypto.sha1h" + case 'm': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1m; // "arch64.crypto.sha1m" + case 'p': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1p; // "arch64.crypto.sha1p" + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+8, "eon.pmull64", 11)) + break; + return Intrinsic::aarch64_neon_pmull64; // "arch64.neon.pmull64" + } + break; + case 20: // 1 string to match. + if (memcmp(NameR.data()+0, "arch64.crypto.aesimc", 20)) + break; + return Intrinsic::aarch64_crypto_aesimc; // "arch64.crypto.aesimc" + case 21: // 5 strings to match. + if (memcmp(NameR.data()+0, "arch64.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+8, "rypto.sha", 9)) + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "su", 2)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1su0; // "arch64.crypto.sha1su0" + case '1': // 1 string to match. + return Intrinsic::aarch64_crypto_sha1su1; // "arch64.crypto.sha1su1" + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+18, "56h", 3)) + break; + return Intrinsic::aarch64_crypto_sha256h; // "arch64.crypto.sha256h" + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+8, "eon.vcvt", 8)) + break; + switch (NameR[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+17, "p2hf", 4)) + break; + return Intrinsic::aarch64_neon_vcvtfp2hf; // "arch64.neon.vcvtfp2hf" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+17, "f2fp", 4)) + break; + return Intrinsic::aarch64_neon_vcvthf2fp; // "arch64.neon.vcvthf2fp" + } + break; + } + break; + case 22: // 1 string to match. + if (memcmp(NameR.data()+0, "arch64.crypto.sha256h2", 22)) + break; + return Intrinsic::aarch64_crypto_sha256h2; // "arch64.crypto.sha256h2" + case 23: // 2 strings to match. + if (memcmp(NameR.data()+0, "arch64.crypto.sha256su", 22)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::aarch64_crypto_sha256su0; // "arch64.crypto.sha256su0" + case '1': // 1 string to match. + return Intrinsic::aarch64_crypto_sha256su1; // "arch64.crypto.sha256su1" + } + break; + case 27: // 1 string to match. + if (memcmp(NameR.data()+0, "arch64.neon.sqdmulls.scalar", 27)) + break; + return Intrinsic::aarch64_neon_sqdmulls_scalar; // "arch64.neon.sqdmulls.scalar" + } + break; // end of 'a' case. + case 'b': + if (NameR.startswith("swap.")) return Intrinsic::bswap; + break; // end of 'b' case. + case 'c': + if (NameR.startswith("ttz.")) return Intrinsic::cttz; + if (NameR.startswith("tpop.")) return Intrinsic::ctpop; + if (NameR.startswith("tlz.")) return Intrinsic::ctlz; + if (NameR.startswith("os.")) return Intrinsic::cos; + if (NameR.startswith("opysign.")) return Intrinsic::copysign; + if (NameR.startswith("onvertuu.")) return Intrinsic::convertuu; + if (NameR.startswith("onvertus.")) return Intrinsic::convertus; + if (NameR.startswith("onvertuif.")) return Intrinsic::convertuif; + if (NameR.startswith("onvertsu.")) return Intrinsic::convertsu; + if (NameR.startswith("onvertss.")) return Intrinsic::convertss; + if (NameR.startswith("onvertsif.")) return Intrinsic::convertsif; + if (NameR.startswith("onvertfui.")) return Intrinsic::convertfui; + if (NameR.startswith("onvertfsi.")) return Intrinsic::convertfsi; + if (NameR.startswith("onvertff.")) return Intrinsic::convertff; + if (NameR.startswith("onvert.to.fp16.")) return Intrinsic::convert_to_fp16; + if (NameR.startswith("onvert.from.fp16.")) return Intrinsic::convert_from_fp16; + if (NameR.startswith("eil.")) return Intrinsic::ceil; + switch (NameR.size()) { + default: break; + case 10: // 1 string to match. + if (memcmp(NameR.data()+0, "lear_cache", 10)) + break; + return Intrinsic::clear_cache; // "lear_cache" + case 15: // 1 string to match. + if (memcmp(NameR.data()+0, "uda.syncthreads", 15)) + break; + return Intrinsic::cuda_syncthreads; // "uda.syncthreads" + } + break; // end of 'c' case. + case 'd': + switch (NameR.size()) { + default: break; + case 8: // 3 strings to match. + switch (NameR[0]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+1, "g.value", 7)) + break; + return Intrinsic::dbg_value; // "bg.value" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+1, "bugtrap", 7)) + break; + return Intrinsic::debugtrap; // "ebugtrap" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+1, "nothing", 7)) + break; + return Intrinsic::donothing; // "onothing" + } + break; + case 10: // 1 string to match. + if (memcmp(NameR.data()+0, "bg.declare", 10)) + break; + return Intrinsic::dbg_declare; // "bg.declare" + } + break; // end of 'd' case. + case 'e': + if (NameR.startswith("xpect.")) return Intrinsic::expect; + if (NameR.startswith("xp2.")) return Intrinsic::exp2; + if (NameR.startswith("xp.")) return Intrinsic::exp; + switch (NameR.size()) { + default: break; + case 11: // 2 strings to match. + if (memcmp(NameR.data()+0, "h.", 2)) + break; + switch (NameR[2]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+3, "warf.cfa", 8)) + break; + return Intrinsic::eh_dwarf_cfa; // "h.dwarf.cfa" + case 's': // 1 string to match. + if (memcmp(NameR.data()+3, "jlj.lsda", 8)) + break; + return Intrinsic::eh_sjlj_lsda; // "h.sjlj.lsda" + } + break; + case 12: // 3 strings to match. + if (memcmp(NameR.data()+0, "h.", 2)) + break; + switch (NameR[2]) { + default: break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+3, "eturn.i", 7)) + break; + switch (NameR[10]) { + default: break; + case '3': // 1 string to match. + if (NameR[11] != '2') + break; + return Intrinsic::eh_return_i32; // "h.return.i32" + case '6': // 1 string to match. + if (NameR[11] != '4') + break; + return Intrinsic::eh_return_i64; // "h.return.i64" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+3, "ypeid.for", 9)) + break; + return Intrinsic::eh_typeid_for; // "h.typeid.for" + } + break; + case 13: // 2 strings to match. + if (memcmp(NameR.data()+0, "h.", 2)) + break; + switch (NameR[2]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+3, "jlj.setjmp", 10)) + break; + return Intrinsic::eh_sjlj_setjmp; // "h.sjlj.setjmp" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+3, "nwind.init", 10)) + break; + return Intrinsic::eh_unwind_init; // "h.unwind.init" + } + break; + case 14: // 1 string to match. + if (memcmp(NameR.data()+0, "h.sjlj.longjmp", 14)) + break; + return Intrinsic::eh_sjlj_longjmp; // "h.sjlj.longjmp" + case 15: // 1 string to match. + if (memcmp(NameR.data()+0, "h.sjlj.callsite", 15)) + break; + return Intrinsic::eh_sjlj_callsite; // "h.sjlj.callsite" + case 20: // 1 string to match. + if (memcmp(NameR.data()+0, "xperimental.stackmap", 20)) + break; + return Intrinsic::experimental_stackmap; // "xperimental.stackmap" + case 22: // 1 string to match. + if (memcmp(NameR.data()+0, "h.sjlj.functioncontext", 22)) + break; + return Intrinsic::eh_sjlj_functioncontext; // "h.sjlj.functioncontext" + case 26: // 1 string to match. + if (memcmp(NameR.data()+0, "xperimental.patchpoint.i64", 26)) + break; + return Intrinsic::experimental_patchpoint_i64; // "xperimental.patchpoint.i64" + case 27: // 1 string to match. + if (memcmp(NameR.data()+0, "xperimental.patchpoint.void", 27)) + break; + return Intrinsic::experimental_patchpoint_void; // "xperimental.patchpoint.void" + } + break; // end of 'e' case. + case 'f': + if (NameR.startswith("muladd.")) return Intrinsic::fmuladd; + if (NameR.startswith("ma.")) return Intrinsic::fma; + if (NameR.startswith("loor.")) return Intrinsic::floor; + if (NameR.startswith("abs.")) return Intrinsic::fabs; + switch (NameR.size()) { + default: break; + case 9: // 1 string to match. + if (memcmp(NameR.data()+0, "lt.rounds", 9)) + break; + return Intrinsic::flt_rounds; // "lt.rounds" + case 11: // 1 string to match. + if (memcmp(NameR.data()+0, "rameaddress", 11)) + break; + return Intrinsic::frameaddress; // "rameaddress" + } + break; // end of 'f' case. + case 'g': + switch (NameR.size()) { + default: break; + case 5: // 2 strings to match. + if (memcmp(NameR.data()+0, "cr", 2)) + break; + switch (NameR[2]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+3, "ad", 2)) + break; + return Intrinsic::gcread; // "cread" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+3, "ot", 2)) + break; + return Intrinsic::gcroot; // "croot" + } + break; + case 6: // 1 string to match. + if (memcmp(NameR.data()+0, "cwrite", 6)) + break; + return Intrinsic::gcwrite; // "cwrite" + } + break; // end of 'g' case. + case 'h': + switch (NameR.size()) { + default: break; + case 12: // 2 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 1 string to match. + if (memcmp(NameR.data()+8, "2.or", 4)) + break; + return Intrinsic::hexagon_A2_or; // "exagon.A2.or" + case 'C': // 1 string to match. + if (memcmp(NameR.data()+8, "2.or", 4)) + break; + return Intrinsic::hexagon_C2_or; // "exagon.C2.or" + } + break; + case 13: // 23 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 13 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 12 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::hexagon_A2_abs; // "exagon.A2.abs" + case 'd': // 1 string to match. + if (NameR[12] != 'd') + break; + return Intrinsic::hexagon_A2_add; // "exagon.A2.add" + case 'n': // 1 string to match. + if (NameR[12] != 'd') + break; + return Intrinsic::hexagon_A2_and; // "exagon.A2.and" + } + break; + case 'm': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (NameR[12] != 'x') + break; + return Intrinsic::hexagon_A2_max; // "exagon.A2.max" + case 'i': // 1 string to match. + if (NameR[12] != 'n') + break; + return Intrinsic::hexagon_A2_min; // "exagon.A2.min" + } + break; + case 'n': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'e': // 1 string to match. + if (NameR[12] != 'g') + break; + return Intrinsic::hexagon_A2_neg; // "exagon.A2.neg" + case 'o': // 1 string to match. + if (NameR[12] != 't') + break; + return Intrinsic::hexagon_A2_not; // "exagon.A2.not" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "rp", 2)) + break; + return Intrinsic::hexagon_A2_orp; // "exagon.A2.orp" + case 's': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (NameR[12] != 't') + break; + return Intrinsic::hexagon_A2_sat; // "exagon.A2.sat" + case 'u': // 1 string to match. + if (NameR[12] != 'b') + break; + return Intrinsic::hexagon_A2_sub; // "exagon.A2.sub" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+11, "fr", 2)) + break; + return Intrinsic::hexagon_A2_tfr; // "exagon.A2.tfr" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "or", 2)) + break; + return Intrinsic::hexagon_A2_xor; // "exagon.A2.xor" + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".orn", 4)) + break; + return Intrinsic::hexagon_A4_orn; // "exagon.A4.orn" + } + break; + case 'C': // 5 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "nd", 2)) + break; + return Intrinsic::hexagon_C2_and; // "exagon.C2.and" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ux", 2)) + break; + return Intrinsic::hexagon_C2_mux; // "exagon.C2.mux" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, "ot", 2)) + break; + return Intrinsic::hexagon_C2_not; // "exagon.C2.not" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "rn", 2)) + break; + return Intrinsic::hexagon_C2_orn; // "exagon.C2.orn" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "or", 2)) + break; + return Intrinsic::hexagon_C2_xor; // "exagon.C2.xor" + } + break; + case 'S': // 5 strings to match. + if (memcmp(NameR.data()+8, "2.c", 3)) + break; + switch (NameR[11]) { + default: break; + case 'l': // 3 strings to match. + switch (NameR[12]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_S2_cl0; // "exagon.S2.cl0" + case '1': // 1 string to match. + return Intrinsic::hexagon_S2_cl1; // "exagon.S2.cl1" + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_clb; // "exagon.S2.clb" + } + break; + case 't': // 2 strings to match. + switch (NameR[12]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_S2_ct0; // "exagon.S2.ct0" + case '1': // 1 string to match. + return Intrinsic::hexagon_S2_ct1; // "exagon.S2.ct1" + } + break; + } + break; + } + break; + case 14: // 42 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 26 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 24 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+12, "sp", 2)) + break; + return Intrinsic::hexagon_A2_absp; // "exagon.A2.absp" + case 'd': // 2 strings to match. + if (NameR[12] != 'd') + break; + switch (NameR[13]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A2_addi; // "exagon.A2.addi" + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_addp; // "exagon.A2.addp" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+12, "dp", 2)) + break; + return Intrinsic::hexagon_A2_andp; // "exagon.A2.andp" + case 's': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'l': // 1 string to match. + if (NameR[13] != 'h') + break; + return Intrinsic::hexagon_A2_aslh; // "exagon.A2.aslh" + case 'r': // 1 string to match. + if (NameR[13] != 'h') + break; + return Intrinsic::hexagon_A2_asrh; // "exagon.A2.asrh" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[12] != 'x') + break; + switch (NameR[13]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_maxp; // "exagon.A2.maxp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A2_maxu; // "exagon.A2.maxu" + } + break; + case 'i': // 2 strings to match. + if (NameR[12] != 'n') + break; + switch (NameR[13]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_minp; // "exagon.A2.minp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A2_minu; // "exagon.A2.minu" + } + break; + } + break; + case 'n': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+12, "gp", 2)) + break; + return Intrinsic::hexagon_A2_negp; // "exagon.A2.negp" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+12, "tp", 2)) + break; + return Intrinsic::hexagon_A2_notp; // "exagon.A2.notp" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "rir", 3)) + break; + return Intrinsic::hexagon_A2_orir; // "exagon.A2.orir" + case 's': // 7 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[12] != 't') + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_satb; // "exagon.A2.satb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_sath; // "exagon.A2.sath" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, "bp", 2)) + break; + return Intrinsic::hexagon_A2_subp; // "exagon.A2.subp" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+12, "iz", 2)) + break; + return Intrinsic::hexagon_A2_swiz; // "exagon.A2.swiz" + case 'x': // 3 strings to match. + if (NameR[12] != 't') + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_sxtb; // "exagon.A2.sxtb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_sxth; // "exagon.A2.sxth" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_sxtw; // "exagon.A2.sxtw" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+11, "frp", 3)) + break; + return Intrinsic::hexagon_A2_tfrp; // "exagon.A2.tfrp" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "orp", 3)) + break; + return Intrinsic::hexagon_A2_xorp; // "exagon.A2.xorp" + case 'z': // 2 strings to match. + if (memcmp(NameR.data()+11, "xt", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_zxtb; // "exagon.A2.zxtb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_zxth; // "exagon.A2.zxth" + } + break; + } + break; + case '4': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "ndn", 3)) + break; + return Intrinsic::hexagon_A4_andn; // "exagon.A4.andn" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "rnp", 3)) + break; + return Intrinsic::hexagon_A4_ornp; // "exagon.A4.ornp" + } + break; + } + break; + case 'C': // 5 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+12, "l8", 2)) + break; + return Intrinsic::hexagon_C2_all8; // "exagon.C2.all8" + case 'n': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (NameR[13] != 'n') + break; + return Intrinsic::hexagon_C2_andn; // "exagon.C2.andn" + case 'y': // 1 string to match. + if (NameR[13] != '8') + break; + return Intrinsic::hexagon_C2_any8; // "exagon.C2.any8" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ask", 3)) + break; + return Intrinsic::hexagon_C2_mask; // "exagon.C2.mask" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "mux", 3)) + break; + return Intrinsic::hexagon_C2_vmux; // "exagon.C2.vmux" + } + break; + case 'M': // 3 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "cci", 3)) + break; + return Intrinsic::hexagon_M2_acci; // "exagon.M2.acci" + case 'm': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "ci", 2)) + break; + return Intrinsic::hexagon_M2_maci; // "exagon.M2.maci" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+12, "yi", 2)) + break; + return Intrinsic::hexagon_M2_mpyi; // "exagon.M2.mpyi" + } + break; + } + break; + case 'S': // 8 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 7 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+11, "rev", 3)) + break; + return Intrinsic::hexagon_S2_brev; // "exagon.S2.brev" + case 'c': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'l': // 3 strings to match. + switch (NameR[12]) { + default: break; + case '0': // 1 string to match. + if (NameR[13] != 'p') + break; + return Intrinsic::hexagon_S2_cl0p; // "exagon.S2.cl0p" + case '1': // 1 string to match. + if (NameR[13] != 'p') + break; + return Intrinsic::hexagon_S2_cl1p; // "exagon.S2.cl1p" + case 'b': // 1 string to match. + if (NameR[13] != 'p') + break; + return Intrinsic::hexagon_S2_clbp; // "exagon.S2.clbp" + } + break; + case 't': // 2 strings to match. + switch (NameR[12]) { + default: break; + case '0': // 1 string to match. + if (NameR[13] != 'p') + break; + return Intrinsic::hexagon_S2_ct0p; // "exagon.S2.ct0p" + case '1': // 1 string to match. + if (NameR[13] != 'p') + break; + return Intrinsic::hexagon_S2_ct1p; // "exagon.S2.ct1p" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+11, "fsp", 3)) + break; + return Intrinsic::hexagon_S2_lfsp; // "exagon.S2.lfsp" + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".lsli", 5)) + break; + return Intrinsic::hexagon_S4_lsli; // "exagon.S4.lsli" + } + break; + } + break; + case 15: // 58 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 27 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 26 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "dsp", 3)) + break; + return Intrinsic::hexagon_A2_addsp; // "exagon.A2.addsp" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+12, "dir", 3)) + break; + return Intrinsic::hexagon_A2_andir; // "exagon.A2.andir" + } + break; + case 'm': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "xup", 3)) + break; + return Intrinsic::hexagon_A2_maxup; // "exagon.A2.maxup" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+12, "nup", 3)) + break; + return Intrinsic::hexagon_A2_minup; // "exagon.A2.minup" + } + break; + case 's': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "tu", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_satub; // "exagon.A2.satub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_satuh; // "exagon.A2.satuh" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, "bri", 3)) + break; + return Intrinsic::hexagon_A2_subri; // "exagon.A2.subri" + } + break; + case 't': // 4 strings to match. + if (memcmp(NameR.data()+11, "fr", 2)) + break; + switch (NameR[13]) { + default: break; + case 'i': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_tfrih; // "exagon.A2.tfrih" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_tfril; // "exagon.A2.tfril" + } + break; + case 'p': // 1 string to match. + if (NameR[14] != 'i') + break; + return Intrinsic::hexagon_A2_tfrpi; // "exagon.A2.tfrpi" + case 's': // 1 string to match. + if (NameR[14] != 'i') + break; + return Intrinsic::hexagon_A2_tfrsi; // "exagon.A2.tfrsi" + } + break; + case 'v': // 15 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[12]) { + default: break; + case 'b': // 2 strings to match. + if (NameR[13] != 's') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vabsh; // "exagon.A2.vabsh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vabsw; // "exagon.A2.vabsw" + } + break; + case 'd': // 2 strings to match. + if (NameR[13] != 'd') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vaddh; // "exagon.A2.vaddh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vaddw; // "exagon.A2.vaddw" + } + break; + case 'v': // 2 strings to match. + if (NameR[13] != 'g') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vavgh; // "exagon.A2.vavgh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vavgw; // "exagon.A2.vavgw" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "onj", 3)) + break; + return Intrinsic::hexagon_A2_vconj; // "exagon.A2.vconj" + case 'm': // 6 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 3 strings to match. + if (NameR[13] != 'x') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxb; // "exagon.A2.vmaxb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxh; // "exagon.A2.vmaxh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxw; // "exagon.A2.vmaxw" + } + break; + case 'i': // 3 strings to match. + if (NameR[13] != 'n') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vminb; // "exagon.A2.vminb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vminh; // "exagon.A2.vminh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vminw; // "exagon.A2.vminw" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "ub", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vsubh; // "exagon.A2.vsubh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vsubw; // "exagon.A2.vsubw" + } + break; + } + break; + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".andnp", 6)) + break; + return Intrinsic::hexagon_A4_andnp; // "exagon.A4.andnp" + } + break; + case 'C': // 9 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 8 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (NameR[14] != 'q') + break; + return Intrinsic::hexagon_C2_cmpeq; // "exagon.C2.cmpeq" + case 'g': // 1 string to match. + if (NameR[14] != 't') + break; + return Intrinsic::hexagon_C2_cmpgt; // "exagon.C2.cmpgt" + case 'l': // 1 string to match. + if (NameR[14] != 't') + break; + return Intrinsic::hexagon_C2_cmplt; // "exagon.C2.cmplt" + } + break; + case 'm': // 3 strings to match. + if (memcmp(NameR.data()+11, "ux", 2)) + break; + switch (NameR[13]) { + default: break; + case 'i': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_muxii; // "exagon.C2.muxii" + case 'r': // 1 string to match. + return Intrinsic::hexagon_C2_muxir; // "exagon.C2.muxir" + } + break; + case 'r': // 1 string to match. + if (NameR[14] != 'i') + break; + return Intrinsic::hexagon_C2_muxri; // "exagon.C2.muxri" + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+11, "fr", 2)) + break; + switch (NameR[13]) { + default: break; + case 'p': // 1 string to match. + if (NameR[14] != 'r') + break; + return Intrinsic::hexagon_C2_tfrpr; // "exagon.C2.tfrpr" + case 'r': // 1 string to match. + if (NameR[14] != 'p') + break; + return Intrinsic::hexagon_C2_tfrrp; // "exagon.C2.tfrrp" + } + break; + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".or.or", 6)) + break; + return Intrinsic::hexagon_C4_or_or; // "exagon.C4.or.or" + } + break; + case 'F': // 14 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 7 strings to match. + if (NameR[11] != 'f') + break; + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "dd", 2)) + break; + return Intrinsic::hexagon_F2_dfadd; // "exagon.F2.dfadd" + case 'f': // 2 strings to match. + if (NameR[13] != 'm') + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + return Intrinsic::hexagon_F2_dffma; // "exagon.F2.dffma" + case 's': // 1 string to match. + return Intrinsic::hexagon_F2_dffms; // "exagon.F2.dffms" + } + break; + case 'm': // 3 strings to match. + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (NameR[14] != 'x') + break; + return Intrinsic::hexagon_F2_dfmax; // "exagon.F2.dfmax" + case 'i': // 1 string to match. + if (NameR[14] != 'n') + break; + return Intrinsic::hexagon_F2_dfmin; // "exagon.F2.dfmin" + case 'p': // 1 string to match. + if (NameR[14] != 'y') + break; + return Intrinsic::hexagon_F2_dfmpy; // "exagon.F2.dfmpy" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ub", 2)) + break; + return Intrinsic::hexagon_F2_dfsub; // "exagon.F2.dfsub" + } + break; + case 's': // 7 strings to match. + if (NameR[11] != 'f') + break; + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "dd", 2)) + break; + return Intrinsic::hexagon_F2_sfadd; // "exagon.F2.sfadd" + case 'f': // 2 strings to match. + if (NameR[13] != 'm') + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + return Intrinsic::hexagon_F2_sffma; // "exagon.F2.sffma" + case 's': // 1 string to match. + return Intrinsic::hexagon_F2_sffms; // "exagon.F2.sffms" + } + break; + case 'm': // 3 strings to match. + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (NameR[14] != 'x') + break; + return Intrinsic::hexagon_F2_sfmax; // "exagon.F2.sfmax" + case 'i': // 1 string to match. + if (NameR[14] != 'n') + break; + return Intrinsic::hexagon_F2_sfmin; // "exagon.F2.sfmin" + case 'p': // 1 string to match. + if (NameR[14] != 'y') + break; + return Intrinsic::hexagon_F2_sfmpy; // "exagon.F2.sfmpy" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ub", 2)) + break; + return Intrinsic::hexagon_F2_sfsub; // "exagon.F2.sfsub" + } + break; + } + break; + case 'M': // 6 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "ccii", 4)) + break; + return Intrinsic::hexagon_M2_accii; // "exagon.M2.accii" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "pyui", 4)) + break; + return Intrinsic::hexagon_M2_mpyui; // "exagon.M2.mpyui" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, "acci", 4)) + break; + return Intrinsic::hexagon_M2_nacci; // "exagon.M2.nacci" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "mac2", 4)) + break; + return Intrinsic::hexagon_M2_vmac2; // "exagon.M2.vmac2" + } + break; + case '4': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.or", 4)) + break; + return Intrinsic::hexagon_M4_or_or; // "exagon.M4.or.or" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, "mpyw", 4)) + break; + return Intrinsic::hexagon_M4_pmpyw; // "exagon.M4.pmpyw" + } + break; + } + break; + case 'S': // 1 string to match. + if (memcmp(NameR.data()+8, "2.brevp", 7)) + break; + return Intrinsic::hexagon_S2_brevp; // "exagon.S2.brevp" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+8, "irc.ldd", 7)) + break; + return Intrinsic::hexagon_circ_ldd; // "exagon.circ.ldd" + } + break; + case 16: // 70 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 35 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 26 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+12, "ssat", 4)) + break; + return Intrinsic::hexagon_A2_abssat; // "exagon.A2.abssat" + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "dsat", 4)) + break; + return Intrinsic::hexagon_A2_addsat; // "exagon.A2.addsat" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, "egsat", 5)) + break; + return Intrinsic::hexagon_A2_negsat; // "exagon.A2.negsat" + case 's': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, "bsat", 4)) + break; + return Intrinsic::hexagon_A2_subsat; // "exagon.A2.subsat" + case 'v': // 3 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, "dh", 2)) + break; + return Intrinsic::hexagon_A2_svaddh; // "exagon.A2.svaddh" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+14, "gh", 2)) + break; + return Intrinsic::hexagon_A2_svavgh; // "exagon.A2.svavgh" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ubh", 3)) + break; + return Intrinsic::hexagon_A2_svsubh; // "exagon.A2.svsubh" + } + break; + } + break; + case 'v': // 19 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 8 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 3 strings to match. + if (NameR[13] != 'd') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (NameR[15] != 's') + break; + return Intrinsic::hexagon_A2_vaddhs; // "exagon.A2.vaddhs" + case 'u': // 1 string to match. + if (NameR[15] != 'b') + break; + return Intrinsic::hexagon_A2_vaddub; // "exagon.A2.vaddub" + case 'w': // 1 string to match. + if (NameR[15] != 's') + break; + return Intrinsic::hexagon_A2_vaddws; // "exagon.A2.vaddws" + } + break; + case 'v': // 5 strings to match. + if (NameR[13] != 'g') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (NameR[15] != 'r') + break; + return Intrinsic::hexagon_A2_vavghr; // "exagon.A2.vavghr" + case 'u': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vavgub; // "exagon.A2.vavgub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vavguh; // "exagon.A2.vavguh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vavguw; // "exagon.A2.vavguw" + } + break; + case 'w': // 1 string to match. + if (NameR[15] != 'r') + break; + return Intrinsic::hexagon_A2_vavgwr; // "exagon.A2.vavgwr" + } + break; + } + break; + case 'm': // 6 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+13, "xu", 2)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxub; // "exagon.A2.vmaxub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxuh; // "exagon.A2.vmaxuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxuw; // "exagon.A2.vmaxuw" + } + break; + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+13, "nu", 2)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vminub; // "exagon.A2.vminub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vminuh; // "exagon.A2.vminuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vminuw; // "exagon.A2.vminuw" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "avg", 3)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vnavgh; // "exagon.A2.vnavgh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vnavgw; // "exagon.A2.vnavgw" + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+12, "ub", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (NameR[15] != 's') + break; + return Intrinsic::hexagon_A2_vsubhs; // "exagon.A2.vsubhs" + case 'u': // 1 string to match. + if (NameR[15] != 'b') + break; + return Intrinsic::hexagon_A2_vsubub; // "exagon.A2.vsubub" + case 'w': // 1 string to match. + if (NameR[15] != 's') + break; + return Intrinsic::hexagon_A2_vsubws; // "exagon.A2.vsubws" + } + break; + } + break; + } + break; + case '4': // 9 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::hexagon_A4_cmpbeq; // "exagon.A4.cmpbeq" + case 'g': // 1 string to match. + if (NameR[15] != 't') + break; + return Intrinsic::hexagon_A4_cmpbgt; // "exagon.A4.cmpbgt" + } + break; + case 'h': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::hexagon_A4_cmpheq; // "exagon.A4.cmpheq" + case 'g': // 1 string to match. + if (NameR[15] != 't') + break; + return Intrinsic::hexagon_A4_cmphgt; // "exagon.A4.cmphgt" + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+11, "cmpeq", 5)) + break; + return Intrinsic::hexagon_A4_rcmpeq; // "exagon.A4.rcmpeq" + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+11, "rm", 2)) + break; + switch (NameR[13]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[14] != 'x') + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxh; // "exagon.A4.vrmaxh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxw; // "exagon.A4.vrmaxw" + } + break; + case 'i': // 2 strings to match. + if (NameR[14] != 'n') + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrminh; // "exagon.A4.vrminh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrminw; // "exagon.A4.vrminw" + } + break; + } + break; + } + break; + } + break; + case 'C': // 12 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+9, ".cmp", 4)) + break; + switch (NameR[13]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[14] != 'q') + break; + switch (NameR[15]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpeqi; // "exagon.C2.cmpeqi" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpeqp; // "exagon.C2.cmpeqp" + } + break; + case 'g': // 4 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (NameR[15] != 'i') + break; + return Intrinsic::hexagon_C2_cmpgei; // "exagon.C2.cmpgei" + case 't': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgti; // "exagon.C2.cmpgti" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtp; // "exagon.C2.cmpgtp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtu; // "exagon.C2.cmpgtu" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "tu", 2)) + break; + return Intrinsic::hexagon_C2_cmpltu; // "exagon.C2.cmpltu" + } + break; + case '4': // 5 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "nd.or", 5)) + break; + return Intrinsic::hexagon_C4_and_or; // "exagon.C4.and.or" + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "te", 2)) + break; + return Intrinsic::hexagon_C4_cmplte; // "exagon.C4.cmplte" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+14, "eq", 2)) + break; + return Intrinsic::hexagon_C4_cmpneq; // "exagon.C4.cmpneq" + } + break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+11, "r.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "nd", 2)) + break; + return Intrinsic::hexagon_C4_or_and; // "exagon.C4.or.and" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+14, "rn", 2)) + break; + return Intrinsic::hexagon_C4_or_orn; // "exagon.C4.or.orn" + } + break; + } + break; + } + break; + case 'M': // 12 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 7 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'm': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "csi", 3)) + break; + switch (NameR[15]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_M2_macsin; // "exagon.M2.macsin" + case 'p': // 1 string to match. + return Intrinsic::hexagon_M2_macsip; // "exagon.M2.macsip" + } + break; + case 'p': // 2 strings to match. + if (NameR[12] != 'y') + break; + switch (NameR[13]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+14, "up", 2)) + break; + return Intrinsic::hexagon_M2_mpy_up; // "exagon.M2.mpy.up" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, "mi", 2)) + break; + return Intrinsic::hexagon_M2_mpysmi; // "exagon.M2.mpysmi" + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, "accii", 5)) + break; + return Intrinsic::hexagon_M2_naccii; // "exagon.M2.naccii" + case 's': // 1 string to match. + if (memcmp(NameR.data()+11, "ubacc", 5)) + break; + return Intrinsic::hexagon_M2_subacc; // "exagon.M2.subacc" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "raddh", 5)) + break; + return Intrinsic::hexagon_M2_vraddh; // "exagon.M2.vraddh" + } + break; + case '4': // 5 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "nd.or", 5)) + break; + return Intrinsic::hexagon_M4_and_or; // "exagon.M4.and.or" + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+11, "r.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "nd", 2)) + break; + return Intrinsic::hexagon_M4_or_and; // "exagon.M4.or.and" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+14, "or", 2)) + break; + return Intrinsic::hexagon_M4_or_xor; // "exagon.M4.or.xor" + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "pmpyh", 5)) + break; + return Intrinsic::hexagon_M4_vpmpyh; // "exagon.M4.vpmpyh" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "or.or", 5)) + break; + return Intrinsic::hexagon_M4_xor_or; // "exagon.M4.xor.or" + } + break; + } + break; + case 'S': // 11 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 9 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+11, "nsert", 5)) + break; + return Intrinsic::hexagon_S2_insert; // "exagon.S2.insert" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, "ackhl", 5)) + break; + return Intrinsic::hexagon_S2_packhl; // "exagon.S2.packhl" + case 'v': // 7 strings to match. + switch (NameR[11]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "negh", 4)) + break; + return Intrinsic::hexagon_S2_vcnegh; // "exagon.S2.vcnegh" + case 's': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[13] != 't') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (NameR[15] != 'b') + break; + return Intrinsic::hexagon_S2_vsathb; // "exagon.S2.vsathb" + case 'w': // 1 string to match. + if (NameR[15] != 'h') + break; + return Intrinsic::hexagon_S2_vsatwh; // "exagon.S2.vsatwh" + } + break; + case 'x': // 2 strings to match. + if (NameR[13] != 't') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (NameR[15] != 'h') + break; + return Intrinsic::hexagon_S2_vsxtbh; // "exagon.S2.vsxtbh" + case 'h': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::hexagon_S2_vsxthw; // "exagon.S2.vsxthw" + } + break; + } + break; + case 'z': // 2 strings to match. + if (memcmp(NameR.data()+12, "xt", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (NameR[15] != 'h') + break; + return Intrinsic::hexagon_S2_vzxtbh; // "exagon.S2.vzxtbh" + case 'h': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::hexagon_S2_vzxthw; // "exagon.S2.vzxthw" + } + break; + } + break; + } + break; + case '4': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.ori", 5)) + break; + return Intrinsic::hexagon_S4_or_ori; // "exagon.S4.or.ori" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, "arity", 5)) + break; + return Intrinsic::hexagon_S4_parity; // "exagon.S4.parity" + } + break; + } + break; + } + break; + case 17: // 103 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 36 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 23 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "ddpsat", 6)) + break; + return Intrinsic::hexagon_A2_addpsat; // "exagon.A2.addpsat" + case 's': // 4 strings to match. + if (NameR[11] != 'v') + break; + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, "dhs", 3)) + break; + return Intrinsic::hexagon_A2_svaddhs; // "exagon.A2.svaddhs" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+14, "ghs", 3)) + break; + return Intrinsic::hexagon_A2_svavghs; // "exagon.A2.svavghs" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+13, "avgh", 4)) + break; + return Intrinsic::hexagon_A2_svnavgh; // "exagon.A2.svnavgh" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ubhs", 4)) + break; + return Intrinsic::hexagon_A2_svsubhs; // "exagon.A2.svsubhs" + } + break; + case 'v': // 18 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 7 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+13, "du", 2)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + if (NameR[16] != 's') + break; + return Intrinsic::hexagon_A2_vaddubs; // "exagon.A2.vaddubs" + case 'h': // 1 string to match. + if (NameR[16] != 's') + break; + return Intrinsic::hexagon_A2_vadduhs; // "exagon.A2.vadduhs" + } + break; + case 'v': // 5 strings to match. + if (NameR[13] != 'g') + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vavghcr; // "exagon.A2.vavghcr" + case 'u': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + if (NameR[16] != 'r') + break; + return Intrinsic::hexagon_A2_vavgubr; // "exagon.A2.vavgubr" + case 'h': // 1 string to match. + if (NameR[16] != 'r') + break; + return Intrinsic::hexagon_A2_vavguhr; // "exagon.A2.vavguhr" + case 'w': // 1 string to match. + if (NameR[16] != 'r') + break; + return Intrinsic::hexagon_A2_vavguwr; // "exagon.A2.vavguwr" + } + break; + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vavgwcr; // "exagon.A2.vavgwcr" + } + break; + } + break; + case 'c': // 5 strings to match. + if (memcmp(NameR.data()+12, "mp", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+15, "eq", 2)) + break; + return Intrinsic::hexagon_A2_vcmpbeq; // "exagon.A2.vcmpbeq" + case 'h': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::hexagon_A2_vcmpheq; // "exagon.A2.vcmpheq" + case 'g': // 1 string to match. + if (NameR[16] != 't') + break; + return Intrinsic::hexagon_A2_vcmphgt; // "exagon.A2.vcmphgt" + } + break; + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::hexagon_A2_vcmpweq; // "exagon.A2.vcmpweq" + case 'g': // 1 string to match. + if (NameR[16] != 't') + break; + return Intrinsic::hexagon_A2_vcmpwgt; // "exagon.A2.vcmpwgt" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "avg", 3)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + if (NameR[16] != 'r') + break; + return Intrinsic::hexagon_A2_vnavghr; // "exagon.A2.vnavghr" + case 'w': // 1 string to match. + if (NameR[16] != 'r') + break; + return Intrinsic::hexagon_A2_vnavgwr; // "exagon.A2.vnavgwr" + } + break; + case 'r': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "ddub", 4)) + break; + return Intrinsic::hexagon_A2_vraddub; // "exagon.A2.vraddub" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "adub", 4)) + break; + return Intrinsic::hexagon_A2_vrsadub; // "exagon.A2.vrsadub" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "ubu", 3)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + if (NameR[16] != 's') + break; + return Intrinsic::hexagon_A2_vsububs; // "exagon.A2.vsububs" + case 'h': // 1 string to match. + if (NameR[16] != 's') + break; + return Intrinsic::hexagon_A2_vsubuhs; // "exagon.A2.vsubuhs" + } + break; + } + break; + } + break; + case '4': // 13 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 6 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, "qi", 2)) + break; + return Intrinsic::hexagon_A4_cmpbeqi; // "exagon.A4.cmpbeqi" + case 'g': // 2 strings to match. + if (NameR[15] != 't') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cmpbgti; // "exagon.A4.cmpbgti" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A4_cmpbgtu; // "exagon.A4.cmpbgtu" + } + break; + } + break; + case 'h': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, "qi", 2)) + break; + return Intrinsic::hexagon_A4_cmpheqi; // "exagon.A4.cmpheqi" + case 'g': // 2 strings to match. + if (NameR[15] != 't') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cmphgti; // "exagon.A4.cmphgti" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A4_cmphgtu; // "exagon.A4.cmphgtu" + } + break; + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+11, "cmp", 3)) + break; + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, "qi", 2)) + break; + return Intrinsic::hexagon_A4_rcmpeqi; // "exagon.A4.rcmpeqi" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+15, "eq", 2)) + break; + return Intrinsic::hexagon_A4_rcmpneq; // "exagon.A4.rcmpneq" + } + break; + case 'v': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "mpbgt", 5)) + break; + return Intrinsic::hexagon_A4_vcmpbgt; // "exagon.A4.vcmpbgt" + case 'r': // 4 strings to match. + if (NameR[12] != 'm') + break; + switch (NameR[13]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+14, "xu", 2)) + break; + switch (NameR[16]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxuh; // "exagon.A4.vrmaxuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxuw; // "exagon.A4.vrmaxuw" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+14, "nu", 2)) + break; + switch (NameR[16]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrminuh; // "exagon.A4.vrminuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrminuw; // "exagon.A4.vrminuw" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'C': // 12 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 6 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+11, "its", 3)) + break; + switch (NameR[14]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+15, "lr", 2)) + break; + return Intrinsic::hexagon_C2_bitsclr; // "exagon.C2.bitsclr" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, "et", 2)) + break; + return Intrinsic::hexagon_C2_bitsset; // "exagon.C2.bitsset" + } + break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+11, "mpg", 3)) + break; + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, "ui", 2)) + break; + return Intrinsic::hexagon_C2_cmpgeui; // "exagon.C2.cmpgeui" + case 't': // 2 strings to match. + if (NameR[15] != 'u') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtui; // "exagon.C2.cmpgtui" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtup; // "exagon.C2.cmpgtup" + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "itpack", 6)) + break; + return Intrinsic::hexagon_C2_vitpack; // "exagon.C2.vitpack" + } + break; + case '4': // 6 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "nd.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "nd", 2)) + break; + return Intrinsic::hexagon_C4_and_and; // "exagon.C4.and.and" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+15, "rn", 2)) + break; + return Intrinsic::hexagon_C4_and_orn; // "exagon.C4.and.orn" + } + break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+14, "te", 2)) + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C4_cmpltei; // "exagon.C4.cmpltei" + case 'u': // 1 string to match. + return Intrinsic::hexagon_C4_cmplteu; // "exagon.C4.cmplteu" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+14, "eqi", 3)) + break; + return Intrinsic::hexagon_C4_cmpneqi; // "exagon.C4.cmpneqi" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.andn", 6)) + break; + return Intrinsic::hexagon_C4_or_andn; // "exagon.C4.or.andn" + } + break; + } + break; + case 'F': // 14 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 7 strings to match. + if (NameR[11] != 'f') + break; + switch (NameR[12]) { + default: break; + case 'c': // 5 strings to match. + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "ass", 3)) + break; + return Intrinsic::hexagon_F2_dfclass; // "exagon.F2.dfclass" + case 'm': // 4 strings to match. + if (NameR[14] != 'p') + break; + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::hexagon_F2_dfcmpeq; // "exagon.F2.dfcmpeq" + case 'g': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::hexagon_F2_dfcmpge; // "exagon.F2.dfcmpge" + case 't': // 1 string to match. + return Intrinsic::hexagon_F2_dfcmpgt; // "exagon.F2.dfcmpgt" + } + break; + case 'u': // 1 string to match. + if (NameR[16] != 'o') + break; + return Intrinsic::hexagon_F2_dfcmpuo; // "exagon.F2.dfcmpuo" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+13, "mm.", 3)) + break; + switch (NameR[16]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_dfimm_n; // "exagon.F2.dfimm.n" + case 'p': // 1 string to match. + return Intrinsic::hexagon_F2_dfimm_p; // "exagon.F2.dfimm.p" + } + break; + } + break; + case 's': // 7 strings to match. + if (NameR[11] != 'f') + break; + switch (NameR[12]) { + default: break; + case 'c': // 5 strings to match. + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "ass", 3)) + break; + return Intrinsic::hexagon_F2_sfclass; // "exagon.F2.sfclass" + case 'm': // 4 strings to match. + if (NameR[14] != 'p') + break; + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::hexagon_F2_sfcmpeq; // "exagon.F2.sfcmpeq" + case 'g': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::hexagon_F2_sfcmpge; // "exagon.F2.sfcmpge" + case 't': // 1 string to match. + return Intrinsic::hexagon_F2_sfcmpgt; // "exagon.F2.sfcmpgt" + } + break; + case 'u': // 1 string to match. + if (NameR[16] != 'o') + break; + return Intrinsic::hexagon_F2_sfcmpuo; // "exagon.F2.sfcmpuo" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+13, "mm.", 3)) + break; + switch (NameR[16]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_sfimm_n; // "exagon.F2.sfimm.n" + case 'p': // 1 string to match. + return Intrinsic::hexagon_F2_sfimm_p; // "exagon.F2.sfimm.p" + } + break; + } + break; + } + break; + case 'M': // 11 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 3 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "pyu.up", 6)) + break; + return Intrinsic::hexagon_M2_mpyu_up; // "exagon.M2.mpyu.up" + case 'v': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+12, "ac2es", 5)) + break; + return Intrinsic::hexagon_M2_vmac2es; // "exagon.M2.vmac2es" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "adduh", 5)) + break; + return Intrinsic::hexagon_M2_vradduh; // "exagon.M2.vradduh" + } + break; + } + break; + case '4': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "nd.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "nd", 2)) + break; + return Intrinsic::hexagon_M4_and_and; // "exagon.M4.and.and" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+15, "or", 2)) + break; + return Intrinsic::hexagon_M4_and_xor; // "exagon.M4.and.xor" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.andn", 6)) + break; + return Intrinsic::hexagon_M4_or_andn; // "exagon.M4.or.andn" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "or.and", 6)) + break; + return Intrinsic::hexagon_M4_xor_and; // "exagon.M4.xor.and" + } + break; + case '5': // 4 strings to match. + if (memcmp(NameR.data()+9, ".vm", 3)) + break; + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+13, "cb", 2)) + break; + switch (NameR[15]) { + default: break; + case 's': // 1 string to match. + if (NameR[16] != 'u') + break; + return Intrinsic::hexagon_M5_vmacbsu; // "exagon.M5.vmacbsu" + case 'u': // 1 string to match. + if (NameR[16] != 'u') + break; + return Intrinsic::hexagon_M5_vmacbuu; // "exagon.M5.vmacbuu" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+13, "yb", 2)) + break; + switch (NameR[15]) { + default: break; + case 's': // 1 string to match. + if (NameR[16] != 'u') + break; + return Intrinsic::hexagon_M5_vmpybsu; // "exagon.M5.vmpybsu" + case 'u': // 1 string to match. + if (NameR[16] != 'u') + break; + return Intrinsic::hexagon_M5_vmpybuu; // "exagon.M5.vmpybuu" + } + break; + } + break; + } + break; + case 'S': // 30 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 25 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 8 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_p; // "exagon.S2.asl.i.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_r; // "exagon.S2.asl.i.r" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_p; // "exagon.S2.asl.r.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_r; // "exagon.S2.asl.r.r" + } + break; + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_p; // "exagon.S2.asr.i.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_r; // "exagon.S2.asr.i.r" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_p; // "exagon.S2.asr.r.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_r; // "exagon.S2.asr.r.r" + } + break; + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+11, "lbnorm", 6)) + break; + return Intrinsic::hexagon_S2_clbnorm; // "exagon.S2.clbnorm" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+11, "nsertp", 6)) + break; + return Intrinsic::hexagon_S2_insertp; // "exagon.S2.insertp" + case 'l': // 6 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+13, ".r.", 3)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_p; // "exagon.S2.lsl.r.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_r; // "exagon.S2.lsl.r.r" + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_p; // "exagon.S2.lsr.i.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_r; // "exagon.S2.lsr.i.r" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_p; // "exagon.S2.lsr.r.p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_r; // "exagon.S2.lsr.r.r" + } + break; + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, "arityp", 6)) + break; + return Intrinsic::hexagon_S2_parityp; // "exagon.S2.parityp" + case 's': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(NameR.data()+12, "uff", 3)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_shuffeb; // "exagon.S2.shuffeb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_shuffeh; // "exagon.S2.shuffeh" + } + break; + case 'o': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_shuffob; // "exagon.S2.shuffob" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_shuffoh; // "exagon.S2.shuffoh" + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+12, "sathb", 5)) + break; + return Intrinsic::hexagon_S2_svsathb; // "exagon.S2.svsathb" + } + break; + case 'v': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "cnegh", 5)) + break; + return Intrinsic::hexagon_S2_vrcnegh; // "exagon.S2.vrcnegh" + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "at", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "ub", 2)) + break; + return Intrinsic::hexagon_S2_vsathub; // "exagon.S2.vsathub" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "uh", 2)) + break; + return Intrinsic::hexagon_S2_vsatwuh; // "exagon.S2.vsatwuh" + } + break; + } + break; + } + break; + case '4': // 5 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "ddaddi", 6)) + break; + return Intrinsic::hexagon_S4_addaddi; // "exagon.S4.addaddi" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+11, "lbaddi", 6)) + break; + return Intrinsic::hexagon_S4_clbaddi; // "exagon.S4.clbaddi" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtract", 6)) + break; + return Intrinsic::hexagon_S4_extract; // "exagon.S4.extract" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.andi", 6)) + break; + return Intrinsic::hexagon_S4_or_andi; // "exagon.S4.or.andi" + case 's': // 1 string to match. + if (memcmp(NameR.data()+11, "ubaddi", 6)) + break; + return Intrinsic::hexagon_S4_subaddi; // "exagon.S4.subaddi" + } + break; + } + break; + } + break; + case 18: // 103 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 26 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 11 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+11, "ombinew", 7)) + break; + return Intrinsic::hexagon_A2_combinew; // "exagon.A2.combinew" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+11, "oundsat", 7)) + break; + return Intrinsic::hexagon_A2_roundsat; // "exagon.A2.roundsat" + case 's': // 2 strings to match. + if (NameR[11] != 'v') + break; + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "dduhs", 5)) + break; + return Intrinsic::hexagon_A2_svadduhs; // "exagon.A2.svadduhs" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ubuhs", 5)) + break; + return Intrinsic::hexagon_A2_svsubuhs; // "exagon.A2.svsubuhs" + } + break; + case 'v': // 7 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "bs", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "sat", 3)) + break; + return Intrinsic::hexagon_A2_vabshsat; // "exagon.A2.vabshsat" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "sat", 3)) + break; + return Intrinsic::hexagon_A2_vabswsat; // "exagon.A2.vabswsat" + } + break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+12, "mp", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+15, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmpbgtu; // "exagon.A2.vcmpbgtu" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmphgtu; // "exagon.A2.vcmphgtu" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmpwgtu; // "exagon.A2.vcmpwgtu" + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "avg", 3)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+16, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vnavghcr; // "exagon.A2.vnavghcr" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+16, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vnavgwcr; // "exagon.A2.vnavgwcr" + } + break; + } + break; + } + break; + case '4': // 14 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+11, "itsplit", 7)) + break; + return Intrinsic::hexagon_A4_bitsplit; // "exagon.A4.bitsplit" + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "mp", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+14, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_cmpbgtui; // "exagon.A4.cmpbgtui" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+14, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_cmphgtui; // "exagon.A4.cmphgtui" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "odwrapu", 7)) + break; + return Intrinsic::hexagon_A4_modwrapu; // "exagon.A4.modwrapu" + case 'r': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "mpneqi", 6)) + break; + return Intrinsic::hexagon_A4_rcmpneqi; // "exagon.A4.rcmpneqi" + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+12, "und.r", 5)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_round_ri; // "exagon.A4.round.ri" + case 'r': // 1 string to match. + return Intrinsic::hexagon_A4_round_rr; // "exagon.A4.round.rr" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+11, "lbmatch", 7)) + break; + return Intrinsic::hexagon_A4_tlbmatch; // "exagon.A4.tlbmatch" + case 'v': // 6 strings to match. + if (memcmp(NameR.data()+11, "cmp", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+16, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpbeqi; // "exagon.A4.vcmpbeqi" + case 'g': // 1 string to match. + if (memcmp(NameR.data()+16, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmpbgti; // "exagon.A4.vcmpbgti" + } + break; + case 'h': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+16, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpheqi; // "exagon.A4.vcmpheqi" + case 'g': // 1 string to match. + if (memcmp(NameR.data()+16, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmphgti; // "exagon.A4.vcmphgti" + } + break; + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+16, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpweqi; // "exagon.A4.vcmpweqi" + case 'g': // 1 string to match. + if (memcmp(NameR.data()+16, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmpwgti; // "exagon.A4.vcmpwgti" + } + break; + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(NameR.data()+9, ".vaddhubs", 9)) + break; + return Intrinsic::hexagon_A5_vaddhubs; // "exagon.A5.vaddhubs" + } + break; + case 'C': // 5 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+9, ".bitsclri", 9)) + break; + return Intrinsic::hexagon_C2_bitsclri; // "exagon.C2.bitsclri" + case '4': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "nd.andn", 7)) + break; + return Intrinsic::hexagon_C4_and_andn; // "exagon.C4.and.andn" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+11, "mplteui", 7)) + break; + return Intrinsic::hexagon_C4_cmplteui; // "exagon.C4.cmplteui" + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+11, "bits", 4)) + break; + switch (NameR[15]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+16, "lr", 2)) + break; + return Intrinsic::hexagon_C4_nbitsclr; // "exagon.C4.nbitsclr" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, "et", 2)) + break; + return Intrinsic::hexagon_C4_nbitsset; // "exagon.C4.nbitsset" + } + break; + } + break; + } + break; + case 'F': // 8 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+11, "ff", 2)) + break; + switch (NameR[13]) { + default: break; + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+14, "xup", 3)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupd; // "exagon.F2.dffixupd" + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupn; // "exagon.F2.dffixupn" + case 'r': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupr; // "exagon.F2.dffixupr" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+14, "a.sc", 4)) + break; + return Intrinsic::hexagon_F2_dffma_sc; // "exagon.F2.dffma.sc" + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+11, "ff", 2)) + break; + switch (NameR[13]) { + default: break; + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+14, "xup", 3)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupd; // "exagon.F2.sffixupd" + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupn; // "exagon.F2.sffixupn" + case 'r': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupr; // "exagon.F2.sffixupr" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+14, "a.sc", 4)) + break; + return Intrinsic::hexagon_F2_sffma_sc; // "exagon.F2.sffma.sc" + } + break; + } + break; + case 'M': // 29 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 18 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 10 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 8 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[13] != 'c') + break; + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+15, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_cmaci_s0; // "exagon.M2.cmaci.s0" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+15, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_cmacr_s0; // "exagon.M2.cmacr.s0" + case 's': // 2 strings to match. + if (memcmp(NameR.data()+15, ".s", 2)) + break; + switch (NameR[17]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmacs_s0; // "exagon.M2.cmacs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmacs_s1; // "exagon.M2.cmacs.s1" + } + break; + } + break; + case 'p': // 4 strings to match. + if (NameR[13] != 'y') + break; + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+15, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_cmpyi_s0; // "exagon.M2.cmpyi.s0" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+15, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_cmpyr_s0; // "exagon.M2.cmpyr.s0" + case 's': // 2 strings to match. + if (memcmp(NameR.data()+15, ".s", 2)) + break; + switch (NameR[17]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpys_s0; // "exagon.M2.cmpys.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpys_s1; // "exagon.M2.cmpys.s1" + } + break; + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "acs.s", 5)) + break; + switch (NameR[17]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cnacs_s0; // "exagon.M2.cnacs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cnacs_s1; // "exagon.M2.cnacs.s1" + } + break; + } + break; + case 'm': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+12, "py", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+15, ".s", 2)) + break; + switch (NameR[17]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_s0; // "exagon.M2.mmpyh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_s1; // "exagon.M2.mmpyh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+15, ".s", 2)) + break; + switch (NameR[17]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_s0; // "exagon.M2.mmpyl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_s1; // "exagon.M2.mmpyl.s1" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+12, "ysu.up", 6)) + break; + return Intrinsic::hexagon_M2_mpysu_up; // "exagon.M2.mpysu.up" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "rm", 2)) + break; + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "c.s0", 4)) + break; + return Intrinsic::hexagon_M2_vrmac_s0; // "exagon.M2.vrmac.s0" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+14, "y.s0", 4)) + break; + return Intrinsic::hexagon_M2_vrmpy_s0; // "exagon.M2.vrmpy.s0" + } + break; + case 'x': // 1 string to match. + if (memcmp(NameR.data()+11, "or.xacc", 7)) + break; + return Intrinsic::hexagon_M2_xor_xacc; // "exagon.M2.xor.xacc" + } + break; + case '4': // 5 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "nd.andn", 7)) + break; + return Intrinsic::hexagon_M4_and_andn; // "exagon.M4.and.andn" + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "mpy", 3)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+15, ".wh", 3)) + break; + return Intrinsic::hexagon_M4_cmpyi_wh; // "exagon.M4.cmpyi.wh" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+15, ".wh", 3)) + break; + return Intrinsic::hexagon_M4_cmpyr_wh; // "exagon.M4.cmpyr.wh" + } + break; + case 'x': // 2 strings to match. + if (memcmp(NameR.data()+11, "or.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "ndn", 3)) + break; + return Intrinsic::hexagon_M4_xor_andn; // "exagon.M4.xor.andn" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+15, "acc", 3)) + break; + return Intrinsic::hexagon_M4_xor_xacc; // "exagon.M4.xor.xacc" + } + break; + } + break; + case '5': // 6 strings to match. + if (memcmp(NameR.data()+9, ".v", 2)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[12] != 'm') + break; + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "cbsu", 4)) + break; + return Intrinsic::hexagon_M5_vdmacbsu; // "exagon.M5.vdmacbsu" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+14, "ybsu", 4)) + break; + return Intrinsic::hexagon_M5_vdmpybsu; // "exagon.M5.vdmpybsu" + } + break; + case 'r': // 4 strings to match. + if (NameR[12] != 'm') + break; + switch (NameR[13]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+14, "cb", 2)) + break; + switch (NameR[16]) { + default: break; + case 's': // 1 string to match. + if (NameR[17] != 'u') + break; + return Intrinsic::hexagon_M5_vrmacbsu; // "exagon.M5.vrmacbsu" + case 'u': // 1 string to match. + if (NameR[17] != 'u') + break; + return Intrinsic::hexagon_M5_vrmacbuu; // "exagon.M5.vrmacbuu" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+14, "yb", 2)) + break; + switch (NameR[16]) { + default: break; + case 's': // 1 string to match. + if (NameR[17] != 'u') + break; + return Intrinsic::hexagon_M5_vrmpybsu; // "exagon.M5.vrmpybsu" + case 'u': // 1 string to match. + if (NameR[17] != 'u') + break; + return Intrinsic::hexagon_M5_vrmpybuu; // "exagon.M5.vrmpybuu" + } + break; + } + break; + } + break; + } + break; + case 'S': // 35 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 31 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 8 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_vh; // "exagon.S2.asl.i.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_vw; // "exagon.S2.asl.i.vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_vh; // "exagon.S2.asl.r.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_vw; // "exagon.S2.asl.r.vw" + } + break; + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_vh; // "exagon.S2.asr.i.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_vw; // "exagon.S2.asr.i.vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_vh; // "exagon.S2.asr.r.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_vw; // "exagon.S2.asr.r.vw" + } + break; + } + break; + } + break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "lrbit.", 6)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_clrbit_i; // "exagon.S2.clrbit.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_clrbit_r; // "exagon.S2.clrbit.r" + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractu", 7)) + break; + return Intrinsic::hexagon_S2_extractu; // "exagon.S2.extractu" + case 'l': // 6 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+13, ".r.v", 4)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_vh; // "exagon.S2.lsl.r.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_vw; // "exagon.S2.lsl.r.vw" + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_vh; // "exagon.S2.lsr.i.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_vw; // "exagon.S2.lsr.i.vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+15, ".v", 2)) + break; + switch (NameR[17]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_vh; // "exagon.S2.lsr.r.vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_vw; // "exagon.S2.lsr.r.vw" + } + break; + } + break; + } + break; + case 's': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+12, "tbit.", 5)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_setbit_i; // "exagon.S2.setbit.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_setbit_r; // "exagon.S2.setbit.r" + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+12, "sathub", 6)) + break; + return Intrinsic::hexagon_S2_svsathub; // "exagon.S2.svsathub" + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+11, "stbit.", 6)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_tstbit_i; // "exagon.S2.tstbit.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_tstbit_r; // "exagon.S2.tstbit.r" + } + break; + case 'v': // 9 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "lign", 4)) + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + if (NameR[17] != 'b') + break; + return Intrinsic::hexagon_S2_valignib; // "exagon.S2.valignib" + case 'r': // 1 string to match. + if (NameR[17] != 'b') + break; + return Intrinsic::hexagon_S2_valignrb; // "exagon.S2.valignrb" + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "rotate", 6)) + break; + return Intrinsic::hexagon_S2_vcrotate; // "exagon.S2.vcrotate" + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "platr", 5)) + break; + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_vsplatrb; // "exagon.S2.vsplatrb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_vsplatrh; // "exagon.S2.vsplatrh" + } + break; + case 't': // 4 strings to match. + if (memcmp(NameR.data()+12, "run", 3)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 1 string to match. + if (NameR[17] != 'b') + break; + return Intrinsic::hexagon_S2_vtrunehb; // "exagon.S2.vtrunehb" + case 'w': // 1 string to match. + if (NameR[17] != 'h') + break; + return Intrinsic::hexagon_S2_vtrunewh; // "exagon.S2.vtrunewh" + } + break; + case 'o': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 1 string to match. + if (NameR[17] != 'b') + break; + return Intrinsic::hexagon_S2_vtrunohb; // "exagon.S2.vtrunohb" + case 'w': // 1 string to match. + if (NameR[17] != 'h') + break; + return Intrinsic::hexagon_S2_vtrunowh; // "exagon.S2.vtrunowh" + } + break; + } + break; + } + break; + } + break; + case '4': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "lbp", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "ddi", 3)) + break; + return Intrinsic::hexagon_S4_clbpaddi; // "exagon.S4.clbpaddi" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+15, "orm", 3)) + break; + return Intrinsic::hexagon_S4_clbpnorm; // "exagon.S4.clbpnorm" + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractp", 7)) + break; + return Intrinsic::hexagon_S4_extractp; // "exagon.S4.extractp" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+11, "r.andix", 7)) + break; + return Intrinsic::hexagon_S4_or_andix; // "exagon.S4.or.andix" + } + break; + } + break; + } + break; + case 19: // 81 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 11 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 3 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+11, "ombineii", 8)) + break; + return Intrinsic::hexagon_A2_combineii; // "exagon.A2.combineii" + case 'v': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "ddb.map", 7)) + break; + return Intrinsic::hexagon_A2_vaddb_map; // "exagon.A2.vaddb.map" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "ubb.map", 7)) + break; + return Intrinsic::hexagon_A2_vsubb_map; // "exagon.A2.vsubb.map" + } + break; + } + break; + case '4': // 8 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+11, "itspliti", 8)) + break; + return Intrinsic::hexagon_A4_bitspliti; // "exagon.A4.bitspliti" + case 'c': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+12, "mbine", 5)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + if (NameR[18] != 'r') + break; + return Intrinsic::hexagon_A4_combineir; // "exagon.A4.combineir" + case 'r': // 1 string to match. + if (NameR[18] != 'i') + break; + return Intrinsic::hexagon_A4_combineri; // "exagon.A4.combineri" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+12, "ound.r", 6)) + break; + switch (NameR[18]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cround_ri; // "exagon.A4.cround.ri" + case 'r': // 1 string to match. + return Intrinsic::hexagon_A4_cround_rr; // "exagon.A4.cround.rr" + } + break; + } + break; + case 'v': // 3 strings to match. + if (memcmp(NameR.data()+11, "cmp", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+15, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmpbgtui; // "exagon.A4.vcmpbgtui" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmphgtui; // "exagon.A4.vcmphgtui" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmpwgtui; // "exagon.A4.vcmpwgtui" + } + break; + } + break; + } + break; + case 'C': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+9, ".pxfer.map", 10)) + break; + return Intrinsic::hexagon_C2_pxfer_map; // "exagon.C2.pxfer.map" + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".nbitsclri", 10)) + break; + return Intrinsic::hexagon_C4_nbitsclri; // "exagon.C4.nbitsclri" + } + break; + case 'F': // 12 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'c': // 8 strings to match. + if (memcmp(NameR.data()+11, "onv.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 4 strings to match. + switch (NameR[16]) { + default: break; + case '2': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (NameR[18] != 'f') + break; + return Intrinsic::hexagon_F2_conv_d2df; // "exagon.F2.conv.d2df" + case 's': // 1 string to match. + if (NameR[18] != 'f') + break; + return Intrinsic::hexagon_F2_conv_d2sf; // "exagon.F2.conv.d2sf" + } + break; + case 'f': // 2 strings to match. + if (NameR[17] != '2') + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2d; // "exagon.F2.conv.df2d" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2w; // "exagon.F2.conv.df2w" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "f2", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2d; // "exagon.F2.conv.sf2d" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2w; // "exagon.F2.conv.sf2w" + } + break; + case 'w': // 2 strings to match. + if (NameR[16] != '2') + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (NameR[18] != 'f') + break; + return Intrinsic::hexagon_F2_conv_w2df; // "exagon.F2.conv.w2df" + case 's': // 1 string to match. + if (NameR[18] != 'f') + break; + return Intrinsic::hexagon_F2_conv_w2sf; // "exagon.F2.conv.w2sf" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+11, "ffm", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, ".lib", 4)) + break; + return Intrinsic::hexagon_F2_dffma_lib; // "exagon.F2.dffma.lib" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, ".lib", 4)) + break; + return Intrinsic::hexagon_F2_dffms_lib; // "exagon.F2.dffms.lib" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "ffm", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, ".lib", 4)) + break; + return Intrinsic::hexagon_F2_sffma_lib; // "exagon.F2.sffma.lib" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, ".lib", 4)) + break; + return Intrinsic::hexagon_F2_sffms_lib; // "exagon.F2.sffms.lib" + } + break; + } + break; + case 'M': // 44 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 41 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 8 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 6 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+13, "csc.s", 5)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmacsc_s0; // "exagon.M2.cmacsc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmacsc_s1; // "exagon.M2.cmacsc.s1" + } + break; + case 'p': // 4 strings to match. + if (NameR[13] != 'y') + break; + switch (NameR[14]) { + default: break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+15, "s.s", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrs_s0; // "exagon.M2.cmpyrs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrs_s1; // "exagon.M2.cmpyrs.s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+15, "c.s", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpysc_s0; // "exagon.M2.cmpysc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpysc_s1; // "exagon.M2.cmpysc.s1" + } + break; + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "acsc.s", 6)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cnacsc_s0; // "exagon.M2.cnacsc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cnacsc_s1; // "exagon.M2.cnacsc.s1" + } + break; + } + break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+11, "mmpy", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+16, ".s1", 3)) + break; + return Intrinsic::hexagon_M2_hmmpyh_s1; // "exagon.M2.hmmpyh.s1" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+16, ".s1", 3)) + break; + return Intrinsic::hexagon_M2_hmmpyl_s1; // "exagon.M2.hmmpyl.s1" + } + break; + case 'm': // 21 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 12 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[13] != 'c') + break; + switch (NameR[14]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+15, "s.s", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_s0; // "exagon.M2.mmachs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_s1; // "exagon.M2.mmachs.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+15, "s.s", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_s0; // "exagon.M2.mmacls.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_s1; // "exagon.M2.mmacls.s1" + } + break; + } + break; + case 'p': // 8 strings to match. + if (NameR[13] != 'y') + break; + switch (NameR[14]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+15, ".rs", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_rs0; // "exagon.M2.mmpyh.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_rs1; // "exagon.M2.mmpyh.rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+15, ".rs", 3)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_rs0; // "exagon.M2.mmpyl.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_rs1; // "exagon.M2.mmpyl.rs1" + } + break; + case 'u': // 4 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_s0; // "exagon.M2.mmpyuh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_s1; // "exagon.M2.mmpyuh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_s0; // "exagon.M2.mmpyul.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_s1; // "exagon.M2.mmpyul.s1" + } + break; + } + break; + } + break; + } + break; + case 'p': // 9 strings to match. + if (memcmp(NameR.data()+12, "y.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hh_s0; // "exagon.M2.mpy.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hh_s1; // "exagon.M2.mpy.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hl_s0; // "exagon.M2.mpy.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hl_s1; // "exagon.M2.mpy.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_lh_s0; // "exagon.M2.mpy.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_lh_s1; // "exagon.M2.mpy.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, ".s", 2)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_ll_s0; // "exagon.M2.mpy.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_ll_s1; // "exagon.M2.mpy.ll.s1" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+15, "p.s1", 4)) + break; + return Intrinsic::hexagon_M2_mpy_up_s1; // "exagon.M2.mpy.up.s1" + } + break; + } + break; + case 'v': // 10 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "bsdiff", 6)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_M2_vabsdiffh; // "exagon.M2.vabsdiffh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_M2_vabsdiffw; // "exagon.M2.vabsdiffw" + } + break; + case 'd': // 4 strings to match. + if (NameR[12] != 'm') + break; + switch (NameR[13]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+14, "cs.s", 4)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmacs_s0; // "exagon.M2.vdmacs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmacs_s1; // "exagon.M2.vdmacs.s1" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+14, "ys.s", 4)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpys_s0; // "exagon.M2.vdmpys.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpys_s1; // "exagon.M2.vdmpys.s1" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+13, "c2s.s", 5)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2s_s0; // "exagon.M2.vmac2s.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2s_s1; // "exagon.M2.vmac2s.s1" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+13, "y2s.s", 5)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2s_s0; // "exagon.M2.vmpy2s.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2s_s1; // "exagon.M2.vmpy2s.s1" + } + break; + } + break; + } + break; + } + break; + case '4': // 3 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "mpy", 3)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+15, ".whc", 4)) + break; + return Intrinsic::hexagon_M4_cmpyi_whc; // "exagon.M4.cmpyi.whc" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+15, ".whc", 4)) + break; + return Intrinsic::hexagon_M4_cmpyr_whc; // "exagon.M4.cmpyr.whc" + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, "mpyw.acc", 8)) + break; + return Intrinsic::hexagon_M4_pmpyw_acc; // "exagon.M4.pmpyw.acc" + } + break; + } + break; + case 'S': // 12 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractup", 8)) + break; + return Intrinsic::hexagon_S2_extractup; // "exagon.S2.extractup" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+11, "nsert.rp", 8)) + break; + return Intrinsic::hexagon_S2_insert_rp; // "exagon.S2.insert.rp" + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "splice", 6)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + if (NameR[18] != 'b') + break; + return Intrinsic::hexagon_S2_vspliceib; // "exagon.S2.vspliceib" + case 'r': // 1 string to match. + if (NameR[18] != 'b') + break; + return Intrinsic::hexagon_S2_vsplicerb; // "exagon.S2.vsplicerb" + } + break; + } + break; + case '4': // 7 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+11, "tstbit.", 7)) + break; + switch (NameR[18]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S4_ntstbit_i; // "exagon.S4.ntstbit.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S4_ntstbit_r; // "exagon.S4.ntstbit.r" + } + break; + case 'v': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "crotate", 7)) + break; + return Intrinsic::hexagon_S4_vrcrotate; // "exagon.S4.vrcrotate" + case 'x': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+13, "ddsub", 5)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S4_vxaddsubh; // "exagon.S4.vxaddsubh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S4_vxaddsubw; // "exagon.S4.vxaddsubw" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+13, "ubadd", 5)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S4_vxsubaddh; // "exagon.S4.vxsubaddh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S4_vxsubaddw; // "exagon.S4.vxsubaddw" + } + break; + } + break; + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(NameR.data()+9, ".popcountp", 10)) + break; + return Intrinsic::hexagon_S5_popcountp; // "exagon.S5.popcountp" + } + break; + } + break; + case 20: // 95 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 4 strings to match. + if (memcmp(NameR.data()+8, "2.combine.", 10)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_combine_hh; // "exagon.A2.combine.hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_combine_hl; // "exagon.A2.combine.hl" + } + break; + case 'l': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_combine_lh; // "exagon.A2.combine.lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_combine_ll; // "exagon.A2.combine.ll" + } + break; + } + break; + case 'F': // 10 strings to match. + if (memcmp(NameR.data()+8, "2.conv.", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 3 strings to match. + if (memcmp(NameR.data()+16, "f2", 2)) + break; + switch (NameR[18]) { + default: break; + case 's': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_df2sf; // "exagon.F2.conv.df2sf" + case 'u': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2ud; // "exagon.F2.conv.df2ud" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2uw; // "exagon.F2.conv.df2uw" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+16, "f2", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_sf2df; // "exagon.F2.conv.sf2df" + case 'u': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2ud; // "exagon.F2.conv.sf2ud" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2uw; // "exagon.F2.conv.sf2uw" + } + break; + } + break; + case 'u': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[17] != '2') + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_ud2df; // "exagon.F2.conv.ud2df" + case 's': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_ud2sf; // "exagon.F2.conv.ud2sf" + } + break; + case 'w': // 2 strings to match. + if (NameR[17] != '2') + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_uw2df; // "exagon.F2.conv.uw2df" + case 's': // 1 string to match. + if (NameR[19] != 'f') + break; + return Intrinsic::hexagon_F2_conv_uw2sf; // "exagon.F2.conv.uw2sf" + } + break; + } + break; + } + break; + case 'M': // 58 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 49 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "mpyrsc.s", 8)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrsc_s0; // "exagon.M2.cmpyrsc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrsc_s1; // "exagon.M2.cmpyrsc.s1" + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+11, "pmpy", 4)) + break; + switch (NameR[15]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, "s.s0", 4)) + break; + return Intrinsic::hexagon_M2_dpmpyss_s0; // "exagon.M2.dpmpyss.s0" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+16, "u.s0", 4)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_s0; // "exagon.M2.dpmpyuu.s0" + } + break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+11, "mmpy", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+16, ".rs1", 4)) + break; + return Intrinsic::hexagon_M2_hmmpyh_rs1; // "exagon.M2.hmmpyh.rs1" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+16, ".rs1", 4)) + break; + return Intrinsic::hexagon_M2_hmmpyl_rs1; // "exagon.M2.hmmpyl.rs1" + } + break; + case 'm': // 28 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 12 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 8 strings to match. + if (NameR[13] != 'c') + break; + switch (NameR[14]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+15, "s.rs", 4)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_rs0; // "exagon.M2.mmachs.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_rs1; // "exagon.M2.mmachs.rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+15, "s.rs", 4)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_rs0; // "exagon.M2.mmacls.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_rs1; // "exagon.M2.mmacls.rs1" + } + break; + case 'u': // 4 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_s0; // "exagon.M2.mmacuhs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_s1; // "exagon.M2.mmacuhs.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_s0; // "exagon.M2.mmaculs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_s1; // "exagon.M2.mmaculs.s1" + } + break; + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+13, "yu", 2)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, ".rs", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_rs0; // "exagon.M2.mmpyuh.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_rs1; // "exagon.M2.mmpyuh.rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, ".rs", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_rs0; // "exagon.M2.mmpyul.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_rs1; // "exagon.M2.mmpyul.rs1" + } + break; + } + break; + } + break; + case 'p': // 16 strings to match. + if (NameR[12] != 'y') + break; + switch (NameR[13]) { + default: break; + case 'd': // 8 strings to match. + if (NameR[14] != '.') + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hh_s0; // "exagon.M2.mpyd.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hh_s1; // "exagon.M2.mpyd.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hl_s0; // "exagon.M2.mpyd.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hl_s1; // "exagon.M2.mpyd.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_lh_s0; // "exagon.M2.mpyd.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_lh_s1; // "exagon.M2.mpyd.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_ll_s0; // "exagon.M2.mpyd.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_ll_s1; // "exagon.M2.mpyd.ll.s1" + } + break; + } + break; + } + break; + case 'u': // 8 strings to match. + if (NameR[14] != '.') + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hh_s0; // "exagon.M2.mpyu.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hh_s1; // "exagon.M2.mpyu.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hl_s0; // "exagon.M2.mpyu.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hl_s1; // "exagon.M2.mpyu.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_lh_s0; // "exagon.M2.mpyu.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_lh_s1; // "exagon.M2.mpyu.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+17, ".s", 2)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_ll_s0; // "exagon.M2.mpyu.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_ll_s1; // "exagon.M2.mpyu.ll.s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'v': // 15 strings to match. + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+12, "mpyrs.s", 7)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpyrs_s0; // "exagon.M2.vdmpyrs.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpyrs_s1; // "exagon.M2.vdmpyrs.s1" + } + break; + case 'm': // 8 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+13, "c2", 2)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2es_s0; // "exagon.M2.vmac2es.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2es_s1; // "exagon.M2.vmac2es.s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "u.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2su_s0; // "exagon.M2.vmac2su.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2su_s1; // "exagon.M2.vmac2su.s1" + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+13, "y2", 2)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2es_s0; // "exagon.M2.vmpy2es.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2es_s1; // "exagon.M2.vmpy2es.s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "u.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2su_s0; // "exagon.M2.vmpy2su.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2su_s1; // "exagon.M2.vmpy2su.s1" + } + break; + } + break; + } + break; + case 'r': // 5 strings to match. + if (memcmp(NameR.data()+12, "cm", 2)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[15] != 'c') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmaci_s0; // "exagon.M2.vrcmaci.s0" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmacr_s0; // "exagon.M2.vrcmacr.s0" + } + break; + case 'p': // 3 strings to match. + if (NameR[15] != 'y') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpyi_s0; // "exagon.M2.vrcmpyi.s0" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpyr_s0; // "exagon.M2.vrcmpyr.s0" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, ".s1", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpys_s1; // "exagon.M2.vrcmpys.s1" + } + break; + } + break; + } + break; + } + break; + case '4': // 9 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+11, "pyr", 3)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+15, ".add", 4)) + break; + switch (NameR[19]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M4_mpyri_addi; // "exagon.M4.mpyri.addi" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M4_mpyri_addr; // "exagon.M4.mpyri.addr" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+15, ".add", 4)) + break; + switch (NameR[19]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M4_mpyrr_addi; // "exagon.M4.mpyrr.addi" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M4_mpyrr_addr; // "exagon.M4.mpyrr.addr" + } + break; + } + break; + case 'v': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+12, "mpyh.acc", 8)) + break; + return Intrinsic::hexagon_M4_vpmpyh_acc; // "exagon.M4.vpmpyh.acc" + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+12, "mpy", 3)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+16, "h.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_s0; // "exagon.M4.vrmpyeh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_s1; // "exagon.M4.vrmpyeh.s1" + } + break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+16, "h.s", 3)) + break; + switch (NameR[19]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_s0; // "exagon.M4.vrmpyoh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_s1; // "exagon.M4.vrmpyoh.s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'S': // 23 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 17 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 8 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asl_i_p_or; // "exagon.S2.asl.i.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asl_i_r_or; // "exagon.S2.asl.i.r.or" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asl_r_p_or; // "exagon.S2.asl.r.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asl_r_r_or; // "exagon.S2.asl.r.r.or" + } + break; + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asr_i_p_or; // "exagon.S2.asr.i.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asr_i_r_or; // "exagon.S2.asr.i.r.or" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asr_r_p_or; // "exagon.S2.asr.r.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_asr_r_r_or; // "exagon.S2.asr.r.r.or" + } + break; + } + break; + } + break; + case 'i': // 2 strings to match. + if (NameR[11] != 'n') + break; + switch (NameR[12]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ertp.rp", 7)) + break; + return Intrinsic::hexagon_S2_insertp_rp; // "exagon.S2.insertp.rp" + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, "erleave", 7)) + break; + return Intrinsic::hexagon_S2_interleave; // "exagon.S2.interleave" + } + break; + case 'l': // 6 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+13, ".r.", 3)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_or; // "exagon.S2.lsl.r.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsl_r_r_or; // "exagon.S2.lsl.r.r.or" + } + break; + case 'r': // 4 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_or; // "exagon.S2.lsr.i.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_or; // "exagon.S2.lsr.i.r.or" + } + break; + case 'r': // 2 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_or; // "exagon.S2.lsr.r.p.or" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_r_r_or; // "exagon.S2.lsr.r.r.or" + } + break; + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "rndpackwh", 9)) + break; + return Intrinsic::hexagon_S2_vrndpackwh; // "exagon.S2.vrndpackwh" + } + break; + case '4': // 5 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtract.rp", 9)) + break; + return Intrinsic::hexagon_S4_extract_rp; // "exagon.S4.extract.rp" + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+11, "ri.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+15, "sl.ri", 5)) + break; + return Intrinsic::hexagon_S4_ori_asl_ri; // "exagon.S4.ori.asl.ri" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+15, "sr.ri", 5)) + break; + return Intrinsic::hexagon_S4_ori_lsr_ri; // "exagon.S4.ori.lsr.ri" + } + break; + case 'v': // 2 strings to match. + if (NameR[11] != 'x') + break; + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "ddsubhr", 7)) + break; + return Intrinsic::hexagon_S4_vxaddsubhr; // "exagon.S4.vxaddsubhr" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "ubaddhr", 7)) + break; + return Intrinsic::hexagon_S4_vxsubaddhr; // "exagon.S4.vxsubaddhr" + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(NameR.data()+9, ".asrhub.sat", 11)) + break; + return Intrinsic::hexagon_S5_asrhub_sat; // "exagon.S5.asrhub.sat" + } + break; + } + break; + case 21: // 96 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 16 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 14 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+11, "ddh.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(NameR.data()+16, "16.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_hh; // "exagon.A2.addh.h16.hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_hl; // "exagon.A2.addh.h16.hl" + } + break; + case 'l': // 2 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_lh; // "exagon.A2.addh.h16.lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_ll; // "exagon.A2.addh.h16.ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "16.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 1 string to match. + if (NameR[20] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_hl; // "exagon.A2.addh.l16.hl" + case 'l': // 1 string to match. + if (NameR[20] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_ll; // "exagon.A2.addh.l16.ll" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(NameR.data()+11, "ubh.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(NameR.data()+16, "16.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_hh; // "exagon.A2.subh.h16.hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_hl; // "exagon.A2.subh.h16.hl" + } + break; + case 'l': // 2 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_lh; // "exagon.A2.subh.h16.lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_ll; // "exagon.A2.subh.h16.ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "16.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 1 string to match. + if (NameR[20] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_hl; // "exagon.A2.subh.l16.hl" + case 'l': // 1 string to match. + if (NameR[20] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_ll; // "exagon.A2.subh.l16.ll" + } + break; + } + break; + case 'v': // 2 strings to match. + if (NameR[11] != 'r') + break; + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+13, "ddub.acc", 8)) + break; + return Intrinsic::hexagon_A2_vraddub_acc; // "exagon.A2.vraddub.acc" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "adub.acc", 8)) + break; + return Intrinsic::hexagon_A2_vrsadub_acc; // "exagon.A2.vrsadub.acc" + } + break; + } + break; + case '4': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+11, "oundscheck", 10)) + break; + return Intrinsic::hexagon_A4_boundscheck; // "exagon.A4.boundscheck" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "cmpbeq.any", 10)) + break; + return Intrinsic::hexagon_A4_vcmpbeq_any; // "exagon.A4.vcmpbeq.any" + } + break; + } + break; + case 'C': // 1 string to match. + if (memcmp(NameR.data()+8, "4.fastcorner9", 13)) + break; + return Intrinsic::hexagon_C4_fastcorner9; // "exagon.C4.fastcorner9" + case 'M': // 16 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 12 strings to match. + switch (NameR[11]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+12, "acu", 3)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.rs", 4)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_rs0; // "exagon.M2.mmacuhs.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_rs1; // "exagon.M2.mmacuhs.rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "s.rs", 4)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_rs0; // "exagon.M2.mmaculs.rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_rs1; // "exagon.M2.mmaculs.rs1" + } + break; + } + break; + case 'p': // 8 strings to match. + if (memcmp(NameR.data()+12, "yud.", 4)) + break; + switch (NameR[16]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[17]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+18, ".s", 2)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hh_s0; // "exagon.M2.mpyud.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hh_s1; // "exagon.M2.mpyud.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+18, ".s", 2)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hl_s0; // "exagon.M2.mpyud.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hl_s1; // "exagon.M2.mpyud.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[17]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+18, ".s", 2)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_lh_s0; // "exagon.M2.mpyud.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_lh_s1; // "exagon.M2.mpyud.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+18, ".s", 2)) + break; + switch (NameR[20]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_ll_s0; // "exagon.M2.mpyud.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_ll_s1; // "exagon.M2.mpyud.ll.s1" + } + break; + } + break; + } + break; + } + break; + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+11, "rcm", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[15] != 'c') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmaci_s0c; // "exagon.M2.vrcmaci.s0c" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmacr_s0c; // "exagon.M2.vrcmacr.s0c" + } + break; + case 'p': // 2 strings to match. + if (NameR[15] != 'y') + break; + switch (NameR[16]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmpyi_s0c; // "exagon.M2.vrcmpyi.s0c" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmpyr_s0c; // "exagon.M2.vrcmpyr.s0c" + } + break; + } + break; + } + break; + case 'S': // 63 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 56 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 32 strings to match. + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "dasl.rrri", 9)) + break; + return Intrinsic::hexagon_S2_addasl_rrri; // "exagon.S2.addasl.rrri" + case 's': // 31 strings to match. + switch (NameR[12]) { + default: break; + case 'l': // 15 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 7 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 3 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asl_i_p_acc; // "exagon.S2.asl.i.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asl_i_p_and; // "exagon.S2.asl.i.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_p_nac; // "exagon.S2.asl.i.p.nac" + } + break; + case 'r': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asl_i_r_acc; // "exagon.S2.asl.i.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asl_i_r_and; // "exagon.S2.asl.i.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_r_nac; // "exagon.S2.asl.i.r.nac" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "at", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_r_sat; // "exagon.S2.asl.i.r.sat" + } + break; + } + break; + case 'r': // 8 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asl_r_p_acc; // "exagon.S2.asl.r.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asl_r_p_and; // "exagon.S2.asl.r.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_p_nac; // "exagon.S2.asl.r.p.nac" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+19, "or", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_p_xor; // "exagon.S2.asl.r.p.xor" + } + break; + case 'r': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asl_r_r_acc; // "exagon.S2.asl.r.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asl_r_r_and; // "exagon.S2.asl.r.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_r_nac; // "exagon.S2.asl.r.r.nac" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "at", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_r_sat; // "exagon.S2.asl.r.r.sat" + } + break; + } + break; + } + break; + case 'r': // 16 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 8 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asr_i_p_acc; // "exagon.S2.asr.i.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asr_i_p_and; // "exagon.S2.asr.i.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_p_nac; // "exagon.S2.asr.i.p.nac" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+19, "nd", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_p_rnd; // "exagon.S2.asr.i.p.rnd" + } + break; + case 'r': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asr_i_r_acc; // "exagon.S2.asr.i.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asr_i_r_and; // "exagon.S2.asr.i.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_r_nac; // "exagon.S2.asr.i.r.nac" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+19, "nd", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_r_rnd; // "exagon.S2.asr.i.r.rnd" + } + break; + } + break; + case 'r': // 8 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asr_r_p_acc; // "exagon.S2.asr.r.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asr_r_p_and; // "exagon.S2.asr.r.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_p_nac; // "exagon.S2.asr.r.p.nac" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+19, "or", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_p_xor; // "exagon.S2.asr.r.p.xor" + } + break; + case 'r': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_asr_r_r_acc; // "exagon.S2.asr.r.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_asr_r_r_and; // "exagon.S2.asr.r.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_r_nac; // "exagon.S2.asr.r.r.nac" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "at", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_r_sat; // "exagon.S2.asr.r.r.sat" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractu.rp", 10)) + break; + return Intrinsic::hexagon_S2_extractu_rp; // "exagon.S2.extractu.rp" + case 'l': // 20 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 7 strings to match. + if (memcmp(NameR.data()+13, ".r.", 3)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsl_r_p_acc; // "exagon.S2.lsl.r.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsl_r_p_and; // "exagon.S2.lsl.r.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_nac; // "exagon.S2.lsl.r.p.nac" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+19, "or", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_xor; // "exagon.S2.lsl.r.p.xor" + } + break; + case 'r': // 3 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsl_r_r_acc; // "exagon.S2.lsl.r.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsl_r_r_and; // "exagon.S2.lsl.r.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_r_nac; // "exagon.S2.lsl.r.r.nac" + } + break; + } + break; + case 'r': // 13 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'i': // 6 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 3 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_i_p_acc; // "exagon.S2.lsr.i.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_i_p_and; // "exagon.S2.lsr.i.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_nac; // "exagon.S2.lsr.i.p.nac" + } + break; + case 'r': // 3 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_i_r_acc; // "exagon.S2.lsr.i.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_i_r_and; // "exagon.S2.lsr.i.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_nac; // "exagon.S2.lsr.i.r.nac" + } + break; + } + break; + case 'r': // 7 strings to match. + if (NameR[15] != '.') + break; + switch (NameR[16]) { + default: break; + case 'p': // 4 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_r_p_acc; // "exagon.S2.lsr.r.p.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_r_p_and; // "exagon.S2.lsr.r.p.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_nac; // "exagon.S2.lsr.r.p.nac" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+19, "or", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_xor; // "exagon.S2.lsr.r.p.xor" + } + break; + case 'r': // 3 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case 'a': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'c': // 1 string to match. + if (NameR[20] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_r_r_acc; // "exagon.S2.lsr.r.r.acc" + case 'n': // 1 string to match. + if (NameR[20] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_r_r_and; // "exagon.S2.lsr.r.r.and" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_r_nac; // "exagon.S2.lsr.r.r.nac" + } + break; + } + break; + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+11, "ogglebit.", 9)) + break; + switch (NameR[20]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_togglebit_i; // "exagon.S2.togglebit.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_togglebit_r; // "exagon.S2.togglebit.r" + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+11, "rndpackwhs", 10)) + break; + return Intrinsic::hexagon_S2_vrndpackwhs; // "exagon.S2.vrndpackwhs" + } + break; + case '4': // 7 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'a': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+12, "di.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+16, "sl.ri", 5)) + break; + return Intrinsic::hexagon_S4_addi_asl_ri; // "exagon.S4.addi.asl.ri" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+16, "sr.ri", 5)) + break; + return Intrinsic::hexagon_S4_addi_lsr_ri; // "exagon.S4.addi.lsr.ri" + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+12, "di.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+16, "sl.ri", 5)) + break; + return Intrinsic::hexagon_S4_andi_asl_ri; // "exagon.S4.andi.asl.ri" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+16, "sr.ri", 5)) + break; + return Intrinsic::hexagon_S4_andi_lsr_ri; // "exagon.S4.andi.lsr.ri" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractp.rp", 10)) + break; + return Intrinsic::hexagon_S4_extractp_rp; // "exagon.S4.extractp.rp" + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "ubi.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+16, "sl.ri", 5)) + break; + return Intrinsic::hexagon_S4_subi_asl_ri; // "exagon.S4.subi.asl.ri" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+16, "sr.ri", 5)) + break; + return Intrinsic::hexagon_S4_subi_lsr_ri; // "exagon.S4.subi.lsr.ri" + } + break; + } + break; + } + break; + } + break; + case 22: // 9 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 2 strings to match. + if (memcmp(NameR.data()+8, "4.round.r", 9)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+18, ".sat", 4)) + break; + return Intrinsic::hexagon_A4_round_ri_sat; // "exagon.A4.round.ri.sat" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+18, ".sat", 4)) + break; + return Intrinsic::hexagon_A4_round_rr_sat; // "exagon.A4.round.rr.sat" + } + break; + case 'M': // 1 string to match. + if (memcmp(NameR.data()+8, "2.vrcmpys.s1rp", 14)) + break; + return Intrinsic::hexagon_M2_vrcmpys_s1rp; // "exagon.M2.vrcmpys.s1rp" + case 'S': // 6 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "sl.i.", 5)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".xacc", 5)) + break; + return Intrinsic::hexagon_S2_asl_i_p_xacc; // "exagon.S2.asl.i.p.xacc" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".xacc", 5)) + break; + return Intrinsic::hexagon_S2_asl_i_r_xacc; // "exagon.S2.asl.i.r.xacc" + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+11, "einterleave", 11)) + break; + return Intrinsic::hexagon_S2_deinterleave; // "exagon.S2.deinterleave" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "xtractup.rp", 11)) + break; + return Intrinsic::hexagon_S2_extractup_rp; // "exagon.S2.extractup.rp" + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+11, "sr.i.", 5)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".xacc", 5)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_xacc; // "exagon.S2.lsr.i.p.xacc" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".xacc", 5)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_xacc; // "exagon.S2.lsr.i.r.xacc" + } + break; + } + break; + } + break; + case 23: // 42 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'M': // 38 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 35 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'm': // 33 strings to match. + if (memcmp(NameR.data()+11, "py.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+15, "cc.", 3)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hh_s0; // "exagon.M2.mpy.acc.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hh_s1; // "exagon.M2.mpy.acc.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hl_s0; // "exagon.M2.mpy.acc.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hl_s1; // "exagon.M2.mpy.acc.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_lh_s0; // "exagon.M2.mpy.acc.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_lh_s1; // "exagon.M2.mpy.acc.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_ll_s0; // "exagon.M2.mpy.acc.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_ll_s1; // "exagon.M2.mpy.acc.ll.s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(NameR.data()+15, "ac.", 3)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hh_s0; // "exagon.M2.mpy.nac.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hh_s1; // "exagon.M2.mpy.nac.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hl_s0; // "exagon.M2.mpy.nac.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hl_s1; // "exagon.M2.mpy.nac.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_lh_s0; // "exagon.M2.mpy.nac.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_lh_s1; // "exagon.M2.mpy.nac.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_ll_s0; // "exagon.M2.mpy.nac.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_ll_s1; // "exagon.M2.mpy.nac.ll.s1" + } + break; + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(NameR.data()+15, "nd.", 3)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hh_s0; // "exagon.M2.mpy.rnd.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hh_s1; // "exagon.M2.mpy.rnd.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hl_s0; // "exagon.M2.mpy.rnd.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hl_s1; // "exagon.M2.mpy.rnd.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_lh_s0; // "exagon.M2.mpy.rnd.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_lh_s1; // "exagon.M2.mpy.rnd.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_ll_s0; // "exagon.M2.mpy.rnd.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_ll_s1; // "exagon.M2.mpy.rnd.ll.s1" + } + break; + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(NameR.data()+15, "at.", 3)) + break; + switch (NameR[18]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hh_s0; // "exagon.M2.mpy.sat.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hh_s1; // "exagon.M2.mpy.sat.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hl_s0; // "exagon.M2.mpy.sat.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hl_s1; // "exagon.M2.mpy.sat.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_lh_s0; // "exagon.M2.mpy.sat.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_lh_s1; // "exagon.M2.mpy.sat.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+20, ".s", 2)) + break; + switch (NameR[22]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_ll_s0; // "exagon.M2.mpy.sat.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_ll_s1; // "exagon.M2.mpy.sat.ll.s1" + } + break; + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+15, "p.s1.sat", 8)) + break; + return Intrinsic::hexagon_M2_mpy_up_s1_sat; // "exagon.M2.mpy.up.s1.sat" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "mpy2s.s", 7)) + break; + switch (NameR[18]) { + default: break; + case '0': // 1 string to match. + if (memcmp(NameR.data()+19, "pack", 4)) + break; + return Intrinsic::hexagon_M2_vmpy2s_s0pack; // "exagon.M2.vmpy2s.s0pack" + case '1': // 1 string to match. + if (memcmp(NameR.data()+19, "pack", 4)) + break; + return Intrinsic::hexagon_M2_vmpy2s_s1pack; // "exagon.M2.vmpy2s.s1pack" + } + break; + } + break; + case '4': // 3 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'm': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "c.up.s1.sat", 11)) + break; + return Intrinsic::hexagon_M4_mac_up_s1_sat; // "exagon.M4.mac.up.s1.sat" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+12, "yri.addr.u2", 11)) + break; + return Intrinsic::hexagon_M4_mpyri_addr_u2; // "exagon.M4.mpyri.addr.u2" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, "ac.up.s1.sat", 12)) + break; + return Intrinsic::hexagon_M4_nac_up_s1_sat; // "exagon.M4.nac.up.s1.sat" + } + break; + } + break; + case 'S': // 4 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+9, ".vsat", 5)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "b.nopack", 8)) + break; + return Intrinsic::hexagon_S2_vsathb_nopack; // "exagon.S2.vsathb.nopack" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "h.nopack", 8)) + break; + return Intrinsic::hexagon_S2_vsatwh_nopack; // "exagon.S2.vsatwh.nopack" + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+9, ".vrcrotate.acc", 14)) + break; + return Intrinsic::hexagon_S4_vrcrotate_acc; // "exagon.S4.vrcrotate.acc" + case 'I': // 1 string to match. + if (memcmp(NameR.data()+9, ".to.SXTHI.asrh", 14)) + break; + return Intrinsic::hexagon_SI_to_SXTHI_asrh; // "exagon.SI.to.SXTHI.asrh" + } + break; + } + break; + case 24: // 64 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'F': // 4 strings to match. + if (memcmp(NameR.data()+8, "2.conv.", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+16, "f2", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2d_chop; // "exagon.F2.conv.df2d.chop" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2w_chop; // "exagon.F2.conv.df2w.chop" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "f2", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2d_chop; // "exagon.F2.conv.sf2d.chop" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2w_chop; // "exagon.F2.conv.sf2w.chop" + } + break; + } + break; + case 'M': // 56 strings to match. + switch (NameR[8]) { + default: break; + case '2': // 52 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'd': // 5 strings to match. + if (memcmp(NameR.data()+11, "pmpy", 4)) + break; + switch (NameR[15]) { + default: break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+16, "s.", 2)) + break; + switch (NameR[18]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+19, "cc.s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_acc_s0; // "exagon.M2.dpmpyss.acc.s0" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac.s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_nac_s0; // "exagon.M2.dpmpyss.nac.s0" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+19, "nd.s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_rnd_s0; // "exagon.M2.dpmpyss.rnd.s0" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+16, "u.", 2)) + break; + switch (NameR[18]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+19, "cc.s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_acc_s0; // "exagon.M2.dpmpyuu.acc.s0" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+19, "ac.s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_nac_s0; // "exagon.M2.dpmpyuu.nac.s0" + } + break; + } + break; + case 'm': // 40 strings to match. + if (memcmp(NameR.data()+11, "py", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 24 strings to match. + if (NameR[14] != '.') + break; + switch (NameR[15]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+16, "cc.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hh_s0; // "exagon.M2.mpyd.acc.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hh_s1; // "exagon.M2.mpyd.acc.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hl_s0; // "exagon.M2.mpyd.acc.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hl_s1; // "exagon.M2.mpyd.acc.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_lh_s0; // "exagon.M2.mpyd.acc.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_lh_s1; // "exagon.M2.mpyd.acc.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_ll_s0; // "exagon.M2.mpyd.acc.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_ll_s1; // "exagon.M2.mpyd.acc.ll.s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(NameR.data()+16, "ac.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hh_s0; // "exagon.M2.mpyd.nac.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hh_s1; // "exagon.M2.mpyd.nac.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hl_s0; // "exagon.M2.mpyd.nac.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hl_s1; // "exagon.M2.mpyd.nac.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_lh_s0; // "exagon.M2.mpyd.nac.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_lh_s1; // "exagon.M2.mpyd.nac.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_ll_s0; // "exagon.M2.mpyd.nac.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_ll_s1; // "exagon.M2.mpyd.nac.ll.s1" + } + break; + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(NameR.data()+16, "nd.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hh_s0; // "exagon.M2.mpyd.rnd.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hh_s1; // "exagon.M2.mpyd.rnd.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hl_s0; // "exagon.M2.mpyd.rnd.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hl_s1; // "exagon.M2.mpyd.rnd.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_lh_s0; // "exagon.M2.mpyd.rnd.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_lh_s1; // "exagon.M2.mpyd.rnd.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_ll_s0; // "exagon.M2.mpyd.rnd.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_ll_s1; // "exagon.M2.mpyd.rnd.ll.s1" + } + break; + } + break; + } + break; + } + break; + case 'u': // 16 strings to match. + if (NameR[14] != '.') + break; + switch (NameR[15]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+16, "cc.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hh_s0; // "exagon.M2.mpyu.acc.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hh_s1; // "exagon.M2.mpyu.acc.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hl_s0; // "exagon.M2.mpyu.acc.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hl_s1; // "exagon.M2.mpyu.acc.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_lh_s0; // "exagon.M2.mpyu.acc.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_lh_s1; // "exagon.M2.mpyu.acc.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_ll_s0; // "exagon.M2.mpyu.acc.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_ll_s1; // "exagon.M2.mpyu.acc.ll.s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(NameR.data()+16, "ac.", 3)) + break; + switch (NameR[19]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hh_s0; // "exagon.M2.mpyu.nac.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hh_s1; // "exagon.M2.mpyu.nac.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hl_s0; // "exagon.M2.mpyu.nac.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hl_s1; // "exagon.M2.mpyu.nac.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[20]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_lh_s0; // "exagon.M2.mpyu.nac.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_lh_s1; // "exagon.M2.mpyu.nac.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+21, ".s", 2)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_ll_s0; // "exagon.M2.mpyu.nac.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_ll_s1; // "exagon.M2.mpyu.nac.ll.s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'v': // 7 strings to match. + switch (NameR[11]) { + default: break; + case 'c': // 6 strings to match. + if (NameR[12] != 'm') + break; + switch (NameR[13]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+14, "c.s0.sat.", 9)) + break; + switch (NameR[23]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmac_s0_sat_i; // "exagon.M2.vcmac.s0.sat.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmac_s0_sat_r; // "exagon.M2.vcmac.s0.sat.r" + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+14, "y.s", 3)) + break; + switch (NameR[17]) { + default: break; + case '0': // 2 strings to match. + if (memcmp(NameR.data()+18, ".sat.", 5)) + break; + switch (NameR[23]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s0_sat_i; // "exagon.M2.vcmpy.s0.sat.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s0_sat_r; // "exagon.M2.vcmpy.s0.sat.r" + } + break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, ".sat.", 5)) + break; + switch (NameR[23]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s1_sat_i; // "exagon.M2.vcmpy.s1.sat.i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s1_sat_r; // "exagon.M2.vcmpy.s1.sat.r" + } + break; + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "cmpys.acc.s1", 12)) + break; + return Intrinsic::hexagon_M2_vrcmpys_acc_s1; // "exagon.M2.vrcmpys.acc.s1" + } + break; + } + break; + case '4': // 4 strings to match. + if (memcmp(NameR.data()+9, ".vrmpy", 6)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+16, "h.acc.s", 7)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_acc_s0; // "exagon.M4.vrmpyeh.acc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_acc_s1; // "exagon.M4.vrmpyeh.acc.s1" + } + break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+16, "h.acc.s", 7)) + break; + switch (NameR[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_acc_s0; // "exagon.M4.vrmpyoh.acc.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_acc_s1; // "exagon.M4.vrmpyoh.acc.s1" + } + break; + } + break; + } + break; + case 'S': // 4 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "sr.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+15, ".svw.trun", 9)) + break; + return Intrinsic::hexagon_S2_asr_i_svw_trun; // "exagon.S2.asr.i.svw.trun" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+15, ".svw.trun", 9)) + break; + return Intrinsic::hexagon_S2_asr_r_svw_trun; // "exagon.S2.asr.r.svw.trun" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "sat", 3)) + break; + switch (NameR[14]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+15, "ub.nopack", 9)) + break; + return Intrinsic::hexagon_S2_vsathub_nopack; // "exagon.S2.vsathub.nopack" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "uh.nopack", 9)) + break; + return Intrinsic::hexagon_S2_vsatwuh_nopack; // "exagon.S2.vsatwuh.nopack" + } + break; + } + break; + } + break; + case 25: // 33 strings to match. + if (memcmp(NameR.data()+0, "exagon.", 7)) + break; + switch (NameR[7]) { + default: break; + case 'A': // 12 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+11, "ddh.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(NameR.data()+16, "16.sat.", 7)) + break; + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[24]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_hh; // "exagon.A2.addh.h16.sat.hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_hl; // "exagon.A2.addh.h16.sat.hl" + } + break; + case 'l': // 2 strings to match. + switch (NameR[24]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_lh; // "exagon.A2.addh.h16.sat.lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_ll; // "exagon.A2.addh.h16.sat.ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "16.sat.", 7)) + break; + switch (NameR[23]) { + default: break; + case 'h': // 1 string to match. + if (NameR[24] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_sat_hl; // "exagon.A2.addh.l16.sat.hl" + case 'l': // 1 string to match. + if (NameR[24] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_sat_ll; // "exagon.A2.addh.l16.sat.ll" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(NameR.data()+11, "ubh.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(NameR.data()+16, "16.sat.", 7)) + break; + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[24]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_hh; // "exagon.A2.subh.h16.sat.hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_hl; // "exagon.A2.subh.h16.sat.hl" + } + break; + case 'l': // 2 strings to match. + switch (NameR[24]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_lh; // "exagon.A2.subh.h16.sat.lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_ll; // "exagon.A2.subh.h16.sat.ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "16.sat.", 7)) + break; + switch (NameR[23]) { + default: break; + case 'h': // 1 string to match. + if (NameR[24] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_sat_hl; // "exagon.A2.subh.l16.sat.hl" + case 'l': // 1 string to match. + if (NameR[24] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_sat_ll; // "exagon.A2.subh.l16.sat.ll" + } + break; + } + break; + } + break; + case 'C': // 1 string to match. + if (memcmp(NameR.data()+8, "4.fastcorner9.not", 17)) + break; + return Intrinsic::hexagon_C4_fastcorner9_not; // "exagon.C4.fastcorner9.not" + case 'F': // 4 strings to match. + if (memcmp(NameR.data()+8, "2.conv.", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+16, "f2u", 3)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2ud_chop; // "exagon.F2.conv.df2ud.chop" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+20, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2uw_chop; // "exagon.F2.conv.df2uw.chop" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "f2u", 3)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2ud_chop; // "exagon.F2.conv.sf2ud.chop" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+20, ".chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2uw_chop; // "exagon.F2.conv.sf2uw.chop" + } + break; + } + break; + case 'M': // 16 strings to match. + if (memcmp(NameR.data()+8, "2.mpyud.", 8)) + break; + switch (NameR[16]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+17, "cc.", 3)) + break; + switch (NameR[20]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[21]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hh_s0; // "exagon.M2.mpyud.acc.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hh_s1; // "exagon.M2.mpyud.acc.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hl_s0; // "exagon.M2.mpyud.acc.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hl_s1; // "exagon.M2.mpyud.acc.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[21]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_lh_s0; // "exagon.M2.mpyud.acc.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_lh_s1; // "exagon.M2.mpyud.acc.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_ll_s0; // "exagon.M2.mpyud.acc.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_ll_s1; // "exagon.M2.mpyud.acc.ll.s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(NameR.data()+17, "ac.", 3)) + break; + switch (NameR[20]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[21]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hh_s0; // "exagon.M2.mpyud.nac.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hh_s1; // "exagon.M2.mpyud.nac.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hl_s0; // "exagon.M2.mpyud.nac.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hl_s1; // "exagon.M2.mpyud.nac.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[21]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_lh_s0; // "exagon.M2.mpyud.nac.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_lh_s1; // "exagon.M2.mpyud.nac.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+22, ".s", 2)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_ll_s0; // "exagon.M2.mpyud.nac.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_ll_s1; // "exagon.M2.mpyud.nac.ll.s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 27: // 24 strings to match. + if (memcmp(NameR.data()+0, "exagon.M2.mpy.", 14)) + break; + switch (NameR[14]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+15, "cc.sat.", 7)) + break; + switch (NameR[22]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hh_s0; // "exagon.M2.mpy.acc.sat.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hh_s1; // "exagon.M2.mpy.acc.sat.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hl_s0; // "exagon.M2.mpy.acc.sat.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hl_s1; // "exagon.M2.mpy.acc.sat.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_lh_s0; // "exagon.M2.mpy.acc.sat.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_lh_s1; // "exagon.M2.mpy.acc.sat.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_ll_s0; // "exagon.M2.mpy.acc.sat.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_ll_s1; // "exagon.M2.mpy.acc.sat.ll.s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(NameR.data()+15, "ac.sat.", 7)) + break; + switch (NameR[22]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hh_s0; // "exagon.M2.mpy.nac.sat.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hh_s1; // "exagon.M2.mpy.nac.sat.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hl_s0; // "exagon.M2.mpy.nac.sat.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hl_s1; // "exagon.M2.mpy.nac.sat.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_lh_s0; // "exagon.M2.mpy.nac.sat.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_lh_s1; // "exagon.M2.mpy.nac.sat.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_ll_s0; // "exagon.M2.mpy.nac.sat.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_ll_s1; // "exagon.M2.mpy.nac.sat.ll.s1" + } + break; + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(NameR.data()+15, "at.rnd.", 7)) + break; + switch (NameR[22]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s0; // "exagon.M2.mpy.sat.rnd.hh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s1; // "exagon.M2.mpy.sat.rnd.hh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s0; // "exagon.M2.mpy.sat.rnd.hl.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s1; // "exagon.M2.mpy.sat.rnd.hl.s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (NameR[23]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s0; // "exagon.M2.mpy.sat.rnd.lh.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s1; // "exagon.M2.mpy.sat.rnd.lh.s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+24, ".s", 2)) + break; + switch (NameR[26]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s0; // "exagon.M2.mpy.sat.rnd.ll.s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s1; // "exagon.M2.mpy.sat.rnd.ll.s1" + } + break; + } + break; + } + break; + } + break; + case 29: // 1 string to match. + if (memcmp(NameR.data()+0, "exagon.S5.vasrhrnd.goodsyntax", 29)) + break; + return Intrinsic::hexagon_S5_vasrhrnd_goodsyntax; // "exagon.S5.vasrhrnd.goodsyntax" + case 30: // 4 strings to match. + if (memcmp(NameR.data()+0, "exagon.S2.tableidx", 18)) + break; + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+19, ".goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxb_goodsyntax; // "exagon.S2.tableidxb.goodsyntax" + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxd_goodsyntax; // "exagon.S2.tableidxd.goodsyntax" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+19, ".goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxh_goodsyntax; // "exagon.S2.tableidxh.goodsyntax" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxw_goodsyntax; // "exagon.S2.tableidxw.goodsyntax" + } + break; + case 32: // 2 strings to match. + if (memcmp(NameR.data()+0, "exagon.S2.asr.i.", 16)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+17, ".rnd.goodsyntax", 15)) + break; + return Intrinsic::hexagon_S2_asr_i_p_rnd_goodsyntax; // "exagon.S2.asr.i.p.rnd.goodsyntax" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+17, ".rnd.goodsyntax", 15)) + break; + return Intrinsic::hexagon_S2_asr_i_r_rnd_goodsyntax; // "exagon.S2.asr.i.r.rnd.goodsyntax" + } + break; + case 35: // 1 string to match. + if (memcmp(NameR.data()+0, "exagon.S5.asrhub.rnd.sat.goodsyntax", 35)) + break; + return Intrinsic::hexagon_S5_asrhub_rnd_sat_goodsyntax; // "exagon.S5.asrhub.rnd.sat.goodsyntax" + } + break; // end of 'h' case. + case 'i': + switch (NameR.size()) { + default: break; + case 12: // 1 string to match. + if (memcmp(NameR.data()+0, "nvariant.end", 12)) + break; + return Intrinsic::invariant_end; // "nvariant.end" + case 14: // 2 strings to match. + if (NameR[0] != 'n') + break; + switch (NameR[1]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+2, "t.trampoline", 12)) + break; + return Intrinsic::init_trampoline; // "nit.trampoline" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+2, "ariant.start", 12)) + break; + return Intrinsic::invariant_start; // "nvariant.start" + } + break; + } + break; // end of 'i' case. + case 'l': + if (NameR.startswith("og2.")) return Intrinsic::log2; + if (NameR.startswith("og10.")) return Intrinsic::log10; + if (NameR.startswith("og.")) return Intrinsic::log; + switch (NameR.size()) { + default: break; + case 6: // 1 string to match. + if (memcmp(NameR.data()+0, "ongjmp", 6)) + break; + return Intrinsic::longjmp; // "ongjmp" + case 11: // 1 string to match. + if (memcmp(NameR.data()+0, "ifetime.end", 11)) + break; + return Intrinsic::lifetime_end; // "ifetime.end" + case 13: // 1 string to match. + if (memcmp(NameR.data()+0, "ifetime.start", 13)) + break; + return Intrinsic::lifetime_start; // "ifetime.start" + } + break; // end of 'l' case. + case 'm': + if (NameR.startswith("emset.")) return Intrinsic::memset; + if (NameR.startswith("emmove.")) return Intrinsic::memmove; + if (NameR.startswith("emcpy.")) return Intrinsic::memcpy; + switch (NameR.size()) { + default: break; + case 7: // 3 strings to match. + if (memcmp(NameR.data()+0, "ips.l", 5)) + break; + switch (NameR[5]) { + default: break; + case 'h': // 1 string to match. + if (NameR[6] != 'x') + break; + return Intrinsic::mips_lhx; // "ips.lhx" + case 's': // 1 string to match. + if (NameR[6] != 'a') + break; + return Intrinsic::mips_lsa; // "ips.lsa" + case 'w': // 1 string to match. + if (NameR[6] != 'x') + break; + return Intrinsic::mips_lwx; // "ips.lwx" + } + break; + case 8: // 21 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'b': // 5 strings to match. + if (memcmp(NameR.data()+5, "z.", 2)) + break; + switch (NameR[7]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bz_b; // "ips.bz.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bz_d; // "ips.bz.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bz_h; // "ips.bz.h" + case 'v': // 1 string to match. + return Intrinsic::mips_bz_v; // "ips.bz.v" + case 'w': // 1 string to match. + return Intrinsic::mips_bz_w; // "ips.bz.w" + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+5, "lsa", 3)) + break; + return Intrinsic::mips_dlsa; // "ips.dlsa" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+5, "xtp", 3)) + break; + return Intrinsic::mips_extp; // "ips.extp" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+5, "nsv", 3)) + break; + return Intrinsic::mips_insv; // "ips.insv" + case 'l': // 5 strings to match. + switch (NameR[5]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+6, "ux", 2)) + break; + return Intrinsic::mips_lbux; // "ips.lbux" + case 'd': // 4 strings to match. + if (NameR[6] != '.') + break; + switch (NameR[7]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ld_b; // "ips.ld.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ld_d; // "ips.ld.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ld_h; // "ips.ld.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ld_w; // "ips.ld.w" + } + break; + } + break; + case 'm': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "dd", 2)) + break; + return Intrinsic::mips_madd; // "ips.madd" + case 's': // 1 string to match. + if (memcmp(NameR.data()+6, "ub", 2)) + break; + return Intrinsic::mips_msub; // "ips.msub" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+6, "lt", 2)) + break; + return Intrinsic::mips_mult; // "ips.mult" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+5, "r.v", 3)) + break; + return Intrinsic::mips_or_v; // "ips.or.v" + case 's': // 4 strings to match. + if (memcmp(NameR.data()+5, "t.", 2)) + break; + switch (NameR[7]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_st_b; // "ips.st.b" + case 'd': // 1 string to match. + return Intrinsic::mips_st_d; // "ips.st.d" + case 'h': // 1 string to match. + return Intrinsic::mips_st_h; // "ips.st.h" + case 'w': // 1 string to match. + return Intrinsic::mips_st_w; // "ips.st.w" + } + break; + } + break; + case 9: // 47 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[6] != 'd') + break; + switch (NameR[7]) { + default: break; + case 's': // 1 string to match. + if (NameR[8] != 'c') + break; + return Intrinsic::mips_addsc; // "ips.addsc" + case 'w': // 1 string to match. + if (NameR[8] != 'c') + break; + return Intrinsic::mips_addwc; // "ips.addwc" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+6, "d.v", 3)) + break; + return Intrinsic::mips_and_v; // "ips.and.v" + } + break; + case 'b': // 6 strings to match. + switch (NameR[5]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+6, "z.v", 3)) + break; + return Intrinsic::mips_bmz_v; // "ips.bmz.v" + case 'n': // 5 strings to match. + if (memcmp(NameR.data()+6, "z.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bnz_b; // "ips.bnz.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bnz_d; // "ips.bnz.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bnz_h; // "ips.bnz.h" + case 'v': // 1 string to match. + return Intrinsic::mips_bnz_v; // "ips.bnz.v" + case 'w': // 1 string to match. + return Intrinsic::mips_bnz_w; // "ips.bnz.w" + } + break; + } + break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+5, "eq.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ceq_b; // "ips.ceq.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ceq_d; // "ips.ceq.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ceq_h; // "ips.ceq.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ceq_w; // "ips.ceq.w" + } + break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+5, "tq.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_ftq_h; // "ips.ftq.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ftq_w; // "ips.ftq.w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+5, "di.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ldi_b; // "ips.ldi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ldi_d; // "ips.ldi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ldi_h; // "ips.ldi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ldi_w; // "ips.ldi.w" + } + break; + case 'm': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "ddu", 3)) + break; + return Intrinsic::mips_maddu; // "ips.maddu" + case 's': // 1 string to match. + if (memcmp(NameR.data()+6, "ubu", 3)) + break; + return Intrinsic::mips_msubu; // "ips.msubu" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+6, "ltu", 3)) + break; + return Intrinsic::mips_multu; // "ips.multu" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+5, "or.v", 4)) + break; + return Intrinsic::mips_nor_v; // "ips.nor.v" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+5, "ri.b", 4)) + break; + return Intrinsic::mips_ori_b; // "ips.ori.b" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+5, "ddsp", 4)) + break; + return Intrinsic::mips_rddsp; // "ips.rddsp" + case 's': // 20 strings to match. + switch (NameR[5]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[6]) { + default: break; + case 'f': // 3 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_shf_b; // "ips.shf.b" + case 'h': // 1 string to match. + return Intrinsic::mips_shf_h; // "ips.shf.h" + case 'w': // 1 string to match. + return Intrinsic::mips_shf_w; // "ips.shf.w" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+7, "lo", 2)) + break; + return Intrinsic::mips_shilo; // "ips.shilo" + } + break; + case 'l': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'd': // 4 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sld_b; // "ips.sld.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sld_d; // "ips.sld.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sld_h; // "ips.sld.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sld_w; // "ips.sld.w" + } + break; + case 'l': // 4 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sll_b; // "ips.sll.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sll_d; // "ips.sll.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sll_h; // "ips.sll.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sll_w; // "ips.sll.w" + } + break; + } + break; + case 'r': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sra_b; // "ips.sra.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sra_d; // "ips.sra.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sra_h; // "ips.sra.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sra_w; // "ips.sra.w" + } + break; + case 'l': // 4 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srl_b; // "ips.srl.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srl_d; // "ips.srl.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srl_h; // "ips.srl.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srl_w; // "ips.srl.w" + } + break; + } + break; + } + break; + case 'w': // 1 string to match. + if (memcmp(NameR.data()+5, "rdsp", 4)) + break; + return Intrinsic::mips_wrdsp; // "ips.wrdsp" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+5, "or.v", 4)) + break; + return Intrinsic::mips_xor_v; // "ips.xor.v" + } + break; + case 10: // 143 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[5]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+6, "dv.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_addv_b; // "ips.addv.b" + case 'd': // 1 string to match. + return Intrinsic::mips_addv_d; // "ips.addv.d" + case 'h': // 1 string to match. + return Intrinsic::mips_addv_h; // "ips.addv.h" + case 'w': // 1 string to match. + return Intrinsic::mips_addv_w; // "ips.addv.w" + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+6, "di.b", 4)) + break; + return Intrinsic::mips_andi_b; // "ips.andi.b" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+6, "pend", 4)) + break; + return Intrinsic::mips_append; // "ips.append" + } + break; + case 'b': // 17 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "lign", 4)) + break; + return Intrinsic::mips_balign; // "ips.balign" + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+6, "lr.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bclr_b; // "ips.bclr.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bclr_d; // "ips.bclr.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bclr_h; // "ips.bclr.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bclr_w; // "ips.bclr.w" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+6, "trev", 4)) + break; + return Intrinsic::mips_bitrev; // "ips.bitrev" + case 'm': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+7, "z.v", 3)) + break; + return Intrinsic::mips_bmnz_v; // "ips.bmnz.v" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+7, "i.b", 3)) + break; + return Intrinsic::mips_bmzi_b; // "ips.bmzi.b" + } + break; + case 'n': // 4 strings to match. + if (memcmp(NameR.data()+6, "eg.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bneg_b; // "ips.bneg.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bneg_d; // "ips.bneg.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bneg_h; // "ips.bneg.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bneg_w; // "ips.bneg.w" + } + break; + case 's': // 5 strings to match. + if (NameR[6] != 'e') + break; + switch (NameR[7]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, ".v", 2)) + break; + return Intrinsic::mips_bsel_v; // "ips.bsel.v" + case 't': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bset_b; // "ips.bset.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bset_d; // "ips.bset.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bset_h; // "ips.bset.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bset_w; // "ips.bset.w" + } + break; + } + break; + } + break; + case 'c': // 6 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(NameR.data()+6, "qi.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ceqi_b; // "ips.ceqi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ceqi_d; // "ips.ceqi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ceqi_h; // "ips.ceqi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ceqi_w; // "ips.ceqi.w" + } + break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+6, "cmsa", 4)) + break; + return Intrinsic::mips_cfcmsa; // "ips.cfcmsa" + case 't': // 1 string to match. + if (memcmp(NameR.data()+6, "cmsa", 4)) + break; + return Intrinsic::mips_ctcmsa; // "ips.ctcmsa" + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+5, "xt", 2)) + break; + switch (NameR[7]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+8, "dp", 2)) + break; + return Intrinsic::mips_extpdp; // "ips.extpdp" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+8, ".w", 2)) + break; + return Intrinsic::mips_extr_w; // "ips.extr.w" + } + break; + case 'f': // 50 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+6, "dd.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fadd_d; // "ips.fadd.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fadd_w; // "ips.fadd.w" + } + break; + case 'c': // 14 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "f.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcaf_d; // "ips.fcaf.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcaf_w; // "ips.fcaf.w" + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+7, "q.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fceq_d; // "ips.fceq.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fceq_w; // "ips.fceq.w" + } + break; + case 'l': // 4 strings to match. + switch (NameR[7]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcle_d; // "ips.fcle.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcle_w; // "ips.fcle.w" + } + break; + case 't': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fclt_d; // "ips.fclt.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fclt_w; // "ips.fclt.w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+7, "e.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcne_d; // "ips.fcne.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcne_w; // "ips.fcne.w" + } + break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+7, "r.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcor_d; // "ips.fcor.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcor_w; // "ips.fcor.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+7, "n.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcun_d; // "ips.fcun.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcun_w; // "ips.fcun.w" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+6, "iv.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fdiv_d; // "ips.fdiv.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fdiv_w; // "ips.fdiv.w" + } + break; + case 'f': // 4 strings to match. + if (NameR[6] != 'q') + break; + switch (NameR[7]) { + default: break; + case 'l': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffql_d; // "ips.ffql.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffql_w; // "ips.ffql.w" + } + break; + case 'r': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffqr_d; // "ips.ffqr.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffqr_w; // "ips.ffqr.w" + } + break; + } + break; + case 'i': // 4 strings to match. + if (memcmp(NameR.data()+6, "ll.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_fill_b; // "ips.fill.b" + case 'd': // 1 string to match. + return Intrinsic::mips_fill_d; // "ips.fill.d" + case 'h': // 1 string to match. + return Intrinsic::mips_fill_h; // "ips.fill.h" + case 'w': // 1 string to match. + return Intrinsic::mips_fill_w; // "ips.fill.w" + } + break; + case 'm': // 6 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "x.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmax_d; // "ips.fmax.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmax_w; // "ips.fmax.w" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+7, "n.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmin_d; // "ips.fmin.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmin_w; // "ips.fmin.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+7, "l.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmul_d; // "ips.fmul.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmul_w; // "ips.fmul.w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+6, "cp.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frcp_d; // "ips.frcp.d" + case 'w': // 1 string to match. + return Intrinsic::mips_frcp_w; // "ips.frcp.w" + } + break; + case 's': // 16 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "f.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsaf_d; // "ips.fsaf.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsaf_w; // "ips.fsaf.w" + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+7, "q.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fseq_d; // "ips.fseq.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fseq_w; // "ips.fseq.w" + } + break; + case 'l': // 4 strings to match. + switch (NameR[7]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsle_d; // "ips.fsle.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsle_w; // "ips.fsle.w" + } + break; + case 't': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fslt_d; // "ips.fslt.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fslt_w; // "ips.fslt.w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+7, "e.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsne_d; // "ips.fsne.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsne_w; // "ips.fsne.w" + } + break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+7, "r.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsor_d; // "ips.fsor.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsor_w; // "ips.fsor.w" + } + break; + case 'u': // 4 strings to match. + switch (NameR[7]) { + default: break; + case 'b': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsub_d; // "ips.fsub.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsub_w; // "ips.fsub.w" + } + break; + case 'n': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsun_d; // "ips.fsun.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsun_w; // "ips.fsun.w" + } + break; + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (memcmp(NameR.data()+5, "lv", 2)) + break; + switch (NameR[7]) { + default: break; + case 'l': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvl_b; // "ips.ilvl.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvl_d; // "ips.ilvl.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvl_h; // "ips.ilvl.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvl_w; // "ips.ilvl.w" + } + break; + case 'r': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvr_b; // "ips.ilvr.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvr_d; // "ips.ilvr.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvr_h; // "ips.ilvr.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvr_w; // "ips.ilvr.w" + } + break; + } + break; + case 'm': // 8 strings to match. + switch (NameR[5]) { + default: break; + case 'o': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+7, "sub", 3)) + break; + return Intrinsic::mips_modsub; // "ips.modsub" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+7, "e.v", 3)) + break; + return Intrinsic::mips_move_v; // "ips.move.v" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+6, "hlip", 4)) + break; + return Intrinsic::mips_mthlip; // "ips.mthlip" + case 'u': // 5 strings to match. + if (NameR[6] != 'l') + break; + switch (NameR[7]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+8, "ph", 2)) + break; + return Intrinsic::mips_mul_ph; // "ips.mul.ph" + case 'v': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mulv_b; // "ips.mulv.b" + case 'd': // 1 string to match. + return Intrinsic::mips_mulv_d; // "ips.mulv.d" + case 'h': // 1 string to match. + return Intrinsic::mips_mulv_h; // "ips.mulv.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mulv_w; // "ips.mulv.w" + } + break; + } + break; + } + break; + case 'n': // 9 strings to match. + switch (NameR[5]) { + default: break; + case 'l': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'o': // 4 strings to match. + if (memcmp(NameR.data()+7, "c.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_nloc_b; // "ips.nloc.b" + case 'd': // 1 string to match. + return Intrinsic::mips_nloc_d; // "ips.nloc.d" + case 'h': // 1 string to match. + return Intrinsic::mips_nloc_h; // "ips.nloc.h" + case 'w': // 1 string to match. + return Intrinsic::mips_nloc_w; // "ips.nloc.w" + } + break; + case 'z': // 4 strings to match. + if (memcmp(NameR.data()+7, "c.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_nlzc_b; // "ips.nlzc.b" + case 'd': // 1 string to match. + return Intrinsic::mips_nlzc_d; // "ips.nlzc.d" + case 'h': // 1 string to match. + return Intrinsic::mips_nlzc_h; // "ips.nlzc.h" + case 'w': // 1 string to match. + return Intrinsic::mips_nlzc_w; // "ips.nlzc.w" + } + break; + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+6, "ri.b", 4)) + break; + return Intrinsic::mips_nori_b; // "ips.nori.b" + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+5, "cnt.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pcnt_b; // "ips.pcnt.b" + case 'd': // 1 string to match. + return Intrinsic::mips_pcnt_d; // "ips.pcnt.d" + case 'h': // 1 string to match. + return Intrinsic::mips_pcnt_h; // "ips.pcnt.h" + case 'w': // 1 string to match. + return Intrinsic::mips_pcnt_w; // "ips.pcnt.w" + } + break; + case 's': // 28 strings to match. + switch (NameR[5]) { + default: break; + case 'l': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+7, "i.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sldi_b; // "ips.sldi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sldi_d; // "ips.sldi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sldi_h; // "ips.sldi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sldi_w; // "ips.sldi.w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "i.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_slli_b; // "ips.slli.b" + case 'd': // 1 string to match. + return Intrinsic::mips_slli_d; // "ips.slli.d" + case 'h': // 1 string to match. + return Intrinsic::mips_slli_h; // "ips.slli.h" + case 'w': // 1 string to match. + return Intrinsic::mips_slli_w; // "ips.slli.w" + } + break; + } + break; + case 'r': // 16 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'i': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srai_b; // "ips.srai.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srai_d; // "ips.srai.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srai_h; // "ips.srai.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srai_w; // "ips.srai.w" + } + break; + case 'r': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srar_b; // "ips.srar.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srar_d; // "ips.srar.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srar_h; // "ips.srar.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srar_w; // "ips.srar.w" + } + break; + } + break; + case 'l': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'i': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srli_b; // "ips.srli.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srli_d; // "ips.srli.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srli_h; // "ips.srli.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srli_w; // "ips.srli.w" + } + break; + case 'r': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srlr_b; // "ips.srlr.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srlr_d; // "ips.srlr.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srlr_h; // "ips.srlr.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srlr_w; // "ips.srlr.w" + } + break; + } + break; + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+6, "bv.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subv_b; // "ips.subv.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subv_d; // "ips.subv.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subv_h; // "ips.subv.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subv_w; // "ips.subv.w" + } + break; + } + break; + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+5, "shf.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_vshf_b; // "ips.vshf.b" + case 'd': // 1 string to match. + return Intrinsic::mips_vshf_d; // "ips.vshf.d" + case 'h': // 1 string to match. + return Intrinsic::mips_vshf_h; // "ips.vshf.h" + case 'w': // 1 string to match. + return Intrinsic::mips_vshf_w; // "ips.vshf.w" + } + break; + case 'x': // 1 string to match. + if (memcmp(NameR.data()+5, "ori.b", 5)) + break; + return Intrinsic::mips_xori_b; // "ips.xori.b" + } + break; + case 11: // 197 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 20 strings to match. + switch (NameR[5]) { + default: break; + case 'd': // 12 strings to match. + if (NameR[6] != 'd') + break; + switch (NameR[7]) { + default: break; + case '.': // 4 strings to match. + if (memcmp(NameR.data()+8, "a.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_add_a_b; // "ips.add.a.b" + case 'd': // 1 string to match. + return Intrinsic::mips_add_a_d; // "ips.add.a.d" + case 'h': // 1 string to match. + return Intrinsic::mips_add_a_h; // "ips.add.a.h" + case 'w': // 1 string to match. + return Intrinsic::mips_add_a_w; // "ips.add.a.w" + } + break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "ph", 2)) + break; + return Intrinsic::mips_addq_ph; // "ips.addq.ph" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".w", 2)) + break; + return Intrinsic::mips_addqh_w; // "ips.addqh.w" + } + break; + case 'u': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_addu_ph; // "ips.addu.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_addu_qb; // "ips.addu.qb" + } + break; + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+8, "i.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_addvi_b; // "ips.addvi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_addvi_d; // "ips.addvi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_addvi_h; // "ips.addvi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_addvi_w; // "ips.addvi.w" + } + break; + } + break; + case 'v': // 8 strings to match. + if (memcmp(NameR.data()+6, "e.", 2)) + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ave_s_b; // "ips.ave.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ave_s_d; // "ips.ave.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ave_s_h; // "ips.ave.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ave_s_w; // "ips.ave.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ave_u_b; // "ips.ave.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ave_u_d; // "ips.ave.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ave_u_h; // "ips.ave.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ave_u_w; // "ips.ave.u.w" + } + break; + } + break; + } + break; + case 'b': // 22 strings to match. + switch (NameR[5]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+6, "lri.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bclri_b; // "ips.bclri.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bclri_d; // "ips.bclri.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bclri_h; // "ips.bclri.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bclri_w; // "ips.bclri.w" + } + break; + case 'i': // 8 strings to match. + if (memcmp(NameR.data()+6, "ns", 2)) + break; + switch (NameR[8]) { + default: break; + case 'l': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsl_b; // "ips.binsl.b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsl_d; // "ips.binsl.d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsl_h; // "ips.binsl.h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsl_w; // "ips.binsl.w" + } + break; + case 'r': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsr_b; // "ips.binsr.b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsr_d; // "ips.binsr.d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsr_h; // "ips.binsr.h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsr_w; // "ips.binsr.w" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+6, "nzi.b", 5)) + break; + return Intrinsic::mips_bmnzi_b; // "ips.bmnzi.b" + case 'n': // 4 strings to match. + if (memcmp(NameR.data()+6, "egi.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bnegi_b; // "ips.bnegi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bnegi_d; // "ips.bnegi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bnegi_h; // "ips.bnegi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bnegi_w; // "ips.bnegi.w" + } + break; + case 's': // 5 strings to match. + if (NameR[6] != 'e') + break; + switch (NameR[7]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, "i.b", 3)) + break; + return Intrinsic::mips_bseli_b; // "ips.bseli.b" + case 't': // 4 strings to match. + if (memcmp(NameR.data()+8, "i.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bseti_b; // "ips.bseti.b" + case 'd': // 1 string to match. + return Intrinsic::mips_bseti_d; // "ips.bseti.d" + case 'h': // 1 string to match. + return Intrinsic::mips_bseti_h; // "ips.bseti.h" + case 'w': // 1 string to match. + return Intrinsic::mips_bseti_w; // "ips.bseti.w" + } + break; + } + break; + } + break; + case 'c': // 16 strings to match. + if (NameR[5] != 'l') + break; + switch (NameR[6]) { + default: break; + case 'e': // 8 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_cle_s_b; // "ips.cle.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_cle_s_d; // "ips.cle.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_cle_s_h; // "ips.cle.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_cle_s_w; // "ips.cle.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_cle_u_b; // "ips.cle.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_cle_u_d; // "ips.cle.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_cle_u_h; // "ips.cle.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_cle_u_w; // "ips.cle.u.w" + } + break; + } + break; + case 't': // 8 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clt_s_b; // "ips.clt.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clt_s_d; // "ips.clt.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clt_s_h; // "ips.clt.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clt_s_w; // "ips.clt.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clt_u_b; // "ips.clt.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clt_u_d; // "ips.clt.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clt_u_h; // "ips.clt.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clt_u_w; // "ips.clt.u.w" + } + break; + } + break; + } + break; + case 'd': // 8 strings to match. + if (memcmp(NameR.data()+5, "iv.", 3)) + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_div_s_b; // "ips.div.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_div_s_d; // "ips.div.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_div_s_h; // "ips.div.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_div_s_w; // "ips.div.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_div_u_b; // "ips.div.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_div_u_d; // "ips.div.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_div_u_h; // "ips.div.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_div_u_w; // "ips.div.u.w" + } + break; + } + break; + case 'f': // 30 strings to match. + switch (NameR[5]) { + default: break; + case 'c': // 8 strings to match. + if (NameR[6] != 'u') + break; + switch (NameR[7]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+8, "q.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcueq_d; // "ips.fcueq.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcueq_w; // "ips.fcueq.w" + } + break; + case 'l': // 4 strings to match. + switch (NameR[8]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcule_d; // "ips.fcule.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcule_w; // "ips.fcule.w" + } + break; + case 't': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcult_d; // "ips.fcult.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcult_w; // "ips.fcult.w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+8, "e.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcune_d; // "ips.fcune.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcune_w; // "ips.fcune.w" + } + break; + } + break; + case 'e': // 4 strings to match. + if (NameR[6] != 'x') + break; + switch (NameR[7]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+8, "o.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_fexdo_h; // "ips.fexdo.h" + case 'w': // 1 string to match. + return Intrinsic::mips_fexdo_w; // "ips.fexdo.w" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+8, "2.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexp2_d; // "ips.fexp2.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexp2_w; // "ips.fexp2.w" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+6, "og2.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_flog2_d; // "ips.flog2.d" + case 'w': // 1 string to match. + return Intrinsic::mips_flog2_w; // "ips.flog2.w" + } + break; + case 'm': // 4 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "dd.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmadd_d; // "ips.fmadd.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmadd_w; // "ips.fmadd.w" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+7, "ub.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmsub_d; // "ips.fmsub.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmsub_w; // "ips.fmsub.w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+6, "int.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frint_d; // "ips.frint.d" + case 'w': // 1 string to match. + return Intrinsic::mips_frint_w; // "ips.frint.w" + } + break; + case 's': // 10 strings to match. + switch (NameR[6]) { + default: break; + case 'q': // 2 strings to match. + if (memcmp(NameR.data()+7, "rt.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsqrt_d; // "ips.fsqrt.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsqrt_w; // "ips.fsqrt.w" + } + break; + case 'u': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+8, "q.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsueq_d; // "ips.fsueq.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsueq_w; // "ips.fsueq.w" + } + break; + case 'l': // 4 strings to match. + switch (NameR[8]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsule_d; // "ips.fsule.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsule_w; // "ips.fsule.w" + } + break; + case 't': // 2 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsult_d; // "ips.fsult.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsult_w; // "ips.fsult.w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+8, "e.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsune_d; // "ips.fsune.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsune_w; // "ips.fsune.w" + } + break; + } + break; + } + break; + } + break; + case 'i': // 12 strings to match. + switch (NameR[5]) { + default: break; + case 'l': // 8 strings to match. + if (NameR[6] != 'v') + break; + switch (NameR[7]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(NameR.data()+8, "v.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvev_b; // "ips.ilvev.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvev_d; // "ips.ilvev.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvev_h; // "ips.ilvev.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvev_w; // "ips.ilvev.w" + } + break; + case 'o': // 4 strings to match. + if (memcmp(NameR.data()+8, "d.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvod_b; // "ips.ilvod.b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvod_d; // "ips.ilvod.d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvod_h; // "ips.ilvod.h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvod_w; // "ips.ilvod.w" + } + break; + } + break; + case 'n': // 4 strings to match. + if (memcmp(NameR.data()+6, "sve.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_insve_b; // "ips.insve.b" + case 'd': // 1 string to match. + return Intrinsic::mips_insve_d; // "ips.insve.d" + case 'h': // 1 string to match. + return Intrinsic::mips_insve_h; // "ips.insve.h" + case 'w': // 1 string to match. + return Intrinsic::mips_insve_w; // "ips.insve.w" + } + break; + } + break; + case 'm': // 42 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 16 strings to match. + switch (NameR[6]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+7, "dv.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maddv_b; // "ips.maddv.b" + case 'd': // 1 string to match. + return Intrinsic::mips_maddv_d; // "ips.maddv.d" + case 'h': // 1 string to match. + return Intrinsic::mips_maddv_h; // "ips.maddv.h" + case 'w': // 1 string to match. + return Intrinsic::mips_maddv_w; // "ips.maddv.w" + } + break; + case 'x': // 12 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_a_b; // "ips.max.a.b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_a_d; // "ips.max.a.d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_a_h; // "ips.max.a.h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_a_w; // "ips.max.a.w" + } + break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_s_b; // "ips.max.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_s_d; // "ips.max.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_s_h; // "ips.max.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_s_w; // "ips.max.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_u_b; // "ips.max.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_u_d; // "ips.max.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_u_h; // "ips.max.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_u_w; // "ips.max.u.w" + } + break; + } + break; + } + break; + case 'i': // 12 strings to match. + if (memcmp(NameR.data()+6, "n.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_a_b; // "ips.min.a.b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_a_d; // "ips.min.a.d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_a_h; // "ips.min.a.h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_a_w; // "ips.min.a.w" + } + break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_s_b; // "ips.min.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_s_d; // "ips.min.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_s_h; // "ips.min.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_s_w; // "ips.min.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_u_b; // "ips.min.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_u_d; // "ips.min.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_u_h; // "ips.min.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_u_w; // "ips.min.u.w" + } + break; + } + break; + case 'o': // 8 strings to match. + if (memcmp(NameR.data()+6, "d.", 2)) + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mod_s_b; // "ips.mod.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_mod_s_d; // "ips.mod.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_mod_s_h; // "ips.mod.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mod_s_w; // "ips.mod.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mod_u_b; // "ips.mod.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_mod_u_d; // "ips.mod.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_mod_u_h; // "ips.mod.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mod_u_w; // "ips.mod.u.w" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+6, "ubv.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_msubv_b; // "ips.msubv.b" + case 'd': // 1 string to match. + return Intrinsic::mips_msubv_d; // "ips.msubv.d" + case 'h': // 1 string to match. + return Intrinsic::mips_msubv_h; // "ips.msubv.h" + case 'w': // 1 string to match. + return Intrinsic::mips_msubv_w; // "ips.msubv.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+6, "l.q.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_mul_q_h; // "ips.mul.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mul_q_w; // "ips.mul.q.w" + } + break; + } + break; + case 'p': // 11 strings to match. + switch (NameR[5]) { + default: break; + case 'c': // 8 strings to match. + if (NameR[6] != 'k') + break; + switch (NameR[7]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(NameR.data()+8, "v.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pckev_b; // "ips.pckev.b" + case 'd': // 1 string to match. + return Intrinsic::mips_pckev_d; // "ips.pckev.d" + case 'h': // 1 string to match. + return Intrinsic::mips_pckev_h; // "ips.pckev.h" + case 'w': // 1 string to match. + return Intrinsic::mips_pckev_w; // "ips.pckev.w" + } + break; + case 'o': // 4 strings to match. + if (memcmp(NameR.data()+8, "d.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pckod_b; // "ips.pckod.b" + case 'd': // 1 string to match. + return Intrinsic::mips_pckod_d; // "ips.pckod.d" + case 'h': // 1 string to match. + return Intrinsic::mips_pckod_h; // "ips.pckod.h" + case 'w': // 1 string to match. + return Intrinsic::mips_pckod_w; // "ips.pckod.w" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+6, "ck.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_pick_ph; // "ips.pick.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_pick_qb; // "ips.pick.qb" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+6, "epend", 5)) + break; + return Intrinsic::mips_prepend; // "ips.prepend" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+5, "epl.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_repl_ph; // "ips.repl.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_repl_qb; // "ips.repl.qb" + } + break; + case 's': // 34 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+6, "t.", 2)) + break; + switch (NameR[8]) { + default: break; + case 's': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sat_s_b; // "ips.sat.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sat_s_d; // "ips.sat.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sat_s_h; // "ips.sat.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sat_s_w; // "ips.sat.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[9] != '.') + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sat_u_b; // "ips.sat.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_sat_u_d; // "ips.sat.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_sat_u_h; // "ips.sat.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_sat_u_w; // "ips.sat.u.w" + } + break; + } + break; + case 'h': // 6 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+7, "l.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_shll_ph; // "ips.shll.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_shll_qb; // "ips.shll.qb" + } + break; + case 'r': // 4 strings to match. + switch (NameR[7]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_shra_ph; // "ips.shra.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_shra_qb; // "ips.shra.qb" + } + break; + case 'l': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_shrl_ph; // "ips.shrl.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_shrl_qb; // "ips.shrl.qb" + } + break; + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+6, "lat.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_splat_b; // "ips.splat.b" + case 'd': // 1 string to match. + return Intrinsic::mips_splat_d; // "ips.splat.d" + case 'h': // 1 string to match. + return Intrinsic::mips_splat_h; // "ips.splat.h" + case 'w': // 1 string to match. + return Intrinsic::mips_splat_w; // "ips.splat.w" + } + break; + case 'r': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+7, "ri.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srari_b; // "ips.srari.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srari_d; // "ips.srari.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srari_h; // "ips.srari.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srari_w; // "ips.srari.w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "ri.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srlri_b; // "ips.srlri.b" + case 'd': // 1 string to match. + return Intrinsic::mips_srlri_d; // "ips.srlri.d" + case 'h': // 1 string to match. + return Intrinsic::mips_srlri_h; // "ips.srlri.h" + case 'w': // 1 string to match. + return Intrinsic::mips_srlri_w; // "ips.srlri.w" + } + break; + } + break; + case 'u': // 8 strings to match. + if (NameR[6] != 'b') + break; + switch (NameR[7]) { + default: break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "ph", 2)) + break; + return Intrinsic::mips_subq_ph; // "ips.subq.ph" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".w", 2)) + break; + return Intrinsic::mips_subqh_w; // "ips.subqh.w" + } + break; + case 'u': // 2 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'p': // 1 string to match. + if (NameR[10] != 'h') + break; + return Intrinsic::mips_subu_ph; // "ips.subu.ph" + case 'q': // 1 string to match. + if (NameR[10] != 'b') + break; + return Intrinsic::mips_subu_qb; // "ips.subu.qb" + } + break; + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+8, "i.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subvi_b; // "ips.subvi.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subvi_d; // "ips.subvi.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subvi_h; // "ips.subvi.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subvi_w; // "ips.subvi.w" + } + break; + } + break; + } + break; + } + break; + case 12: // 144 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 32 strings to match. + switch (NameR[5]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+6, "sq.s.w", 6)) + break; + return Intrinsic::mips_absq_s_w; // "ips.absq.s.w" + case 'd': // 15 strings to match. + if (NameR[6] != 'd') + break; + switch (NameR[7]) { + default: break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "s.w", 3)) + break; + return Intrinsic::mips_addq_s_w; // "ips.addq.s.w" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".ph", 3)) + break; + return Intrinsic::mips_addqh_ph; // "ips.addqh.ph" + } + break; + case 's': // 12 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_a_b; // "ips.adds.a.b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_a_d; // "ips.adds.a.d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_a_h; // "ips.adds.a.h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_a_w; // "ips.adds.a.w" + } + break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_s_b; // "ips.adds.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_s_d; // "ips.adds.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_s_h; // "ips.adds.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_s_w; // "ips.adds.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_u_b; // "ips.adds.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_u_d; // "ips.adds.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_u_h; // "ips.adds.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_u_w; // "ips.adds.u.w" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+8, "h.qb", 4)) + break; + return Intrinsic::mips_adduh_qb; // "ips.adduh.qb" + } + break; + case 's': // 8 strings to match. + if (memcmp(NameR.data()+6, "ub.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_asub_s_b; // "ips.asub.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_asub_s_d; // "ips.asub.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_asub_s_h; // "ips.asub.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_asub_s_w; // "ips.asub.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_asub_u_b; // "ips.asub.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_asub_u_d; // "ips.asub.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_asub_u_h; // "ips.asub.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_asub_u_w; // "ips.asub.u.w" + } + break; + } + break; + case 'v': // 8 strings to match. + if (memcmp(NameR.data()+6, "er.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_aver_s_b; // "ips.aver.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_aver_s_d; // "ips.aver.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_aver_s_h; // "ips.aver.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_aver_s_w; // "ips.aver.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_aver_u_b; // "ips.aver.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_aver_u_d; // "ips.aver.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_aver_u_h; // "ips.aver.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_aver_u_w; // "ips.aver.u.w" + } + break; + } + break; + } + break; + case 'b': // 9 strings to match. + switch (NameR[5]) { + default: break; + case 'i': // 8 strings to match. + if (memcmp(NameR.data()+6, "ns", 2)) + break; + switch (NameR[8]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+9, "i.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsli_b; // "ips.binsli.b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsli_d; // "ips.binsli.d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsli_h; // "ips.binsli.h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsli_w; // "ips.binsli.w" + } + break; + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+9, "i.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsri_b; // "ips.binsri.b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsri_d; // "ips.binsri.d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsri_h; // "ips.binsri.h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsri_w; // "ips.binsri.w" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+6, "osge32", 6)) + break; + return Intrinsic::mips_bposge32; // "ips.bposge32" + } + break; + case 'c': // 24 strings to match. + switch (NameR[5]) { + default: break; + case 'l': // 16 strings to match. + switch (NameR[6]) { + default: break; + case 'e': // 8 strings to match. + if (memcmp(NameR.data()+7, "i.", 2)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clei_s_b; // "ips.clei.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clei_s_d; // "ips.clei.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clei_s_h; // "ips.clei.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clei_s_w; // "ips.clei.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clei_u_b; // "ips.clei.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clei_u_d; // "ips.clei.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clei_u_h; // "ips.clei.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clei_u_w; // "ips.clei.u.w" + } + break; + } + break; + case 't': // 8 strings to match. + if (memcmp(NameR.data()+7, "i.", 2)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clti_s_b; // "ips.clti.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clti_s_d; // "ips.clti.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clti_s_h; // "ips.clti.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clti_s_w; // "ips.clti.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clti_u_b; // "ips.clti.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_clti_u_d; // "ips.clti.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_clti_u_h; // "ips.clti.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_clti_u_w; // "ips.clti.u.w" + } + break; + } + break; + } + break; + case 'o': // 8 strings to match. + if (memcmp(NameR.data()+6, "py.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_copy_s_b; // "ips.copy.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_copy_s_d; // "ips.copy.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_copy_s_h; // "ips.copy.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_copy_s_w; // "ips.copy.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_copy_u_b; // "ips.copy.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_copy_u_d; // "ips.copy.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_copy_u_h; // "ips.copy.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_copy_u_w; // "ips.copy.u.w" + } + break; + } + break; + } + break; + case 'd': // 8 strings to match. + switch (NameR[5]) { + default: break; + case 'o': // 6 strings to match. + if (memcmp(NameR.data()+6, "tp.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dotp_s_d; // "ips.dotp.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dotp_s_h; // "ips.dotp.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dotp_s_w; // "ips.dotp.s.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dotp_u_d; // "ips.dotp.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dotp_u_h; // "ips.dotp.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dotp_u_w; // "ips.dotp.u.w" + } + break; + } + break; + case 'p': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+7, ".w.ph", 5)) + break; + return Intrinsic::mips_dpa_w_ph; // "ips.dpa.w.ph" + case 's': // 1 string to match. + if (memcmp(NameR.data()+7, ".w.ph", 5)) + break; + return Intrinsic::mips_dps_w_ph; // "ips.dps.w.ph" + } + break; + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+5, "xtr.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+10, ".w", 2)) + break; + return Intrinsic::mips_extr_r_w; // "ips.extr.r.w" + case 's': // 1 string to match. + if (memcmp(NameR.data()+10, ".h", 2)) + break; + return Intrinsic::mips_extr_s_h; // "ips.extr.s.h" + } + break; + case 'f': // 12 strings to match. + switch (NameR[5]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+6, "lass.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fclass_d; // "ips.fclass.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fclass_w; // "ips.fclass.w" + } + break; + case 'e': // 4 strings to match. + if (memcmp(NameR.data()+6, "xup", 3)) + break; + switch (NameR[9]) { + default: break; + case 'l': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexupl_d; // "ips.fexupl.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexupl_w; // "ips.fexupl.w" + } + break; + case 'r': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexupr_d; // "ips.fexupr.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexupr_w; // "ips.fexupr.w" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "x.a.", 4)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmax_a_d; // "ips.fmax.a.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmax_a_w; // "ips.fmax.a.w" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+7, "n.a.", 4)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmin_a_d; // "ips.fmin.a.d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmin_a_w; // "ips.fmin.a.w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+6, "sqrt.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frsqrt_d; // "ips.frsqrt.d" + case 'w': // 1 string to match. + return Intrinsic::mips_frsqrt_w; // "ips.frsqrt.w" + } + break; + } + break; + case 'h': // 12 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+6, "dd.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hadd_s_d; // "ips.hadd.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_hadd_s_h; // "ips.hadd.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_hadd_s_w; // "ips.hadd.s.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hadd_u_d; // "ips.hadd.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_hadd_u_h; // "ips.hadd.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_hadd_u_w; // "ips.hadd.u.w" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(NameR.data()+6, "ub.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hsub_s_d; // "ips.hsub.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_hsub_s_h; // "ips.hsub.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_hsub_s_w; // "ips.hsub.s.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hsub_u_d; // "ips.hsub.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_hsub_u_h; // "ips.hsub.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_hsub_u_w; // "ips.hsub.u.w" + } + break; + } + break; + } + break; + case 'i': // 4 strings to match. + if (memcmp(NameR.data()+5, "nsert.", 6)) + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_insert_b; // "ips.insert.b" + case 'd': // 1 string to match. + return Intrinsic::mips_insert_d; // "ips.insert.d" + case 'h': // 1 string to match. + return Intrinsic::mips_insert_h; // "ips.insert.h" + case 'w': // 1 string to match. + return Intrinsic::mips_insert_w; // "ips.insert.w" + } + break; + case 'm': // 24 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 10 strings to match. + switch (NameR[6]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+7, "d.q.", 4)) + break; + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_madd_q_h; // "ips.madd.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_madd_q_w; // "ips.madd.q.w" + } + break; + case 'x': // 8 strings to match. + if (memcmp(NameR.data()+7, "i.", 2)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maxi_s_b; // "ips.maxi.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_maxi_s_d; // "ips.maxi.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_maxi_s_h; // "ips.maxi.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_maxi_s_w; // "ips.maxi.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maxi_u_b; // "ips.maxi.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_maxi_u_d; // "ips.maxi.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_maxi_u_h; // "ips.maxi.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_maxi_u_w; // "ips.maxi.u.w" + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (memcmp(NameR.data()+6, "ni.", 3)) + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mini_s_b; // "ips.mini.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_mini_s_d; // "ips.mini.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_mini_s_h; // "ips.mini.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mini_s_w; // "ips.mini.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mini_u_b; // "ips.mini.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_mini_u_d; // "ips.mini.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_mini_u_h; // "ips.mini.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mini_u_w; // "ips.mini.u.w" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+6, "ub.q.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_msub_q_h; // "ips.msub.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_msub_q_w; // "ips.msub.q.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[6] != 'l') + break; + switch (NameR[7]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+8, "s.ph", 4)) + break; + return Intrinsic::mips_mul_s_ph; // "ips.mul.s.ph" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+8, ".s.w", 4)) + break; + return Intrinsic::mips_mulq_s_w; // "ips.mulq.s.w" + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+8, ".q.", 3)) + break; + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_mulr_q_h; // "ips.mulr.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_mulr_q_w; // "ips.mulr.q.w" + } + break; + } + break; + } + break; + case 's': // 17 strings to match. + switch (NameR[5]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+7, "l.s.w", 5)) + break; + return Intrinsic::mips_shll_s_w; // "ips.shll.s.w" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+7, "a.r.w", 5)) + break; + return Intrinsic::mips_shra_r_w; // "ips.shra.r.w" + } + break; + case 'p': // 4 strings to match. + if (memcmp(NameR.data()+6, "lati.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_splati_b; // "ips.splati.b" + case 'd': // 1 string to match. + return Intrinsic::mips_splati_d; // "ips.splati.d" + case 'h': // 1 string to match. + return Intrinsic::mips_splati_h; // "ips.splati.h" + case 'w': // 1 string to match. + return Intrinsic::mips_splati_w; // "ips.splati.w" + } + break; + case 'u': // 11 strings to match. + if (NameR[6] != 'b') + break; + switch (NameR[7]) { + default: break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "s.w", 3)) + break; + return Intrinsic::mips_subq_s_w; // "ips.subq.s.w" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".ph", 3)) + break; + return Intrinsic::mips_subqh_ph; // "ips.subqh.ph" + } + break; + case 's': // 8 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subs_s_b; // "ips.subs.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subs_s_d; // "ips.subs.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subs_s_h; // "ips.subs.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subs_s_w; // "ips.subs.s.w" + } + break; + case 'u': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subs_u_b; // "ips.subs.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subs_u_d; // "ips.subs.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subs_u_h; // "ips.subs.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subs_u_w; // "ips.subs.u.w" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+8, "h.qb", 4)) + break; + return Intrinsic::mips_subuh_qb; // "ips.subuh.qb" + } + break; + } + break; + } + break; + case 13: // 46 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[5]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+6, "sq.s.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 'h') + break; + return Intrinsic::mips_absq_s_ph; // "ips.absq.s.ph" + case 'q': // 1 string to match. + if (NameR[12] != 'b') + break; + return Intrinsic::mips_absq_s_qb; // "ips.absq.s.qb" + } + break; + case 'd': // 4 strings to match. + if (NameR[6] != 'd') + break; + switch (NameR[7]) { + default: break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "s.ph", 4)) + break; + return Intrinsic::mips_addq_s_ph; // "ips.addq.s.ph" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".r.w", 4)) + break; + return Intrinsic::mips_addqh_r_w; // "ips.addqh.r.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+8, ".s.", 3)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 'h') + break; + return Intrinsic::mips_addu_s_ph; // "ips.addu.s.ph" + case 'q': // 1 string to match. + if (NameR[12] != 'b') + break; + return Intrinsic::mips_addu_s_qb; // "ips.addu.s.qb" + } + break; + } + break; + } + break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+5, "mp.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+9, "q.ph", 4)) + break; + return Intrinsic::mips_cmp_eq_ph; // "ips.cmp.eq.ph" + case 'l': // 2 strings to match. + switch (NameR[9]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+10, ".ph", 3)) + break; + return Intrinsic::mips_cmp_le_ph; // "ips.cmp.le.ph" + case 't': // 1 string to match. + if (memcmp(NameR.data()+10, ".ph", 3)) + break; + return Intrinsic::mips_cmp_lt_ph; // "ips.cmp.lt.ph" + } + break; + } + break; + case 'd': // 14 strings to match. + if (NameR[5] != 'p') + break; + switch (NameR[6]) { + default: break; + case 'a': // 7 strings to match. + switch (NameR[7]) { + default: break; + case 'd': // 6 strings to match. + if (memcmp(NameR.data()+8, "d.", 2)) + break; + switch (NameR[10]) { + default: break; + case 's': // 3 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpadd_s_d; // "ips.dpadd.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpadd_s_h; // "ips.dpadd.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpadd_s_w; // "ips.dpadd.s.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpadd_u_d; // "ips.dpadd.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpadd_u_h; // "ips.dpadd.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpadd_u_w; // "ips.dpadd.u.w" + } + break; + } + break; + case 'x': // 1 string to match. + if (memcmp(NameR.data()+8, ".w.ph", 5)) + break; + return Intrinsic::mips_dpax_w_ph; // "ips.dpax.w.ph" + } + break; + case 's': // 7 strings to match. + switch (NameR[7]) { + default: break; + case 'u': // 6 strings to match. + if (memcmp(NameR.data()+8, "b.", 2)) + break; + switch (NameR[10]) { + default: break; + case 's': // 3 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpsub_s_d; // "ips.dpsub.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpsub_s_h; // "ips.dpsub.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpsub_s_w; // "ips.dpsub.s.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpsub_u_d; // "ips.dpsub.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpsub_u_h; // "ips.dpsub.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpsub_u_w; // "ips.dpsub.u.w" + } + break; + } + break; + case 'x': // 1 string to match. + if (memcmp(NameR.data()+8, ".w.ph", 5)) + break; + return Intrinsic::mips_dpsx_w_ph; // "ips.dpsx.w.ph" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+5, "xtr.rs.w", 8)) + break; + return Intrinsic::mips_extr_rs_w; // "ips.extr.rs.w" + case 'f': // 8 strings to match. + switch (NameR[5]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+6, "int.", 4)) + break; + switch (NameR[10]) { + default: break; + case 's': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffint_s_d; // "ips.ffint.s.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffint_s_w; // "ips.ffint.s.w" + } + break; + case 'u': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffint_u_d; // "ips.ffint.u.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffint_u_w; // "ips.ffint.u.w" + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(NameR.data()+6, "int.", 4)) + break; + switch (NameR[10]) { + default: break; + case 's': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftint_s_d; // "ips.ftint.s.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftint_s_w; // "ips.ftint.s.w" + } + break; + case 'u': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftint_u_d; // "ips.ftint.u.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftint_u_w; // "ips.ftint.u.w" + } + break; + } + break; + } + break; + case 'm': // 6 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+6, "ddr.q.", 6)) + break; + switch (NameR[12]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_maddr_q_h; // "ips.maddr.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_maddr_q_w; // "ips.maddr.q.w" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+6, "ubr.q.", 6)) + break; + switch (NameR[12]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_msubr_q_h; // "ips.msubr.q.h" + case 'w': // 1 string to match. + return Intrinsic::mips_msubr_q_w; // "ips.msubr.q.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+6, "lq.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+10, "s.w", 3)) + break; + return Intrinsic::mips_mulq_rs_w; // "ips.mulq.rs.w" + case 's': // 1 string to match. + if (memcmp(NameR.data()+10, ".ph", 3)) + break; + return Intrinsic::mips_mulq_s_ph; // "ips.mulq.s.ph" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+5, "ackrl.ph", 8)) + break; + return Intrinsic::mips_packrl_ph; // "ips.packrl.ph" + case 's': // 7 strings to match. + switch (NameR[5]) { + default: break; + case 'h': // 3 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+7, "l.s.ph", 6)) + break; + return Intrinsic::mips_shll_s_ph; // "ips.shll.s.ph" + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+7, "a.r.", 4)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 'h') + break; + return Intrinsic::mips_shra_r_ph; // "ips.shra.r.ph" + case 'q': // 1 string to match. + if (NameR[12] != 'b') + break; + return Intrinsic::mips_shra_r_qb; // "ips.shra.r.qb" + } + break; + } + break; + case 'u': // 4 strings to match. + if (NameR[6] != 'b') + break; + switch (NameR[7]) { + default: break; + case 'q': // 2 strings to match. + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "s.ph", 4)) + break; + return Intrinsic::mips_subq_s_ph; // "ips.subq.s.ph" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+9, ".r.w", 4)) + break; + return Intrinsic::mips_subqh_r_w; // "ips.subqh.r.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+8, ".s.", 3)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 'h') + break; + return Intrinsic::mips_subu_s_ph; // "ips.subu.s.ph" + case 'q': // 1 string to match. + if (NameR[12] != 'b') + break; + return Intrinsic::mips_subu_s_qb; // "ips.subu.s.qb" + } + break; + } + break; + } + break; + } + break; + case 14: // 26 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+5, "dd", 2)) + break; + switch (NameR[7]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+8, "h.r.ph", 6)) + break; + return Intrinsic::mips_addqh_r_ph; // "ips.addqh.r.ph" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+8, "h.r.qb", 6)) + break; + return Intrinsic::mips_adduh_r_qb; // "ips.adduh.r.qb" + } + break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+5, "mpu.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+10, "q.qb", 4)) + break; + return Intrinsic::mips_cmpu_eq_qb; // "ips.cmpu.eq.qb" + case 'l': // 2 strings to match. + switch (NameR[10]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, ".qb", 3)) + break; + return Intrinsic::mips_cmpu_le_qb; // "ips.cmpu.le.qb" + case 't': // 1 string to match. + if (memcmp(NameR.data()+11, ".qb", 3)) + break; + return Intrinsic::mips_cmpu_lt_qb; // "ips.cmpu.lt.qb" + } + break; + } + break; + case 'd': // 4 strings to match. + if (NameR[5] != 'p') + break; + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "u.h.qb", 6)) + break; + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_dpau_h_qbl; // "ips.dpau.h.qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_dpau_h_qbr; // "ips.dpau.h.qbr" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+7, "u.h.qb", 6)) + break; + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_dpsu_h_qbl; // "ips.dpsu.h.qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_dpsu_h_qbr; // "ips.dpsu.h.qbr" + } + break; + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+5, "trunc.", 6)) + break; + switch (NameR[11]) { + default: break; + case 's': // 2 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftrunc_s_d; // "ips.ftrunc.s.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftrunc_s_w; // "ips.ftrunc.s.w" + } + break; + case 'u': // 2 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftrunc_u_d; // "ips.ftrunc.u.d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftrunc_u_w; // "ips.ftrunc.u.w" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+5, "ul", 2)) + break; + switch (NameR[7]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+8, ".rs.ph", 6)) + break; + return Intrinsic::mips_mulq_rs_ph; // "ips.mulq.rs.ph" + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "a.w.ph", 6)) + break; + return Intrinsic::mips_mulsa_w_ph; // "ips.mulsa.w.ph" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+5, "addu.w.qb", 9)) + break; + return Intrinsic::mips_raddu_w_qb; // "ips.raddu.w.qb" + case 's': // 10 strings to match. + if (memcmp(NameR.data()+5, "ub", 2)) + break; + switch (NameR[7]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+8, "h.r.ph", 6)) + break; + return Intrinsic::mips_subqh_r_ph; // "ips.subqh.r.ph" + case 's': // 8 strings to match. + if (NameR[8] != 'u') + break; + switch (NameR[9]) { + default: break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+10, ".u.", 3)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subsus_u_b; // "ips.subsus.u.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subsus_u_d; // "ips.subsus.u.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subsus_u_h; // "ips.subsus.u.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subsus_u_w; // "ips.subsus.u.w" + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+10, ".s.", 3)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subsuu_s_b; // "ips.subsuu.s.b" + case 'd': // 1 string to match. + return Intrinsic::mips_subsuu_s_d; // "ips.subsuu.s.d" + case 'h': // 1 string to match. + return Intrinsic::mips_subsuu_s_h; // "ips.subsuu.s.h" + case 'w': // 1 string to match. + return Intrinsic::mips_subsuu_s_w; // "ips.subsuu.s.w" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+8, "h.r.qb", 6)) + break; + return Intrinsic::mips_subuh_r_qb; // "ips.subuh.r.qb" + } + break; + } + break; + case 15: // 11 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+5, "mpgu.", 5)) + break; + switch (NameR[10]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+11, "q.qb", 4)) + break; + return Intrinsic::mips_cmpgu_eq_qb; // "ips.cmpgu.eq.qb" + case 'l': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+12, ".qb", 3)) + break; + return Intrinsic::mips_cmpgu_le_qb; // "ips.cmpgu.le.qb" + case 't': // 1 string to match. + if (memcmp(NameR.data()+12, ".qb", 3)) + break; + return Intrinsic::mips_cmpgu_lt_qb; // "ips.cmpgu.lt.qb" + } + break; + } + break; + case 'd': // 4 strings to match. + if (NameR[5] != 'p') + break; + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "q.s", 3)) + break; + switch (NameR[10]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+11, "w.ph", 4)) + break; + return Intrinsic::mips_dpaq_s_w_ph; // "ips.dpaq.s.w.ph" + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, ".l.w", 4)) + break; + return Intrinsic::mips_dpaq_sa_l_w; // "ips.dpaq.sa.l.w" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+7, "q.s", 3)) + break; + switch (NameR[10]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+11, "w.ph", 4)) + break; + return Intrinsic::mips_dpsq_s_w_ph; // "ips.dpsq.s.w.ph" + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, ".l.w", 4)) + break; + return Intrinsic::mips_dpsq_sa_l_w; // "ips.dpsq.sa.l.w" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+5, "aq.s.w.ph", 9)) + break; + switch (NameR[14]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_maq_s_w_phl; // "ips.maq.s.w.phl" + case 'r': // 1 string to match. + return Intrinsic::mips_maq_s_w_phr; // "ips.maq.s.w.phr" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+5, "recr", 4)) + break; + switch (NameR[9]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+10, "qb.ph", 5)) + break; + return Intrinsic::mips_precr_qb_ph; // "ips.precr.qb.ph" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+10, ".ph.w", 5)) + break; + return Intrinsic::mips_precrq_ph_w; // "ips.precrq.ph.w" + } + break; + } + break; + case 16: // 10 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+5, "mpgdu.", 6)) + break; + switch (NameR[11]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+12, "q.qb", 4)) + break; + return Intrinsic::mips_cmpgdu_eq_qb; // "ips.cmpgdu.eq.qb" + case 'l': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, ".qb", 3)) + break; + return Intrinsic::mips_cmpgdu_le_qb; // "ips.cmpgdu.le.qb" + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, ".qb", 3)) + break; + return Intrinsic::mips_cmpgdu_lt_qb; // "ips.cmpgdu.lt.qb" + } + break; + } + break; + case 'd': // 2 strings to match. + if (NameR[5] != 'p') + break; + switch (NameR[6]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+7, "qx.s.w.ph", 9)) + break; + return Intrinsic::mips_dpaqx_s_w_ph; // "ips.dpaqx.s.w.ph" + case 's': // 1 string to match. + if (memcmp(NameR.data()+7, "qx.s.w.ph", 9)) + break; + return Intrinsic::mips_dpsqx_s_w_ph; // "ips.dpsqx.s.w.ph" + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+5, "aq.sa.w.ph", 10)) + break; + switch (NameR[15]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_maq_sa_w_phl; // "ips.maq.sa.w.phl" + case 'r': // 1 string to match. + return Intrinsic::mips_maq_sa_w_phr; // "ips.maq.sa.w.phr" + } + break; + case 'p': // 3 strings to match. + if (memcmp(NameR.data()+5, "rec", 3)) + break; + switch (NameR[8]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+9, "q.w.ph", 6)) + break; + switch (NameR[15]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_preceq_w_phl; // "ips.preceq.w.phl" + case 'r': // 1 string to match. + return Intrinsic::mips_preceq_w_phr; // "ips.preceq.w.phr" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+9, "q.qb.ph", 7)) + break; + return Intrinsic::mips_precrq_qb_ph; // "ips.precrq.qb.ph" + } + break; + } + break; + case 17: // 7 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[5] != 'p') + break; + switch (NameR[6]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+7, "qx.sa.w.ph", 10)) + break; + return Intrinsic::mips_dpaqx_sa_w_ph; // "ips.dpaqx.sa.w.ph" + case 's': // 1 string to match. + if (memcmp(NameR.data()+7, "qx.sa.w.ph", 10)) + break; + return Intrinsic::mips_dpsqx_sa_w_ph; // "ips.dpsqx.sa.w.ph" + } + break; + case 'm': // 3 strings to match. + if (memcmp(NameR.data()+5, "ul", 2)) + break; + switch (NameR[7]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+8, "q.s.w.ph", 8)) + break; + switch (NameR[16]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_muleq_s_w_phl; // "ips.muleq.s.w.phl" + case 'r': // 1 string to match. + return Intrinsic::mips_muleq_s_w_phr; // "ips.muleq.s.w.phr" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "aq.s.w.ph", 9)) + break; + return Intrinsic::mips_mulsaq_s_w_ph; // "ips.mulsaq.s.w.ph" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+5, "receu.ph.qb", 11)) + break; + switch (NameR[16]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_preceu_ph_qbl; // "ips.preceu.ph.qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_preceu_ph_qbr; // "ips.preceu.ph.qbr" + } + break; + } + break; + case 18: // 8 strings to match. + if (memcmp(NameR.data()+0, "ips.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+5, "uleu.s.ph.qb", 12)) + break; + switch (NameR[17]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_muleu_s_ph_qbl; // "ips.muleu.s.ph.qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_muleu_s_ph_qbr; // "ips.muleu.s.ph.qbr" + } + break; + case 'p': // 6 strings to match. + if (memcmp(NameR.data()+5, "rec", 3)) + break; + switch (NameR[8]) { + default: break; + case 'e': // 4 strings to match. + switch (NameR[9]) { + default: break; + case 'q': // 2 strings to match. + if (memcmp(NameR.data()+10, "u.ph.qb", 7)) + break; + switch (NameR[17]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_precequ_ph_qbl; // "ips.precequ.ph.qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_precequ_ph_qbr; // "ips.precequ.ph.qbr" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+10, ".ph.qb", 6)) + break; + switch (NameR[16]) { + default: break; + case 'l': // 1 string to match. + if (NameR[17] != 'a') + break; + return Intrinsic::mips_preceu_ph_qbla; // "ips.preceu.ph.qbla" + case 'r': // 1 string to match. + if (NameR[17] != 'a') + break; + return Intrinsic::mips_preceu_ph_qbra; // "ips.preceu.ph.qbra" + } + break; + } + break; + case 'r': // 2 strings to match. + switch (NameR[9]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+10, "sra.ph.w", 8)) + break; + return Intrinsic::mips_precr_sra_ph_w; // "ips.precr.sra.ph.w" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+10, ".rs.ph.w", 8)) + break; + return Intrinsic::mips_precrq_rs_ph_w; // "ips.precrq.rs.ph.w" + } + break; + } + break; + } + break; + case 19: // 3 strings to match. + if (memcmp(NameR.data()+0, "ips.prec", 8)) + break; + switch (NameR[8]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+9, "qu.ph.qb", 8)) + break; + switch (NameR[17]) { + default: break; + case 'l': // 1 string to match. + if (NameR[18] != 'a') + break; + return Intrinsic::mips_precequ_ph_qbla; // "ips.precequ.ph.qbla" + case 'r': // 1 string to match. + if (NameR[18] != 'a') + break; + return Intrinsic::mips_precequ_ph_qbra; // "ips.precequ.ph.qbra" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+9, "qu.s.qb.ph", 10)) + break; + return Intrinsic::mips_precrqu_s_qb_ph; // "ips.precrqu.s.qb.ph" + } + break; + case 20: // 1 string to match. + if (memcmp(NameR.data()+0, "ips.precr.sra.r.ph.w", 20)) + break; + return Intrinsic::mips_precr_sra_r_ph_w; // "ips.precr.sra.r.ph.w" + } + break; // end of 'm' case. + case 'n': + if (NameR.startswith("vvm.texsurf.handle.internal.")) return Intrinsic::nvvm_texsurf_handle_internal; + if (NameR.startswith("vvm.texsurf.handle.")) return Intrinsic::nvvm_texsurf_handle; + if (NameR.startswith("vvm.reflect.")) return Intrinsic::nvvm_reflect; + if (NameR.startswith("vvm.ptr.shared.to.gen.")) return Intrinsic::nvvm_ptr_shared_to_gen; + if (NameR.startswith("vvm.ptr.local.to.gen.")) return Intrinsic::nvvm_ptr_local_to_gen; + if (NameR.startswith("vvm.ptr.global.to.gen.")) return Intrinsic::nvvm_ptr_global_to_gen; + if (NameR.startswith("vvm.ptr.gen.to.shared.")) return Intrinsic::nvvm_ptr_gen_to_shared; + if (NameR.startswith("vvm.ptr.gen.to.param.")) return Intrinsic::nvvm_ptr_gen_to_param; + if (NameR.startswith("vvm.ptr.gen.to.local.")) return Intrinsic::nvvm_ptr_gen_to_local; + if (NameR.startswith("vvm.ptr.gen.to.global.")) return Intrinsic::nvvm_ptr_gen_to_global; + if (NameR.startswith("vvm.ptr.gen.to.constant.")) return Intrinsic::nvvm_ptr_gen_to_constant; + if (NameR.startswith("vvm.ptr.constant.to.gen.")) return Intrinsic::nvvm_ptr_constant_to_gen; + if (NameR.startswith("vvm.move.ptr.")) return Intrinsic::nvvm_move_ptr; + if (NameR.startswith("vvm.ldu.global.p.")) return Intrinsic::nvvm_ldu_global_p; + if (NameR.startswith("vvm.ldu.global.i.")) return Intrinsic::nvvm_ldu_global_i; + if (NameR.startswith("vvm.ldu.global.f.")) return Intrinsic::nvvm_ldu_global_f; + if (NameR.startswith("vvm.ldg.global.p.")) return Intrinsic::nvvm_ldg_global_p; + if (NameR.startswith("vvm.ldg.global.i.")) return Intrinsic::nvvm_ldg_global_i; + if (NameR.startswith("vvm.ldg.global.f.")) return Intrinsic::nvvm_ldg_global_f; + if (NameR.startswith("vvm.compiler.warn.")) return Intrinsic::nvvm_compiler_warn; + if (NameR.startswith("vvm.compiler.error.")) return Intrinsic::nvvm_compiler_error; + if (NameR.startswith("vvm.atomic.load.inc.32.")) return Intrinsic::nvvm_atomic_load_inc_32; + if (NameR.startswith("vvm.atomic.load.dec.32.")) return Intrinsic::nvvm_atomic_load_dec_32; + if (NameR.startswith("vvm.atomic.load.add.f32.")) return Intrinsic::nvvm_atomic_load_add_f32; + if (NameR.startswith("earbyint.")) return Intrinsic::nearbyint; + switch (NameR.size()) { + default: break; + case 7: // 1 string to match. + if (memcmp(NameR.data()+0, "vvm.h2f", 7)) + break; + return Intrinsic::nvvm_h2f; // "vvm.h2f" + case 8: // 1 string to match. + if (memcmp(NameR.data()+0, "vvm.prmt", 8)) + break; + return Intrinsic::nvvm_prmt; // "vvm.prmt" + case 9: // 5 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+5, "bs.i", 4)) + break; + return Intrinsic::nvvm_abs_i; // "vvm.abs.i" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+5, "lz.i", 4)) + break; + return Intrinsic::nvvm_clz_i; // "vvm.clz.i" + case 'm': // 2 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "x.i", 3)) + break; + return Intrinsic::nvvm_max_i; // "vvm.max.i" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+6, "n.i", 3)) + break; + return Intrinsic::nvvm_min_i; // "vvm.min.i" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+5, "ad.i", 4)) + break; + return Intrinsic::nvvm_sad_i; // "vvm.sad.i" + } + break; + case 10: // 42 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+5, "bs.ll", 5)) + break; + return Intrinsic::nvvm_abs_ll; // "vvm.abs.ll" + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+5, "rev", 3)) + break; + switch (NameR[8]) { + default: break; + case '3': // 1 string to match. + if (NameR[9] != '2') + break; + return Intrinsic::nvvm_brev32; // "vvm.brev32" + case '6': // 1 string to match. + if (NameR[9] != '4') + break; + return Intrinsic::nvvm_brev64; // "vvm.brev64" + } + break; + case 'c': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+6, "il.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_ceil_d; // "vvm.ceil.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_ceil_f; // "vvm.ceil.f" + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+6, "z.ll", 4)) + break; + return Intrinsic::nvvm_clz_ll; // "vvm.clz.ll" + } + break; + case 'd': // 10 strings to match. + if (NameR[5] != '2') + break; + switch (NameR[6]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+7, ".r", 2)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2f_rm; // "vvm.d2f.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2f_rn; // "vvm.d2f.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2f_rp; // "vvm.d2f.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2f_rz; // "vvm.d2f.rz" + } + break; + case 'i': // 6 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'h': // 1 string to match. + if (NameR[9] != 'i') + break; + return Intrinsic::nvvm_d2i_hi; // "vvm.d2i.hi" + case 'l': // 1 string to match. + if (NameR[9] != 'o') + break; + return Intrinsic::nvvm_d2i_lo; // "vvm.d2i.lo" + case 'r': // 4 strings to match. + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2i_rm; // "vvm.d2i.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2i_rn; // "vvm.d2i.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2i_rp; // "vvm.d2i.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2i_rz; // "vvm.d2i.rz" + } + break; + } + break; + } + break; + case 'f': // 11 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 5 strings to match. + switch (NameR[6]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+7, ".rn", 3)) + break; + return Intrinsic::nvvm_f2h_rn; // "vvm.f2h.rn" + case 'i': // 4 strings to match. + if (memcmp(NameR.data()+7, ".r", 2)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2i_rm; // "vvm.f2i.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2i_rn; // "vvm.f2i.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2i_rp; // "vvm.f2i.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2i_rz; // "vvm.f2i.rz" + } + break; + } + break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+6, "bs.", 3)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fabs_d; // "vvm.fabs.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fabs_f; // "vvm.fabs.f" + } + break; + case 'm': // 4 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+7, "x.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fmax_d; // "vvm.fmax.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fmax_f; // "vvm.fmax.f" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+7, "n.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fmin_d; // "vvm.fmin.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fmin_f; // "vvm.fmin.f" + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (NameR[5] != '2') + break; + switch (NameR[6]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+7, ".r", 2)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_i2d_rm; // "vvm.i2d.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_i2d_rn; // "vvm.i2d.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_i2d_rp; // "vvm.i2d.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_i2d_rz; // "vvm.i2d.rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+7, ".r", 2)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_i2f_rm; // "vvm.i2f.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_i2f_rn; // "vvm.i2f.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_i2f_rp; // "vvm.i2f.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_i2f_rz; // "vvm.i2f.rz" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+6, "x.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'l': // 1 string to match. + if (NameR[9] != 'l') + break; + return Intrinsic::nvvm_max_ll; // "vvm.max.ll" + case 'u': // 1 string to match. + if (NameR[9] != 'i') + break; + return Intrinsic::nvvm_max_ui; // "vvm.max.ui" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+6, "n.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'l': // 1 string to match. + if (NameR[9] != 'l') + break; + return Intrinsic::nvvm_min_ll; // "vvm.min.ll" + case 'u': // 1 string to match. + if (NameR[9] != 'i') + break; + return Intrinsic::nvvm_min_ui; // "vvm.min.ui" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+5, "opc.i", 5)) + break; + return Intrinsic::nvvm_popc_i; // "vvm.popc.i" + case 's': // 2 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "d.ui", 4)) + break; + return Intrinsic::nvvm_sad_ui; // "vvm.sad.ui" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+6, "rt.f", 4)) + break; + return Intrinsic::nvvm_sqrt_f; // "vvm.sqrt.f" + } + break; + } + break; + case 11: // 43 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'd': // 8 strings to match. + if (NameR[5] != '2') + break; + switch (NameR[6]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "l.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ll_rm; // "vvm.d2ll.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ll_rn; // "vvm.d2ll.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ll_rp; // "vvm.d2ll.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ll_rz; // "vvm.d2ll.rz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+7, "i.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ui_rm; // "vvm.d2ui.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ui_rn; // "vvm.d2ui.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ui_rp; // "vvm.d2ui.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ui_rz; // "vvm.d2ui.rz" + } + break; + } + break; + case 'f': // 10 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "l.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ll_rm; // "vvm.f2ll.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ll_rn; // "vvm.f2ll.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ll_rp; // "vvm.f2ll.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ll_rz; // "vvm.f2ll.rz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+7, "i.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ui_rm; // "vvm.f2ui.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ui_rn; // "vvm.f2ui.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ui_rp; // "vvm.f2ui.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ui_rz; // "vvm.f2ui.rz" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+6, "oor.", 4)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_floor_d; // "vvm.floor.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_floor_f; // "vvm.floor.f" + } + break; + } + break; + case 'l': // 8 strings to match. + if (memcmp(NameR.data()+5, "l2", 2)) + break; + switch (NameR[7]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+8, ".r", 2)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ll2d_rm; // "vvm.ll2d.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ll2d_rn; // "vvm.ll2d.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ll2d_rp; // "vvm.ll2d.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ll2d_rz; // "vvm.ll2d.rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+8, ".r", 2)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ll2f_rm; // "vvm.ll2f.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ll2f_rn; // "vvm.ll2f.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ll2f_rp; // "vvm.ll2f.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ll2f_rz; // "vvm.ll2f.rz" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "x.ull", 5)) + break; + return Intrinsic::nvvm_max_ull; // "vvm.max.ull" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+6, "n.ull", 5)) + break; + return Intrinsic::nvvm_min_ull; // "vvm.min.ull" + case 'u': // 2 strings to match. + if (NameR[6] != 'l') + break; + switch (NameR[7]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+8, "4.i", 3)) + break; + return Intrinsic::nvvm_mul24_i; // "vvm.mul24.i" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+8, "i.i", 3)) + break; + return Intrinsic::nvvm_mulhi_i; // "vvm.mulhi.i" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+5, "opc.ll", 6)) + break; + return Intrinsic::nvvm_popc_ll; // "vvm.popc.ll" + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+5, "ound.", 5)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_round_d; // "vvm.round.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_round_f; // "vvm.round.f" + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+5, "runc.", 5)) + break; + switch (NameR[10]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_trunc_d; // "vvm.trunc.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_trunc_f; // "vvm.trunc.f" + } + break; + case 'u': // 8 strings to match. + if (memcmp(NameR.data()+5, "i2", 2)) + break; + switch (NameR[7]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+8, ".r", 2)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ui2d_rm; // "vvm.ui2d.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ui2d_rn; // "vvm.ui2d.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ui2d_rp; // "vvm.ui2d.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ui2d_rz; // "vvm.ui2d.rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+8, ".r", 2)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ui2f_rm; // "vvm.ui2f.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ui2f_rn; // "vvm.ui2f.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ui2f_rp; // "vvm.ui2f.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ui2f_rz; // "vvm.ui2f.rz" + } + break; + } + break; + } + break; + case 12: // 64 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(NameR.data()+5, "dd.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rm_d; // "vvm.add.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rm_f; // "vvm.add.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rn_d; // "vvm.add.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rn_f; // "vvm.add.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rp_d; // "vvm.add.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rp_f; // "vvm.add.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rz_d; // "vvm.add.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rz_f; // "vvm.add.rz.f" + } + break; + } + break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+5, "arrier0", 7)) + break; + return Intrinsic::nvvm_barrier0; // "vvm.barrier0" + case 'd': // 12 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+6, "ull.r", 5)) + break; + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ull_rm; // "vvm.d2ull.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ull_rn; // "vvm.d2ull.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ull_rp; // "vvm.d2ull.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ull_rz; // "vvm.d2ull.rz" + } + break; + case 'i': // 8 strings to match. + if (memcmp(NameR.data()+6, "v.r", 3)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rm_d; // "vvm.div.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rm_f; // "vvm.div.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rn_d; // "vvm.div.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rn_f; // "vvm.div.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rp_d; // "vvm.div.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rp_f; // "vvm.div.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rz_d; // "vvm.div.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rz_f; // "vvm.div.rz.f" + } + break; + } + break; + } + break; + case 'f': // 12 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+6, "ull.r", 5)) + break; + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ull_rm; // "vvm.f2ull.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ull_rn; // "vvm.f2ull.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ull_rp; // "vvm.f2ull.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ull_rz; // "vvm.f2ull.rz" + } + break; + case 'm': // 8 strings to match. + if (memcmp(NameR.data()+6, "a.r", 3)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rm_d; // "vvm.fma.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rm_f; // "vvm.fma.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rn_d; // "vvm.fma.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rn_f; // "vvm.fma.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rp_d; // "vvm.fma.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rp_f; // "vvm.fma.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rz_d; // "vvm.fma.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rz_f; // "vvm.fma.rz.f" + } + break; + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+5, "ohi.i2d", 7)) + break; + return Intrinsic::nvvm_lohi_i2d; // "vvm.lohi.i2d" + case 'm': // 14 strings to match. + switch (NameR[5]) { + default: break; + case 'o': // 3 strings to match. + if (memcmp(NameR.data()+6, "ve.i", 4)) + break; + switch (NameR[10]) { + default: break; + case '1': // 1 string to match. + if (NameR[11] != '6') + break; + return Intrinsic::nvvm_move_i16; // "vvm.move.i16" + case '3': // 1 string to match. + if (NameR[11] != '2') + break; + return Intrinsic::nvvm_move_i32; // "vvm.move.i32" + case '6': // 1 string to match. + if (NameR[11] != '4') + break; + return Intrinsic::nvvm_move_i64; // "vvm.move.i64" + } + break; + case 'u': // 11 strings to match. + if (NameR[6] != 'l') + break; + switch (NameR[7]) { + default: break; + case '.': // 8 strings to match. + if (NameR[8] != 'r') + break; + switch (NameR[9]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rm_d; // "vvm.mul.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rm_f; // "vvm.mul.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rn_d; // "vvm.mul.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rn_f; // "vvm.mul.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rp_d; // "vvm.mul.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rp_f; // "vvm.mul.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rz_d; // "vvm.mul.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rz_f; // "vvm.mul.rz.f" + } + break; + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+8, "4.ui", 4)) + break; + return Intrinsic::nvvm_mul24_ui; // "vvm.mul24.ui" + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+8, "i.", 2)) + break; + switch (NameR[10]) { + default: break; + case 'l': // 1 string to match. + if (NameR[11] != 'l') + break; + return Intrinsic::nvvm_mulhi_ll; // "vvm.mulhi.ll" + case 'u': // 1 string to match. + if (NameR[11] != 'i') + break; + return Intrinsic::nvvm_mulhi_ui; // "vvm.mulhi.ui" + } + break; + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(NameR.data()+5, "cp.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rm_d; // "vvm.rcp.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rm_f; // "vvm.rcp.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rn_d; // "vvm.rcp.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rn_f; // "vvm.rcp.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rp_d; // "vvm.rcp.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rp_f; // "vvm.rcp.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rz_d; // "vvm.rcp.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rz_f; // "vvm.rcp.rz.f" + } + break; + } + break; + case 'u': // 8 strings to match. + if (memcmp(NameR.data()+5, "ll2", 3)) + break; + switch (NameR[8]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+9, ".r", 2)) + break; + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ull2d_rm; // "vvm.ull2d.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ull2d_rn; // "vvm.ull2d.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ull2d_rp; // "vvm.ull2d.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ull2d_rz; // "vvm.ull2d.rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+9, ".r", 2)) + break; + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ull2f_rm; // "vvm.ull2f.rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ull2f_rn; // "vvm.ull2f.rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ull2f_rp; // "vvm.ull2f.rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ull2f_rz; // "vvm.ull2f.rz" + } + break; + } + break; + } + break; + case 13: // 14 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'm': // 2 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+6, "mbar.gl", 7)) + break; + return Intrinsic::nvvm_membar_gl; // "vvm.membar.gl" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+6, "lhi.ull", 7)) + break; + return Intrinsic::nvvm_mulhi_ull; // "vvm.mulhi.ull" + } + break; + case 's': // 10 strings to match. + switch (NameR[5]) { + default: break; + case 'q': // 8 strings to match. + if (memcmp(NameR.data()+6, "rt.r", 4)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rm_d; // "vvm.sqrt.rm.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rm_f; // "vvm.sqrt.rm.f" + } + break; + case 'n': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rn_d; // "vvm.sqrt.rn.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rn_f; // "vvm.sqrt.rn.f" + } + break; + case 'p': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rp_d; // "vvm.sqrt.rp.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rp_f; // "vvm.sqrt.rp.f" + } + break; + case 'z': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rz_d; // "vvm.sqrt.rz.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rz_f; // "vvm.sqrt.rz.f" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+6, "q.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+9, "epth", 4)) + break; + return Intrinsic::nvvm_suq_depth; // "vvm.suq.depth" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+9, "idth", 4)) + break; + return Intrinsic::nvvm_suq_width; // "vvm.suq.width" + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+5, "xq.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+9, "epth", 4)) + break; + return Intrinsic::nvvm_txq_depth; // "vvm.txq.depth" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+9, "idth", 4)) + break; + return Intrinsic::nvvm_txq_width; // "vvm.txq.width" + } + break; + } + break; + case 14: // 22 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+5, "eil.ftz.f", 9)) + break; + return Intrinsic::nvvm_ceil_ftz_f; // "vvm.ceil.ftz.f" + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+5, "2f.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rm_ftz; // "vvm.d2f.rm.ftz" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rn_ftz; // "vvm.d2f.rn.ftz" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rp_ftz; // "vvm.d2f.rp.ftz" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rz_ftz; // "vvm.d2f.rz.ftz" + } + break; + case 'f': // 8 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 5 strings to match. + switch (NameR[6]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+7, ".rn.ftz", 7)) + break; + return Intrinsic::nvvm_f2h_rn_ftz; // "vvm.f2h.rn.ftz" + case 'i': // 4 strings to match. + if (memcmp(NameR.data()+7, ".r", 2)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rm_ftz; // "vvm.f2i.rm.ftz" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rn_ftz; // "vvm.f2i.rn.ftz" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rp_ftz; // "vvm.f2i.rp.ftz" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rz_ftz; // "vvm.f2i.rz.ftz" + } + break; + } + break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "bs.ftz.f", 8)) + break; + return Intrinsic::nvvm_fabs_ftz_f; // "vvm.fabs.ftz.f" + case 'm': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+7, "x.ftz.f", 7)) + break; + return Intrinsic::nvvm_fmax_ftz_f; // "vvm.fmax.ftz.f" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+7, "n.ftz.f", 7)) + break; + return Intrinsic::nvvm_fmin_ftz_f; // "vvm.fmin.ftz.f" + } + break; + } + break; + case 'm': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+6, "mbar.", 5)) + break; + switch (NameR[11]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+12, "ta", 2)) + break; + return Intrinsic::nvvm_membar_cta; // "vvm.membar.cta" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "ys", 2)) + break; + return Intrinsic::nvvm_membar_sys; // "vvm.membar.sys" + } + break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+6, "ve.float", 8)) + break; + return Intrinsic::nvvm_move_float; // "vvm.move.float" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+5, "otate.b", 7)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::nvvm_rotate_b32; // "vvm.rotate.b32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::nvvm_rotate_b64; // "vvm.rotate.b64" + } + break; + case 's': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+6, "turate.", 7)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_saturate_d; // "vvm.saturate.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_saturate_f; // "vvm.saturate.f" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+6, "q.height", 8)) + break; + return Intrinsic::nvvm_suq_height; // "vvm.suq.height" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+5, "xq.height", 9)) + break; + return Intrinsic::nvvm_txq_height; // "vvm.txq.height" + } + break; + case 15: // 15 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "rrier0.or", 9)) + break; + return Intrinsic::nvvm_barrier0_or; // "vvm.barrier0.or" + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+6, "tcast.", 6)) + break; + switch (NameR[12]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+13, "2i", 2)) + break; + return Intrinsic::nvvm_bitcast_f2i; // "vvm.bitcast.f2i" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+13, "2f", 2)) + break; + return Intrinsic::nvvm_bitcast_i2f; // "vvm.bitcast.i2f" + } + break; + } + break; + case 'f': // 9 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 8 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "l.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rm_ftz; // "vvm.f2ll.rm.ftz" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rn_ftz; // "vvm.f2ll.rn.ftz" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rp_ftz; // "vvm.f2ll.rp.ftz" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rz_ftz; // "vvm.f2ll.rz.ftz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+7, "i.r", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rm_ftz; // "vvm.f2ui.rm.ftz" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rn_ftz; // "vvm.f2ui.rn.ftz" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rp_ftz; // "vvm.f2ui.rp.ftz" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rz_ftz; // "vvm.f2ui.rz.ftz" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+6, "oor.ftz.f", 9)) + break; + return Intrinsic::nvvm_floor_ftz_f; // "vvm.floor.ftz.f" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+5, "ove.double", 10)) + break; + return Intrinsic::nvvm_move_double; // "vvm.move.double" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+5, "ound.ftz.f", 10)) + break; + return Intrinsic::nvvm_round_ftz_f; // "vvm.round.ftz.f" + case 't': // 1 string to match. + if (memcmp(NameR.data()+5, "runc.ftz.f", 10)) + break; + return Intrinsic::nvvm_trunc_ftz_f; // "vvm.trunc.ftz.f" + } + break; + case 16: // 34 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+5, "dd.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_add_rm_ftz_f; // "vvm.add.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_add_rn_ftz_f; // "vvm.add.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_add_rp_ftz_f; // "vvm.add.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_add_rz_ftz_f; // "vvm.add.rz.ftz.f" + } + break; + case 'b': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "rrier0.and", 10)) + break; + return Intrinsic::nvvm_barrier0_and; // "vvm.barrier0.and" + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+6, "tcast.", 6)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "2ll", 3)) + break; + return Intrinsic::nvvm_bitcast_d2ll; // "vvm.bitcast.d2ll" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+13, "l2d", 3)) + break; + return Intrinsic::nvvm_bitcast_ll2d; // "vvm.bitcast.ll2d" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+5, "os.approx.f", 11)) + break; + return Intrinsic::nvvm_cos_approx_f; // "vvm.cos.approx.f" + case 'd': // 5 strings to match. + if (memcmp(NameR.data()+5, "iv.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "pprox.f", 7)) + break; + return Intrinsic::nvvm_div_approx_f; // "vvm.div.approx.f" + case 'r': // 4 strings to match. + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_div_rm_ftz_f; // "vvm.div.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_div_rn_ftz_f; // "vvm.div.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_div_rp_ftz_f; // "vvm.div.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_div_rz_ftz_f; // "vvm.div.rz.ftz.f" + } + break; + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+5, "x2.approx.", 10)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_ex2_approx_d; // "vvm.ex2.approx.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_ex2_approx_f; // "vvm.ex2.approx.f" + } + break; + case 'f': // 8 strings to match. + switch (NameR[5]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+6, "ull.r", 5)) + break; + switch (NameR[11]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+12, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rm_ftz; // "vvm.f2ull.rm.ftz" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+12, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rn_ftz; // "vvm.f2ull.rn.ftz" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+12, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rp_ftz; // "vvm.f2ull.rp.ftz" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+12, ".ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rz_ftz; // "vvm.f2ull.rz.ftz" + } + break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+6, "a.r", 3)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_fma_rm_ftz_f; // "vvm.fma.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_fma_rn_ftz_f; // "vvm.fma.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_fma_rp_ftz_f; // "vvm.fma.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_fma_rz_ftz_f; // "vvm.fma.rz.ftz.f" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+5, "g2.approx.", 10)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_lg2_approx_d; // "vvm.lg2.approx.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_lg2_approx_f; // "vvm.lg2.approx.f" + } + break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+5, "ul.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_mul_rm_ftz_f; // "vvm.mul.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_mul_rn_ftz_f; // "vvm.mul.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_mul_rp_ftz_f; // "vvm.mul.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_mul_rz_ftz_f; // "vvm.mul.rz.ftz.f" + } + break; + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+5, "cp.r", 4)) + break; + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_rcp_rm_ftz_f; // "vvm.rcp.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_rcp_rn_ftz_f; // "vvm.rcp.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_rcp_rp_ftz_f; // "vvm.rcp.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+10, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_rcp_rz_ftz_f; // "vvm.rcp.rz.ftz.f" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+5, "in.approx.f", 11)) + break; + return Intrinsic::nvvm_sin_approx_f; // "vvm.sin.approx.f" + } + break; + case 17: // 6 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+5, "arrier0.popc", 12)) + break; + return Intrinsic::nvvm_barrier0_popc; // "vvm.barrier0.popc" + case 's': // 5 strings to match. + if (memcmp(NameR.data()+5, "qrt.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+10, "pprox.f", 7)) + break; + return Intrinsic::nvvm_sqrt_approx_f; // "vvm.sqrt.approx.f" + case 'r': // 4 strings to match. + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_sqrt_rm_ftz_f; // "vvm.sqrt.rm.ftz.f" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_sqrt_rn_ftz_f; // "vvm.sqrt.rn.ftz.f" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_sqrt_rp_ftz_f; // "vvm.sqrt.rp.ftz.f" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+11, ".ftz.f", 6)) + break; + return Intrinsic::nvvm_sqrt_rz_ftz_f; // "vvm.sqrt.rz.ftz.f" + } + break; + } + break; + } + break; + case 18: // 8 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+5, "sspacep.", 8)) + break; + switch (NameR[13]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+14, "onst", 4)) + break; + return Intrinsic::nvvm_isspacep_const; // "vvm.isspacep.const" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "ocal", 4)) + break; + return Intrinsic::nvvm_isspacep_local; // "vvm.isspacep.local" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+5, "sqrt.approx.", 12)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rsqrt_approx_d; // "vvm.rsqrt.approx.d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rsqrt_approx_f; // "vvm.rsqrt.approx.f" + } + break; + case 's': // 3 strings to match. + switch (NameR[5]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+6, "turate.ftz.f", 12)) + break; + return Intrinsic::nvvm_saturate_ftz_f; // "vvm.saturate.ftz.f" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+6, "q.array.size", 12)) + break; + return Intrinsic::nvvm_suq_array_size; // "vvm.suq.array.size" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+6, "ap.lo.hi.b64", 12)) + break; + return Intrinsic::nvvm_swap_lo_hi_b64; // "vvm.swap.lo.hi.b64" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+5, "xq.array.size", 13)) + break; + return Intrinsic::nvvm_txq_array_size; // "vvm.txq.array.size" + } + break; + case 19: // 12 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'i': // 5 strings to match. + if (NameR[5] != 's') + break; + switch (NameR[6]) { + default: break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+7, "pacep.", 6)) + break; + switch (NameR[13]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(NameR.data()+14, "lobal", 5)) + break; + return Intrinsic::nvvm_isspacep_global; // "vvm.isspacep.global" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, "hared", 5)) + break; + return Intrinsic::nvvm_isspacep_shared; // "vvm.isspacep.shared" + } + break; + case 't': // 3 strings to match. + if (memcmp(NameR.data()+7, "ypep.", 5)) + break; + switch (NameR[12]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "mpler", 5)) + break; + return Intrinsic::nvvm_istypep_sampler; // "vvm.istypep.sampler" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+14, "rface", 5)) + break; + return Intrinsic::nvvm_istypep_surface; // "vvm.istypep.surface" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, "exture", 6)) + break; + return Intrinsic::nvvm_istypep_texture; // "vvm.istypep.texture" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(NameR.data()+5, "uld.", 4)) + break; + switch (NameR[9]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+10, "d.i8.", 5)) + break; + switch (NameR[15]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+16, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_i8_trap; // "vvm.suld.1d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+16, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_i8_zero; // "vvm.suld.1d.i8.zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+10, "d.i8.", 5)) + break; + switch (NameR[15]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+16, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_i8_trap; // "vvm.suld.2d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+16, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_i8_zero; // "vvm.suld.2d.i8.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+10, "d.i8.", 5)) + break; + switch (NameR[15]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+16, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_i8_trap; // "vvm.suld.3d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+16, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_i8_zero; // "vvm.suld.3d.i8.zero" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+5, "xq.num.samples", 14)) + break; + return Intrinsic::nvvm_txq_num_samples; // "vvm.txq.num.samples" + } + break; + case 20: // 46 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+5, "os.approx.ftz.f", 15)) + break; + return Intrinsic::nvvm_cos_approx_ftz_f; // "vvm.cos.approx.ftz.f" + case 'd': // 1 string to match. + if (memcmp(NameR.data()+5, "iv.approx.ftz.f", 15)) + break; + return Intrinsic::nvvm_div_approx_ftz_f; // "vvm.div.approx.ftz.f" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+5, "x2.approx.ftz.f", 15)) + break; + return Intrinsic::nvvm_ex2_approx_ftz_f; // "vvm.ex2.approx.ftz.f" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+5, "g2.approx.ftz.f", 15)) + break; + return Intrinsic::nvvm_lg2_approx_ftz_f; // "vvm.lg2.approx.ftz.f" + case 'r': // 2 strings to match. + switch (NameR[5]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+6, "p.approx.ftz.d", 14)) + break; + return Intrinsic::nvvm_rcp_approx_ftz_d; // "vvm.rcp.approx.ftz.d" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+6, "tate.right.b64", 14)) + break; + return Intrinsic::nvvm_rotate_right_b64; // "vvm.rotate.right.b64" + } + break; + case 's': // 22 strings to match. + switch (NameR[5]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+6, "n.approx.ftz.f", 14)) + break; + return Intrinsic::nvvm_sin_approx_ftz_f; // "vvm.sin.approx.ftz.f" + case 'u': // 21 strings to match. + if (memcmp(NameR.data()+6, "ld.", 3)) + break; + switch (NameR[9]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.i", 3)) + break; + switch (NameR[13]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+14, "6.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_i16_trap; // "vvm.suld.1d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_i16_zero; // "vvm.suld.1d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+14, "2.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_i32_trap; // "vvm.suld.1d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_i32_zero; // "vvm.suld.1d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+14, "4.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_i64_trap; // "vvm.suld.1d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_i64_zero; // "vvm.suld.1d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+14, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_i8_clamp; // "vvm.suld.1d.i8.clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.i", 3)) + break; + switch (NameR[13]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+14, "6.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_i16_trap; // "vvm.suld.2d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_i16_zero; // "vvm.suld.2d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+14, "2.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_i32_trap; // "vvm.suld.2d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_i32_zero; // "vvm.suld.2d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+14, "4.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_i64_trap; // "vvm.suld.2d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_i64_zero; // "vvm.suld.2d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+14, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_i8_clamp; // "vvm.suld.2d.i8.clamp" + } + break; + case '3': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.i", 3)) + break; + switch (NameR[13]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+14, "6.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_i16_trap; // "vvm.suld.3d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_i16_zero; // "vvm.suld.3d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+14, "2.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_i32_trap; // "vvm.suld.3d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_i32_zero; // "vvm.suld.3d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+14, "4.", 2)) + break; + switch (NameR[16]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+17, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_i64_trap; // "vvm.suld.3d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+17, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_i64_zero; // "vvm.suld.3d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+14, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_3d_i8_clamp; // "vvm.suld.3d.i8.clamp" + } + break; + } + break; + } + break; + case 't': // 18 strings to match. + if (memcmp(NameR.data()+5, "ex.", 3)) + break; + switch (NameR[8]) { + default: break; + case '1': // 6 strings to match. + if (memcmp(NameR.data()+9, "d.v4", 4)) + break; + switch (NameR[13]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4f32_f32; // "vvm.tex.1d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4f32_s32; // "vvm.tex.1d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4s32_f32; // "vvm.tex.1d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4s32_s32; // "vvm.tex.1d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4u32_f32; // "vvm.tex.1d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_v4u32_s32; // "vvm.tex.1d.v4u32.s32" + } + break; + } + break; + case '2': // 6 strings to match. + if (memcmp(NameR.data()+9, "d.v4", 4)) + break; + switch (NameR[13]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4f32_f32; // "vvm.tex.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4f32_s32; // "vvm.tex.2d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4s32_f32; // "vvm.tex.2d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4s32_s32; // "vvm.tex.2d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4u32_f32; // "vvm.tex.2d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_v4u32_s32; // "vvm.tex.2d.v4u32.s32" + } + break; + } + break; + case '3': // 6 strings to match. + if (memcmp(NameR.data()+9, "d.v4", 4)) + break; + switch (NameR[13]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4f32_f32; // "vvm.tex.3d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4f32_s32; // "vvm.tex.3d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4s32_f32; // "vvm.tex.3d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4s32_s32; // "vvm.tex.3d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+14, "32.", 3)) + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4u32_f32; // "vvm.tex.3d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, "32", 2)) + break; + return Intrinsic::nvvm_tex_3d_v4u32_s32; // "vvm.tex.3d.v4u32.s32" + } + break; + } + break; + } + break; + } + break; + case 21: // 33 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 's': // 32 strings to match. + switch (NameR[5]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+6, "rt.approx.ftz.f", 15)) + break; + return Intrinsic::nvvm_sqrt_approx_ftz_f; // "vvm.sqrt.approx.ftz.f" + case 'u': // 31 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 21 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[13]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+14, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_i16_clamp; // "vvm.suld.1d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+14, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_i32_clamp; // "vvm.suld.1d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+14, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_i64_clamp; // "vvm.suld.1d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[13]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i8_trap; // "vvm.suld.1d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i8_zero; // "vvm.suld.1d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i8_trap; // "vvm.suld.1d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i8_zero; // "vvm.suld.1d.v4i8.zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[13]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+14, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_i16_clamp; // "vvm.suld.2d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+14, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_i32_clamp; // "vvm.suld.2d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+14, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_i64_clamp; // "vvm.suld.2d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[13]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i8_trap; // "vvm.suld.2d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i8_zero; // "vvm.suld.2d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i8_trap; // "vvm.suld.2d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i8_zero; // "vvm.suld.2d.v4i8.zero" + } + break; + } + break; + } + break; + case '3': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[13]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+14, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_i16_clamp; // "vvm.suld.3d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+14, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_i32_clamp; // "vvm.suld.3d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+14, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_i64_clamp; // "vvm.suld.3d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[13]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i8_trap; // "vvm.suld.3d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i8_zero; // "vvm.suld.3d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+14, "i8.", 3)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i8_trap; // "vvm.suld.3d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i8_zero; // "vvm.suld.3d.v4i8.zero" + } + break; + } + break; + } + break; + } + break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+7, ".channel.order", 14)) + break; + return Intrinsic::nvvm_suq_channel_order; // "vvm.suq.channel.order" + case 's': // 9 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 6 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i8.", 5)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_trap; // "vvm.sust.b.1d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_zero; // "vvm.sust.b.1d.i8.zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i8.", 5)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_trap; // "vvm.sust.b.2d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_zero; // "vvm.sust.b.2d.i8.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i8.", 5)) + break; + switch (NameR[17]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+18, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_trap; // "vvm.sust.b.3d.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_zero; // "vvm.sust.b.3d.i8.zero" + } + break; + } + break; + case 'p': // 3 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+12, "d.i8.trap", 9)) + break; + return Intrinsic::nvvm_sust_p_1d_i8_trap; // "vvm.sust.p.1d.i8.trap" + case '2': // 1 string to match. + if (memcmp(NameR.data()+12, "d.i8.trap", 9)) + break; + return Intrinsic::nvvm_sust_p_2d_i8_trap; // "vvm.sust.p.2d.i8.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+12, "d.i8.trap", 9)) + break; + return Intrinsic::nvvm_sust_p_3d_i8_trap; // "vvm.sust.p.3d.i8.trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+5, "xq.channel.order", 16)) + break; + return Intrinsic::nvvm_txq_channel_order; // "vvm.txq.channel.order" + } + break; + case 22: // 67 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+5, "sqrt.approx.ftz.f", 17)) + break; + return Intrinsic::nvvm_rsqrt_approx_ftz_f; // "vvm.rsqrt.approx.ftz.f" + case 's': // 63 strings to match. + if (NameR[5] != 'u') + break; + switch (NameR[6]) { + default: break; + case 'l': // 36 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 7 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i16_trap; // "vvm.suld.1d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i16_zero; // "vvm.suld.1d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i32_trap; // "vvm.suld.1d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i32_zero; // "vvm.suld.1d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i64_trap; // "vvm.suld.1d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v2i64_zero; // "vvm.suld.1d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_v2i8_clamp; // "vvm.suld.1d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i16_trap; // "vvm.suld.1d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i16_zero; // "vvm.suld.1d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i32_trap; // "vvm.suld.1d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_v4i32_zero; // "vvm.suld.1d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_v4i8_clamp; // "vvm.suld.1d.v4i8.clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 7 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i16_trap; // "vvm.suld.2d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i16_zero; // "vvm.suld.2d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i32_trap; // "vvm.suld.2d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i32_zero; // "vvm.suld.2d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i64_trap; // "vvm.suld.2d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v2i64_zero; // "vvm.suld.2d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_v2i8_clamp; // "vvm.suld.2d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i16_trap; // "vvm.suld.2d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i16_zero; // "vvm.suld.2d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i32_trap; // "vvm.suld.2d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_v4i32_zero; // "vvm.suld.2d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_v4i8_clamp; // "vvm.suld.2d.v4i8.clamp" + } + break; + } + break; + case '3': // 12 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 7 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i16_trap; // "vvm.suld.3d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i16_zero; // "vvm.suld.3d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i32_trap; // "vvm.suld.3d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i32_zero; // "vvm.suld.3d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i64_trap; // "vvm.suld.3d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v2i64_zero; // "vvm.suld.3d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_3d_v2i8_clamp; // "vvm.suld.3d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i16_trap; // "vvm.suld.3d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i16_zero; // "vvm.suld.3d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i32_trap; // "vvm.suld.3d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_suld_3d_v4i32_zero; // "vvm.suld.3d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_3d_v4i8_clamp; // "vvm.suld.3d.v4i8.clamp" + } + break; + } + break; + } + break; + case 's': // 27 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 21 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_trap; // "vvm.sust.b.1d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_zero; // "vvm.sust.b.1d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_trap; // "vvm.sust.b.1d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_zero; // "vvm.sust.b.1d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_trap; // "vvm.sust.b.1d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_zero; // "vvm.sust.b.1d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_clamp; // "vvm.sust.b.1d.i8.clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_trap; // "vvm.sust.b.2d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_zero; // "vvm.sust.b.2d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_trap; // "vvm.sust.b.2d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_zero; // "vvm.sust.b.2d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_trap; // "vvm.sust.b.2d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_zero; // "vvm.sust.b.2d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_clamp; // "vvm.sust.b.2d.i8.clamp" + } + break; + case '3': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "6.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_trap; // "vvm.sust.b.3d.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_zero; // "vvm.sust.b.3d.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_trap; // "vvm.sust.b.3d.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_zero; // "vvm.sust.b.3d.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.", 2)) + break; + switch (NameR[18]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+19, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_trap; // "vvm.sust.b.3d.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_zero; // "vvm.sust.b.3d.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+16, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_clamp; // "vvm.sust.b.3d.i8.clamp" + } + break; + } + break; + case 'p': // 6 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_i16_trap; // "vvm.sust.p.1d.i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_i32_trap; // "vvm.sust.p.1d.i32.trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_i16_trap; // "vvm.sust.p.2d.i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_i32_trap; // "vvm.sust.p.2d.i32.trap" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.i", 3)) + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_i16_trap; // "vvm.sust.p.3d.i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_i32_trap; // "vvm.sust.p.3d.i32.trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 3 strings to match. + if (memcmp(NameR.data()+5, "ex.cube.v4", 10)) + break; + switch (NameR[15]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+16, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_v4f32_f32; // "vvm.tex.cube.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_v4s32_f32; // "vvm.tex.cube.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+16, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_v4u32_f32; // "vvm.tex.cube.v4u32.f32" + } + break; + } + break; + case 23: // 57 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+5, "ead.ptx.sreg.tid.", 17)) + break; + switch (NameR[22]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_x; // "vvm.read.ptx.sreg.tid.x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_y; // "vvm.read.ptx.sreg.tid.y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_z; // "vvm.read.ptx.sreg.tid.z" + } + break; + case 's': // 42 strings to match. + if (NameR[5] != 'u') + break; + switch (NameR[6]) { + default: break; + case 'l': // 15 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 3 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_v2i16_clamp; // "vvm.suld.1d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_v2i32_clamp; // "vvm.suld.1d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_v2i64_clamp; // "vvm.suld.1d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_v4i16_clamp; // "vvm.suld.1d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_v4i32_clamp; // "vvm.suld.1d.v4i32.clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 3 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_v2i16_clamp; // "vvm.suld.2d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_v2i32_clamp; // "vvm.suld.2d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_v2i64_clamp; // "vvm.suld.2d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_v4i16_clamp; // "vvm.suld.2d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_v4i32_clamp; // "vvm.suld.2d.v4i32.clamp" + } + break; + } + break; + case '3': // 5 strings to match. + if (memcmp(NameR.data()+10, "d.v", 3)) + break; + switch (NameR[13]) { + default: break; + case '2': // 3 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_v2i16_clamp; // "vvm.suld.3d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_v2i32_clamp; // "vvm.suld.3d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_v2i64_clamp; // "vvm.suld.3d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_v4i16_clamp; // "vvm.suld.3d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_3d_v4i32_clamp; // "vvm.suld.3d.v4i32.clamp" + } + break; + } + break; + } + break; + case 's': // 27 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 21 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_clamp; // "vvm.sust.b.1d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_clamp; // "vvm.sust.b.1d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_clamp; // "vvm.sust.b.1d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_trap; // "vvm.sust.b.1d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_zero; // "vvm.sust.b.1d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_trap; // "vvm.sust.b.1d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_zero; // "vvm.sust.b.1d.v4i8.zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_clamp; // "vvm.sust.b.2d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_clamp; // "vvm.sust.b.2d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_clamp; // "vvm.sust.b.2d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_trap; // "vvm.sust.b.2d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_zero; // "vvm.sust.b.2d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_trap; // "vvm.sust.b.2d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_zero; // "vvm.sust.b.2d.v4i8.zero" + } + break; + } + break; + } + break; + case '3': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[15]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+16, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_clamp; // "vvm.sust.b.3d.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+16, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_clamp; // "vvm.sust.b.3d.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_clamp; // "vvm.sust.b.3d.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_trap; // "vvm.sust.b.3d.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_zero; // "vvm.sust.b.3d.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+16, "i8.", 3)) + break; + switch (NameR[19]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+20, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_trap; // "vvm.sust.b.3d.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+20, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_zero; // "vvm.sust.b.3d.v4i8.zero" + } + break; + } + break; + } + break; + } + break; + case 'p': // 6 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i8_trap; // "vvm.sust.p.1d.v2i8.trap" + case '4': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i8_trap; // "vvm.sust.p.1d.v4i8.trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i8_trap; // "vvm.sust.p.2d.v2i8.trap" + case '4': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i8_trap; // "vvm.sust.p.2d.v4i8.trap" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i8_trap; // "vvm.sust.p.3d.v2i8.trap" + case '4': // 1 string to match. + if (memcmp(NameR.data()+16, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i8_trap; // "vvm.sust.p.3d.v4i8.trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 12 strings to match. + if (memcmp(NameR.data()+5, "ld4.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+10, ".2d.v4", 6)) + break; + switch (NameR[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_a_2d_v4f32_f32; // "vvm.tld4.a.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_a_2d_v4s32_f32; // "vvm.tld4.a.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_a_2d_v4u32_f32; // "vvm.tld4.a.2d.v4u32.f32" + } + break; + case 'b': // 3 strings to match. + if (memcmp(NameR.data()+10, ".2d.v4", 6)) + break; + switch (NameR[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_b_2d_v4f32_f32; // "vvm.tld4.b.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_b_2d_v4s32_f32; // "vvm.tld4.b.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_b_2d_v4u32_f32; // "vvm.tld4.b.2d.v4u32.f32" + } + break; + case 'g': // 3 strings to match. + if (memcmp(NameR.data()+10, ".2d.v4", 6)) + break; + switch (NameR[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_g_2d_v4f32_f32; // "vvm.tld4.g.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_g_2d_v4s32_f32; // "vvm.tld4.g.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_g_2d_v4u32_f32; // "vvm.tld4.g.2d.v4u32.f32" + } + break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+10, ".2d.v4", 6)) + break; + switch (NameR[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_r_2d_v4f32_f32; // "vvm.tld4.r.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_r_2d_v4s32_f32; // "vvm.tld4.r.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+17, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_r_2d_v4u32_f32; // "vvm.tld4.r.2d.v4u32.f32" + } + break; + } + break; + } + break; + case 24: // 51 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+5, "ead.ptx.sreg.ntid.", 18)) + break; + switch (NameR[23]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_x; // "vvm.read.ptx.sreg.ntid.x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_y; // "vvm.read.ptx.sreg.ntid.y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_z; // "vvm.read.ptx.sreg.ntid.z" + } + break; + case 's': // 48 strings to match. + if (memcmp(NameR.data()+5, "ust.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 36 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 7 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_trap; // "vvm.sust.b.1d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_zero; // "vvm.sust.b.1d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_trap; // "vvm.sust.b.1d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_zero; // "vvm.sust.b.1d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+18, "4.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_trap; // "vvm.sust.b.1d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_zero; // "vvm.sust.b.1d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_clamp; // "vvm.sust.b.1d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_trap; // "vvm.sust.b.1d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_zero; // "vvm.sust.b.1d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_trap; // "vvm.sust.b.1d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_zero; // "vvm.sust.b.1d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_clamp; // "vvm.sust.b.1d.v4i8.clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 7 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_trap; // "vvm.sust.b.2d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_zero; // "vvm.sust.b.2d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_trap; // "vvm.sust.b.2d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_zero; // "vvm.sust.b.2d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+18, "4.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_trap; // "vvm.sust.b.2d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_zero; // "vvm.sust.b.2d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_clamp; // "vvm.sust.b.2d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_trap; // "vvm.sust.b.2d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_zero; // "vvm.sust.b.2d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_trap; // "vvm.sust.b.2d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_zero; // "vvm.sust.b.2d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_clamp; // "vvm.sust.b.2d.v4i8.clamp" + } + break; + } + break; + case '3': // 12 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 7 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_trap; // "vvm.sust.b.3d.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_zero; // "vvm.sust.b.3d.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_trap; // "vvm.sust.b.3d.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_zero; // "vvm.sust.b.3d.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+18, "4.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_trap; // "vvm.sust.b.3d.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_zero; // "vvm.sust.b.3d.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_clamp; // "vvm.sust.b.3d.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+18, "6.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_trap; // "vvm.sust.b.3d.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_zero; // "vvm.sust.b.3d.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+18, "2.", 2)) + break; + switch (NameR[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_trap; // "vvm.sust.b.3d.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_zero; // "vvm.sust.b.3d.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+18, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_clamp; // "vvm.sust.b.3d.v4i8.clamp" + } + break; + } + break; + } + break; + case 'p': // 12 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 4 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i16_trap; // "vvm.sust.p.1d.v2i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i32_trap; // "vvm.sust.p.1d.v2i32.trap" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i16_trap; // "vvm.sust.p.1d.v4i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i32_trap; // "vvm.sust.p.1d.v4i32.trap" + } + break; + } + break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i16_trap; // "vvm.sust.p.2d.v2i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i32_trap; // "vvm.sust.p.2d.v2i32.trap" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i16_trap; // "vvm.sust.p.2d.v4i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i32_trap; // "vvm.sust.p.2d.v4i32.trap" + } + break; + } + break; + case '3': // 4 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i16_trap; // "vvm.sust.p.3d.v2i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i32_trap; // "vvm.sust.p.3d.v2i32.trap" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i16_trap; // "vvm.sust.p.3d.v4i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i32_trap; // "vvm.sust.p.3d.v4i32.trap" + } + break; + } + break; + } + break; + } + break; + } + break; + case 25: // 44 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'r': // 13 strings to match. + if (memcmp(NameR.data()+5, "ead.ptx.sreg.", 13)) + break; + switch (NameR[18]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+19, "taid.", 5)) + break; + switch (NameR[24]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_x; // "vvm.read.ptx.sreg.ctaid.x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_y; // "vvm.read.ptx.sreg.ctaid.y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_z; // "vvm.read.ptx.sreg.ctaid.z" + } + break; + case 'e': // 10 strings to match. + if (memcmp(NameR.data()+19, "nvreg", 5)) + break; + switch (NameR[24]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg0; // "vvm.read.ptx.sreg.envreg0" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg1; // "vvm.read.ptx.sreg.envreg1" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg2; // "vvm.read.ptx.sreg.envreg2" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg3; // "vvm.read.ptx.sreg.envreg3" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg4; // "vvm.read.ptx.sreg.envreg4" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg5; // "vvm.read.ptx.sreg.envreg5" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg6; // "vvm.read.ptx.sreg.envreg6" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg7; // "vvm.read.ptx.sreg.envreg7" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg8; // "vvm.read.ptx.sreg.envreg8" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg9; // "vvm.read.ptx.sreg.envreg9" + } + break; + } + break; + case 's': // 20 strings to match. + if (NameR[5] != 'u') + break; + switch (NameR[6]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+10, "d.array.i8.", 11)) + break; + switch (NameR[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i8_trap; // "vvm.suld.1d.array.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i8_zero; // "vvm.suld.1d.array.i8.zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+10, "d.array.i8.", 11)) + break; + switch (NameR[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i8_trap; // "vvm.suld.2d.array.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i8_zero; // "vvm.suld.2d.array.i8.zero" + } + break; + } + break; + case 'q': // 1 string to match. + if (memcmp(NameR.data()+7, ".channel.data.type", 18)) + break; + return Intrinsic::nvvm_suq_channel_data_type; // "vvm.suq.channel.data.type" + case 's': // 15 strings to match. + if (memcmp(NameR.data()+7, "t.b.", 4)) + break; + switch (NameR[11]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 3 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_clamp; // "vvm.sust.b.1d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_clamp; // "vvm.sust.b.1d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+18, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_clamp; // "vvm.sust.b.1d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_clamp; // "vvm.sust.b.1d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_clamp; // "vvm.sust.b.1d.v4i32.clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 3 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_clamp; // "vvm.sust.b.2d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_clamp; // "vvm.sust.b.2d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+18, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_clamp; // "vvm.sust.b.2d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_clamp; // "vvm.sust.b.2d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_clamp; // "vvm.sust.b.2d.v4i32.clamp" + } + break; + } + break; + case '3': // 5 strings to match. + if (memcmp(NameR.data()+12, "d.v", 3)) + break; + switch (NameR[15]) { + default: break; + case '2': // 3 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_clamp; // "vvm.sust.b.3d.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_clamp; // "vvm.sust.b.3d.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+18, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_clamp; // "vvm.sust.b.3d.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[16] != 'i') + break; + switch (NameR[17]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+18, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_clamp; // "vvm.sust.b.3d.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+18, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_clamp; // "vvm.sust.b.3d.v4i32.clamp" + } + break; + } + break; + } + break; + } + break; + case 't': // 11 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 9 strings to match. + if (memcmp(NameR.data()+6, "x.", 2)) + break; + switch (NameR[8]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.grad.v4", 9)) + break; + switch (NameR[18]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_grad_v4f32_f32; // "vvm.tex.1d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_grad_v4s32_f32; // "vvm.tex.1d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_grad_v4u32_f32; // "vvm.tex.1d.grad.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.grad.v4", 9)) + break; + switch (NameR[18]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_grad_v4f32_f32; // "vvm.tex.2d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_grad_v4s32_f32; // "vvm.tex.2d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_grad_v4u32_f32; // "vvm.tex.2d.grad.v4u32.f32" + } + break; + case '3': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.grad.v4", 9)) + break; + switch (NameR[18]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_grad_v4f32_f32; // "vvm.tex.3d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_grad_v4s32_f32; // "vvm.tex.3d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+19, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_grad_v4u32_f32; // "vvm.tex.3d.grad.v4u32.f32" + } + break; + } + break; + case 'x': // 2 strings to match. + if (memcmp(NameR.data()+6, "q.", 2)) + break; + switch (NameR[8]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+9, "hannel.data.type", 16)) + break; + return Intrinsic::nvvm_txq_channel_data_type; // "vvm.txq.channel.data.type" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+9, "um.mipmap.levels", 16)) + break; + return Intrinsic::nvvm_txq_num_mipmap_levels; // "vvm.txq.num.mipmap.levels" + } + break; + } + break; + } + break; + case 26: // 61 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 'r': // 26 strings to match. + if (memcmp(NameR.data()+5, "ead.ptx.sreg.", 13)) + break; + switch (NameR[18]) { + default: break; + case 'e': // 22 strings to match. + if (memcmp(NameR.data()+19, "nvreg", 5)) + break; + switch (NameR[24]) { + default: break; + case '1': // 10 strings to match. + switch (NameR[25]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg10; // "vvm.read.ptx.sreg.envreg10" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg11; // "vvm.read.ptx.sreg.envreg11" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg12; // "vvm.read.ptx.sreg.envreg12" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg13; // "vvm.read.ptx.sreg.envreg13" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg14; // "vvm.read.ptx.sreg.envreg14" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg15; // "vvm.read.ptx.sreg.envreg15" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg16; // "vvm.read.ptx.sreg.envreg16" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg17; // "vvm.read.ptx.sreg.envreg17" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg18; // "vvm.read.ptx.sreg.envreg18" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg19; // "vvm.read.ptx.sreg.envreg19" + } + break; + case '2': // 10 strings to match. + switch (NameR[25]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg20; // "vvm.read.ptx.sreg.envreg20" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg21; // "vvm.read.ptx.sreg.envreg21" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg22; // "vvm.read.ptx.sreg.envreg22" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg23; // "vvm.read.ptx.sreg.envreg23" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg24; // "vvm.read.ptx.sreg.envreg24" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg25; // "vvm.read.ptx.sreg.envreg25" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg26; // "vvm.read.ptx.sreg.envreg26" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg27; // "vvm.read.ptx.sreg.envreg27" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg28; // "vvm.read.ptx.sreg.envreg28" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg29; // "vvm.read.ptx.sreg.envreg29" + } + break; + case '3': // 2 strings to match. + switch (NameR[25]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg30; // "vvm.read.ptx.sreg.envreg30" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg31; // "vvm.read.ptx.sreg.envreg31" + } + break; + } + break; + case 'n': // 3 strings to match. + if (memcmp(NameR.data()+19, "ctaid.", 6)) + break; + switch (NameR[25]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_x; // "vvm.read.ptx.sreg.nctaid.x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_y; // "vvm.read.ptx.sreg.nctaid.y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_z; // "vvm.read.ptx.sreg.nctaid.z" + } + break; + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, "arpsize", 7)) + break; + return Intrinsic::nvvm_read_ptx_sreg_warpsize; // "vvm.read.ptx.sreg.warpsize" + } + break; + case 's': // 14 strings to match. + if (memcmp(NameR.data()+5, "uld.", 4)) + break; + switch (NameR[9]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.array.i", 9)) + break; + switch (NameR[19]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+20, "6.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i16_trap; // "vvm.suld.1d.array.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i16_zero; // "vvm.suld.1d.array.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+20, "2.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i32_trap; // "vvm.suld.1d.array.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i32_zero; // "vvm.suld.1d.array.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+20, "4.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i64_trap; // "vvm.suld.1d.array.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_i64_zero; // "vvm.suld.1d.array.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+20, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_array_i8_clamp; // "vvm.suld.1d.array.i8.clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.array.i", 9)) + break; + switch (NameR[19]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+20, "6.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i16_trap; // "vvm.suld.2d.array.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i16_zero; // "vvm.suld.2d.array.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+20, "2.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i32_trap; // "vvm.suld.2d.array.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i32_zero; // "vvm.suld.2d.array.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+20, "4.", 2)) + break; + switch (NameR[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i64_trap; // "vvm.suld.2d.array.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_i64_zero; // "vvm.suld.2d.array.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+20, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_array_i8_clamp; // "vvm.suld.2d.array.i8.clamp" + } + break; + } + break; + case 't': // 21 strings to match. + if (memcmp(NameR.data()+5, "ex.", 3)) + break; + switch (NameR[8]) { + default: break; + case '1': // 9 strings to match. + if (memcmp(NameR.data()+9, "d.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+12, "rray.v4", 7)) + break; + switch (NameR[19]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4f32_f32; // "vvm.tex.1d.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4f32_s32; // "vvm.tex.1d.array.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4s32_f32; // "vvm.tex.1d.array.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4s32_s32; // "vvm.tex.1d.array.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4u32_f32; // "vvm.tex.1d.array.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_1d_array_v4u32_s32; // "vvm.tex.1d.array.v4u32.s32" + } + break; + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+12, "evel.v4", 7)) + break; + switch (NameR[19]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_level_v4f32_f32; // "vvm.tex.1d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_level_v4s32_f32; // "vvm.tex.1d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_level_v4u32_f32; // "vvm.tex.1d.level.v4u32.f32" + } + break; + } + break; + case '2': // 9 strings to match. + if (memcmp(NameR.data()+9, "d.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+12, "rray.v4", 7)) + break; + switch (NameR[19]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4f32_f32; // "vvm.tex.2d.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4f32_s32; // "vvm.tex.2d.array.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4s32_f32; // "vvm.tex.2d.array.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4s32_s32; // "vvm.tex.2d.array.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+20, "32.", 3)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4u32_f32; // "vvm.tex.2d.array.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32", 2)) + break; + return Intrinsic::nvvm_tex_2d_array_v4u32_s32; // "vvm.tex.2d.array.v4u32.s32" + } + break; + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+12, "evel.v4", 7)) + break; + switch (NameR[19]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_level_v4f32_f32; // "vvm.tex.2d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_level_v4s32_f32; // "vvm.tex.2d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_level_v4u32_f32; // "vvm.tex.2d.level.v4u32.f32" + } + break; + } + break; + case '3': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.level.v4", 10)) + break; + switch (NameR[19]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_level_v4f32_f32; // "vvm.tex.3d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_level_v4s32_f32; // "vvm.tex.3d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+20, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_3d_level_v4u32_f32; // "vvm.tex.3d.level.v4u32.f32" + } + break; + } + break; + } + break; + case 27: // 20 strings to match. + if (memcmp(NameR.data()+0, "vvm.su", 6)) + break; + switch (NameR[6]) { + default: break; + case 'l': // 14 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.array.", 8)) + break; + switch (NameR[18]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[19]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+20, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_i16_clamp; // "vvm.suld.1d.array.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+20, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_i32_clamp; // "vvm.suld.1d.array.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+20, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_i64_clamp; // "vvm.suld.1d.array.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[19]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+20, "i8.", 3)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i8_trap; // "vvm.suld.1d.array.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i8_zero; // "vvm.suld.1d.array.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+20, "i8.", 3)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i8_trap; // "vvm.suld.1d.array.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i8_zero; // "vvm.suld.1d.array.v4i8.zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+10, "d.array.", 8)) + break; + switch (NameR[18]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[19]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+20, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_i16_clamp; // "vvm.suld.2d.array.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+20, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_i32_clamp; // "vvm.suld.2d.array.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+20, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_i64_clamp; // "vvm.suld.2d.array.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[19]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+20, "i8.", 3)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i8_trap; // "vvm.suld.2d.array.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i8_zero; // "vvm.suld.2d.array.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+20, "i8.", 3)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i8_trap; // "vvm.suld.2d.array.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i8_zero; // "vvm.suld.2d.array.v4i8.zero" + } + break; + } + break; + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.i8.", 11)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_trap; // "vvm.sust.b.1d.array.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_zero; // "vvm.sust.b.1d.array.i8.zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.i8.", 11)) + break; + switch (NameR[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_trap; // "vvm.sust.b.2d.array.i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_zero; // "vvm.sust.b.2d.array.i8.zero" + } + break; + } + break; + case 'p': // 2 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+12, "d.array.i8.trap", 15)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i8_trap; // "vvm.sust.p.1d.array.i8.trap" + case '2': // 1 string to match. + if (memcmp(NameR.data()+12, "d.array.i8.trap", 15)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i8_trap; // "vvm.sust.p.2d.array.i8.trap" + } + break; + } + break; + } + break; + case 28: // 66 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 's': // 42 strings to match. + if (NameR[5] != 'u') + break; + switch (NameR[6]) { + default: break; + case 'l': // 24 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(NameR.data()+10, "d.array.v", 9)) + break; + switch (NameR[19]) { + default: break; + case '2': // 7 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i16_trap; // "vvm.suld.1d.array.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i16_zero; // "vvm.suld.1d.array.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i32_trap; // "vvm.suld.1d.array.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i32_zero; // "vvm.suld.1d.array.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+22, "4.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i64_trap; // "vvm.suld.1d.array.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i64_zero; // "vvm.suld.1d.array.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i8_clamp; // "vvm.suld.1d.array.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i16_trap; // "vvm.suld.1d.array.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i16_zero; // "vvm.suld.1d.array.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i32_trap; // "vvm.suld.1d.array.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i32_zero; // "vvm.suld.1d.array.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i8_clamp; // "vvm.suld.1d.array.v4i8.clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(NameR.data()+10, "d.array.v", 9)) + break; + switch (NameR[19]) { + default: break; + case '2': // 7 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i16_trap; // "vvm.suld.2d.array.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i16_zero; // "vvm.suld.2d.array.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i32_trap; // "vvm.suld.2d.array.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i32_zero; // "vvm.suld.2d.array.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+22, "4.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i64_trap; // "vvm.suld.2d.array.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i64_zero; // "vvm.suld.2d.array.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i8_clamp; // "vvm.suld.2d.array.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i16_trap; // "vvm.suld.2d.array.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i16_zero; // "vvm.suld.2d.array.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i32_trap; // "vvm.suld.2d.array.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i32_zero; // "vvm.suld.2d.array.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i8_clamp; // "vvm.suld.2d.array.v4i8.clamp" + } + break; + } + break; + } + break; + case 's': // 18 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 14 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.array.i", 9)) + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_trap; // "vvm.sust.b.1d.array.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_zero; // "vvm.sust.b.1d.array.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_trap; // "vvm.sust.b.1d.array.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_zero; // "vvm.sust.b.1d.array.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+22, "4.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_trap; // "vvm.sust.b.1d.array.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_zero; // "vvm.sust.b.1d.array.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_clamp; // "vvm.sust.b.1d.array.i8.clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.array.i", 9)) + break; + switch (NameR[21]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+22, "6.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_trap; // "vvm.sust.b.2d.array.i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_zero; // "vvm.sust.b.2d.array.i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+22, "2.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_trap; // "vvm.sust.b.2d.array.i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_zero; // "vvm.sust.b.2d.array.i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+22, "4.", 2)) + break; + switch (NameR[24]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+25, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_trap; // "vvm.sust.b.2d.array.i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+25, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_zero; // "vvm.sust.b.2d.array.i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+22, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_clamp; // "vvm.sust.b.2d.array.i8.clamp" + } + break; + } + break; + case 'p': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.i", 9)) + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i16_trap; // "vvm.sust.p.1d.array.i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i32_trap; // "vvm.sust.p.1d.array.i32.trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.i", 9)) + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i16_trap; // "vvm.sust.p.2d.array.i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i32_trap; // "vvm.sust.p.2d.array.i32.trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 24 strings to match. + if (memcmp(NameR.data()+5, "ex.", 3)) + break; + switch (NameR[8]) { + default: break; + case 'c': // 6 strings to match. + if (memcmp(NameR.data()+9, "ube.", 4)) + break; + switch (NameR[13]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+14, "rray.v4", 7)) + break; + switch (NameR[21]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_v4f32_f32; // "vvm.tex.cube.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_v4s32_f32; // "vvm.tex.cube.array.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_v4u32_f32; // "vvm.tex.cube.array.v4u32.f32" + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+14, "evel.v4", 7)) + break; + switch (NameR[21]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_level_v4f32_f32; // "vvm.tex.cube.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_level_v4s32_f32; // "vvm.tex.cube.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+22, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_level_v4u32_f32; // "vvm.tex.cube.level.v4u32.f32" + } + break; + } + break; + case 'u': // 18 strings to match. + if (memcmp(NameR.data()+9, "nified.", 7)) + break; + switch (NameR[16]) { + default: break; + case '1': // 6 strings to match. + if (memcmp(NameR.data()+17, "d.v4", 4)) + break; + switch (NameR[21]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4f32_f32; // "vvm.tex.unified.1d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4f32_s32; // "vvm.tex.unified.1d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4s32_f32; // "vvm.tex.unified.1d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4s32_s32; // "vvm.tex.unified.1d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4u32_f32; // "vvm.tex.unified.1d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_v4u32_s32; // "vvm.tex.unified.1d.v4u32.s32" + } + break; + } + break; + case '2': // 6 strings to match. + if (memcmp(NameR.data()+17, "d.v4", 4)) + break; + switch (NameR[21]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4f32_f32; // "vvm.tex.unified.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4f32_s32; // "vvm.tex.unified.2d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4s32_f32; // "vvm.tex.unified.2d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4s32_s32; // "vvm.tex.unified.2d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4u32_f32; // "vvm.tex.unified.2d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_v4u32_s32; // "vvm.tex.unified.2d.v4u32.s32" + } + break; + } + break; + case '3': // 6 strings to match. + if (memcmp(NameR.data()+17, "d.v4", 4)) + break; + switch (NameR[21]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4f32_f32; // "vvm.tex.unified.3d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4f32_s32; // "vvm.tex.unified.3d.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4s32_f32; // "vvm.tex.unified.3d.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4s32_s32; // "vvm.tex.unified.3d.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+22, "32.", 3)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4u32_f32; // "vvm.tex.unified.3d.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_3d_v4u32_s32; // "vvm.tex.unified.3d.v4u32.s32" + } + break; + } + break; + } + break; + } + break; + } + break; + case 29: // 28 strings to match. + if (memcmp(NameR.data()+0, "vvm.su", 6)) + break; + switch (NameR[6]) { + default: break; + case 'l': // 10 strings to match. + if (memcmp(NameR.data()+7, "d.", 2)) + break; + switch (NameR[9]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(NameR.data()+10, "d.array.v", 9)) + break; + switch (NameR[19]) { + default: break; + case '2': // 3 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i16_clamp; // "vvm.suld.1d.array.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i32_clamp; // "vvm.suld.1d.array.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+22, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_v2i64_clamp; // "vvm.suld.1d.array.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i16_clamp; // "vvm.suld.1d.array.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_1d_array_v4i32_clamp; // "vvm.suld.1d.array.v4i32.clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(NameR.data()+10, "d.array.v", 9)) + break; + switch (NameR[19]) { + default: break; + case '2': // 3 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i16_clamp; // "vvm.suld.2d.array.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i32_clamp; // "vvm.suld.2d.array.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+22, "4.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_v2i64_clamp; // "vvm.suld.2d.array.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[20] != 'i') + break; + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i16_clamp; // "vvm.suld.2d.array.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_suld_2d_array_v4i32_clamp; // "vvm.suld.2d.array.v4i32.clamp" + } + break; + } + break; + } + break; + case 's': // 18 strings to match. + if (memcmp(NameR.data()+7, "t.", 2)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 14 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.array.", 8)) + break; + switch (NameR[20]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_clamp; // "vvm.sust.b.1d.array.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_clamp; // "vvm.sust.b.1d.array.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+22, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_clamp; // "vvm.sust.b.1d.array.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[21]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+22, "i8.", 3)) + break; + switch (NameR[25]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+26, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_trap; // "vvm.sust.b.1d.array.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+26, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_zero; // "vvm.sust.b.1d.array.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+22, "i8.", 3)) + break; + switch (NameR[25]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+26, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_trap; // "vvm.sust.b.1d.array.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+26, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_zero; // "vvm.sust.b.1d.array.v4i8.zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(NameR.data()+12, "d.array.", 8)) + break; + switch (NameR[20]) { + default: break; + case 'i': // 3 strings to match. + switch (NameR[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+22, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_clamp; // "vvm.sust.b.2d.array.i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+22, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_clamp; // "vvm.sust.b.2d.array.i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+22, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_clamp; // "vvm.sust.b.2d.array.i64.clamp" + } + break; + case 'v': // 4 strings to match. + switch (NameR[21]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+22, "i8.", 3)) + break; + switch (NameR[25]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+26, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_trap; // "vvm.sust.b.2d.array.v2i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+26, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_zero; // "vvm.sust.b.2d.array.v2i8.zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(NameR.data()+22, "i8.", 3)) + break; + switch (NameR[25]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+26, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_trap; // "vvm.sust.b.2d.array.v4i8.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+26, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_zero; // "vvm.sust.b.2d.array.v4i8.zero" + } + break; + } + break; + } + break; + } + break; + case 'p': // 4 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+22, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i8_trap; // "vvm.sust.p.1d.array.v2i8.trap" + case '4': // 1 string to match. + if (memcmp(NameR.data()+22, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i8_trap; // "vvm.sust.p.1d.array.v4i8.trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+22, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i8_trap; // "vvm.sust.p.2d.array.v2i8.trap" + case '4': // 1 string to match. + if (memcmp(NameR.data()+22, "i8.trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i8_trap; // "vvm.sust.p.2d.array.v4i8.trap" + } + break; + } + break; + } + break; + } + break; + case 30: // 35 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 's': // 32 strings to match. + if (memcmp(NameR.data()+5, "ust.", 4)) + break; + switch (NameR[9]) { + default: break; + case 'b': // 24 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 7 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+24, "6.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_trap; // "vvm.sust.b.1d.array.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_zero; // "vvm.sust.b.1d.array.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+24, "2.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_trap; // "vvm.sust.b.1d.array.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_zero; // "vvm.sust.b.1d.array.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+24, "4.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_trap; // "vvm.sust.b.1d.array.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_zero; // "vvm.sust.b.1d.array.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+24, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_clamp; // "vvm.sust.b.1d.array.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+24, "6.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_trap; // "vvm.sust.b.1d.array.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_zero; // "vvm.sust.b.1d.array.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+24, "2.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_trap; // "vvm.sust.b.1d.array.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_zero; // "vvm.sust.b.1d.array.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+24, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_clamp; // "vvm.sust.b.1d.array.v4i8.clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 7 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+24, "6.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_trap; // "vvm.sust.b.2d.array.v2i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_zero; // "vvm.sust.b.2d.array.v2i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+24, "2.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_trap; // "vvm.sust.b.2d.array.v2i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_zero; // "vvm.sust.b.2d.array.v2i32.zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(NameR.data()+24, "4.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_trap; // "vvm.sust.b.2d.array.v2i64.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_zero; // "vvm.sust.b.2d.array.v2i64.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+24, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_clamp; // "vvm.sust.b.2d.array.v2i8.clamp" + } + break; + case '4': // 5 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+24, "6.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_trap; // "vvm.sust.b.2d.array.v4i16.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_zero; // "vvm.sust.b.2d.array.v4i16.zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+24, "2.", 2)) + break; + switch (NameR[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_trap; // "vvm.sust.b.2d.array.v4i32.trap" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_zero; // "vvm.sust.b.2d.array.v4i32.zero" + } + break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+24, ".clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_clamp; // "vvm.sust.b.2d.array.v4i8.clamp" + } + break; + } + break; + } + break; + case 'p': // 8 strings to match. + if (NameR[10] != '.') + break; + switch (NameR[11]) { + default: break; + case '1': // 4 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i16_trap; // "vvm.sust.p.1d.array.v2i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i32_trap; // "vvm.sust.p.1d.array.v2i32.trap" + } + break; + case '4': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i16_trap; // "vvm.sust.p.1d.array.v4i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i32_trap; // "vvm.sust.p.1d.array.v4i32.trap" + } + break; + } + break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i16_trap; // "vvm.sust.p.2d.array.v2i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i32_trap; // "vvm.sust.p.2d.array.v2i32.trap" + } + break; + case '4': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i16_trap; // "vvm.sust.p.2d.array.v4i16.trap" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i32_trap; // "vvm.sust.p.2d.array.v4i32.trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 3 strings to match. + if (memcmp(NameR.data()+5, "ex.unified.cube.v4", 18)) + break; + switch (NameR[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+24, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_v4f32_f32; // "vvm.tex.unified.cube.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_v4s32_f32; // "vvm.tex.unified.cube.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+24, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_v4u32_f32; // "vvm.tex.unified.cube.v4u32.f32" + } + break; + } + break; + case 31: // 28 strings to match. + if (memcmp(NameR.data()+0, "vvm.", 4)) + break; + switch (NameR[4]) { + default: break; + case 's': // 10 strings to match. + if (memcmp(NameR.data()+5, "ust.b.", 6)) + break; + switch (NameR[11]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 3 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_clamp; // "vvm.sust.b.1d.array.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_clamp; // "vvm.sust.b.1d.array.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+24, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_clamp; // "vvm.sust.b.1d.array.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_clamp; // "vvm.sust.b.1d.array.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_clamp; // "vvm.sust.b.1d.array.v4i32.clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(NameR.data()+12, "d.array.v", 9)) + break; + switch (NameR[21]) { + default: break; + case '2': // 3 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_clamp; // "vvm.sust.b.2d.array.v2i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_clamp; // "vvm.sust.b.2d.array.v2i32.clamp" + case '6': // 1 string to match. + if (memcmp(NameR.data()+24, "4.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_clamp; // "vvm.sust.b.2d.array.v2i64.clamp" + } + break; + case '4': // 2 strings to match. + if (NameR[22] != 'i') + break; + switch (NameR[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+24, "6.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_clamp; // "vvm.sust.b.2d.array.v4i16.clamp" + case '3': // 1 string to match. + if (memcmp(NameR.data()+24, "2.clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_clamp; // "vvm.sust.b.2d.array.v4i32.clamp" + } + break; + } + break; + } + break; + case 't': // 18 strings to match. + switch (NameR[5]) { + default: break; + case 'e': // 6 strings to match. + if (memcmp(NameR.data()+6, "x.", 2)) + break; + switch (NameR[8]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.array.grad.v4", 15)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_grad_v4f32_f32; // "vvm.tex.1d.array.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_grad_v4s32_f32; // "vvm.tex.1d.array.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_grad_v4u32_f32; // "vvm.tex.1d.array.grad.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.array.grad.v4", 15)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_grad_v4f32_f32; // "vvm.tex.2d.array.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_grad_v4s32_f32; // "vvm.tex.2d.array.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_grad_v4u32_f32; // "vvm.tex.2d.array.grad.v4u32.f32" + } + break; + } + break; + case 'l': // 12 strings to match. + if (memcmp(NameR.data()+6, "d4.unified.", 11)) + break; + switch (NameR[17]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+18, ".2d.v4", 6)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_a_2d_v4f32_f32; // "vvm.tld4.unified.a.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_a_2d_v4s32_f32; // "vvm.tld4.unified.a.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_a_2d_v4u32_f32; // "vvm.tld4.unified.a.2d.v4u32.f32" + } + break; + case 'b': // 3 strings to match. + if (memcmp(NameR.data()+18, ".2d.v4", 6)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_b_2d_v4f32_f32; // "vvm.tld4.unified.b.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_b_2d_v4s32_f32; // "vvm.tld4.unified.b.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_b_2d_v4u32_f32; // "vvm.tld4.unified.b.2d.v4u32.f32" + } + break; + case 'g': // 3 strings to match. + if (memcmp(NameR.data()+18, ".2d.v4", 6)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_g_2d_v4f32_f32; // "vvm.tld4.unified.g.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_g_2d_v4s32_f32; // "vvm.tld4.unified.g.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_g_2d_v4u32_f32; // "vvm.tld4.unified.g.2d.v4u32.f32" + } + break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+18, ".2d.v4", 6)) + break; + switch (NameR[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_r_2d_v4f32_f32; // "vvm.tld4.unified.r.2d.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_r_2d_v4s32_f32; // "vvm.tld4.unified.r.2d.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+25, "32.f32", 6)) + break; + return Intrinsic::nvvm_tld4_unified_r_2d_v4u32_f32; // "vvm.tld4.unified.r.2d.v4u32.f32" + } + break; + } + break; + } + break; + } + break; + case 32: // 6 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.", 8)) + break; + switch (NameR[8]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.array.level.v4", 16)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_level_v4f32_f32; // "vvm.tex.1d.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_level_v4s32_f32; // "vvm.tex.1d.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_1d_array_level_v4u32_f32; // "vvm.tex.1d.array.level.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+9, "d.array.level.v4", 16)) + break; + switch (NameR[25]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_level_v4f32_f32; // "vvm.tex.2d.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_level_v4s32_f32; // "vvm.tex.2d.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+26, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_2d_array_level_v4u32_f32; // "vvm.tex.2d.array.level.v4u32.f32" + } + break; + } + break; + case 33: // 9 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.unified.", 16)) + break; + switch (NameR[16]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.grad.v4", 9)) + break; + switch (NameR[26]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_grad_v4f32_f32; // "vvm.tex.unified.1d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_grad_v4s32_f32; // "vvm.tex.unified.1d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_grad_v4u32_f32; // "vvm.tex.unified.1d.grad.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.grad.v4", 9)) + break; + switch (NameR[26]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_grad_v4f32_f32; // "vvm.tex.unified.2d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_grad_v4s32_f32; // "vvm.tex.unified.2d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_grad_v4u32_f32; // "vvm.tex.unified.2d.grad.v4u32.f32" + } + break; + case '3': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.grad.v4", 9)) + break; + switch (NameR[26]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_grad_v4f32_f32; // "vvm.tex.unified.3d.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_grad_v4s32_f32; // "vvm.tex.unified.3d.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+27, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_grad_v4u32_f32; // "vvm.tex.unified.3d.grad.v4u32.f32" + } + break; + } + break; + case 34: // 24 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.", 8)) + break; + switch (NameR[8]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+9, "ube.array.level.v4", 18)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_level_v4f32_f32; // "vvm.tex.cube.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_level_v4s32_f32; // "vvm.tex.cube.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_cube_array_level_v4u32_f32; // "vvm.tex.cube.array.level.v4u32.f32" + } + break; + case 'u': // 21 strings to match. + if (memcmp(NameR.data()+9, "nified.", 7)) + break; + switch (NameR[16]) { + default: break; + case '1': // 9 strings to match. + if (memcmp(NameR.data()+17, "d.", 2)) + break; + switch (NameR[19]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+20, "rray.v4", 7)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4f32_f32; // "vvm.tex.unified.1d.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4f32_s32; // "vvm.tex.unified.1d.array.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4s32_f32; // "vvm.tex.unified.1d.array.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4s32_s32; // "vvm.tex.unified.1d.array.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4u32_f32; // "vvm.tex.unified.1d.array.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_v4u32_s32; // "vvm.tex.unified.1d.array.v4u32.s32" + } + break; + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+20, "evel.v4", 7)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_level_v4f32_f32; // "vvm.tex.unified.1d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_level_v4s32_f32; // "vvm.tex.unified.1d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_level_v4u32_f32; // "vvm.tex.unified.1d.level.v4u32.f32" + } + break; + } + break; + case '2': // 9 strings to match. + if (memcmp(NameR.data()+17, "d.", 2)) + break; + switch (NameR[19]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+20, "rray.v4", 7)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4f32_f32; // "vvm.tex.unified.2d.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4f32_s32; // "vvm.tex.unified.2d.array.v4f32.s32" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4s32_f32; // "vvm.tex.unified.2d.array.v4s32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4s32_s32; // "vvm.tex.unified.2d.array.v4s32.s32" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+28, "32.", 3)) + break; + switch (NameR[31]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4u32_f32; // "vvm.tex.unified.2d.array.v4u32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+32, "32", 2)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_v4u32_s32; // "vvm.tex.unified.2d.array.v4u32.s32" + } + break; + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+20, "evel.v4", 7)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_level_v4f32_f32; // "vvm.tex.unified.2d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_level_v4s32_f32; // "vvm.tex.unified.2d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_level_v4u32_f32; // "vvm.tex.unified.2d.level.v4u32.f32" + } + break; + } + break; + case '3': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.level.v4", 10)) + break; + switch (NameR[27]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_level_v4f32_f32; // "vvm.tex.unified.3d.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_level_v4s32_f32; // "vvm.tex.unified.3d.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+28, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_3d_level_v4u32_f32; // "vvm.tex.unified.3d.level.v4u32.f32" + } + break; + } + break; + } + break; + case 36: // 6 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.unified.cube.", 21)) + break; + switch (NameR[21]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+22, "rray.v4", 7)) + break; + switch (NameR[29]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_v4f32_f32; // "vvm.tex.unified.cube.array.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_v4s32_f32; // "vvm.tex.unified.cube.array.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_v4u32_f32; // "vvm.tex.unified.cube.array.v4u32.f32" + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+22, "evel.v4", 7)) + break; + switch (NameR[29]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_level_v4f32_f32; // "vvm.tex.unified.cube.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_level_v4s32_f32; // "vvm.tex.unified.cube.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+30, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_level_v4u32_f32; // "vvm.tex.unified.cube.level.v4u32.f32" + } + break; + } + break; + case 39: // 6 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.unified.", 16)) + break; + switch (NameR[16]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.array.grad.v4", 15)) + break; + switch (NameR[32]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_grad_v4f32_f32; // "vvm.tex.unified.1d.array.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_grad_v4s32_f32; // "vvm.tex.unified.1d.array.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_grad_v4u32_f32; // "vvm.tex.unified.1d.array.grad.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.array.grad.v4", 15)) + break; + switch (NameR[32]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_grad_v4f32_f32; // "vvm.tex.unified.2d.array.grad.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_grad_v4s32_f32; // "vvm.tex.unified.2d.array.grad.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+33, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_grad_v4u32_f32; // "vvm.tex.unified.2d.array.grad.v4u32.f32" + } + break; + } + break; + case 40: // 6 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.unified.", 16)) + break; + switch (NameR[16]) { + default: break; + case '1': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.array.level.v4", 16)) + break; + switch (NameR[33]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_level_v4f32_f32; // "vvm.tex.unified.1d.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_level_v4s32_f32; // "vvm.tex.unified.1d.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_1d_array_level_v4u32_f32; // "vvm.tex.unified.1d.array.level.v4u32.f32" + } + break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+17, "d.array.level.v4", 16)) + break; + switch (NameR[33]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_level_v4f32_f32; // "vvm.tex.unified.2d.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_level_v4s32_f32; // "vvm.tex.unified.2d.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+34, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_2d_array_level_v4u32_f32; // "vvm.tex.unified.2d.array.level.v4u32.f32" + } + break; + } + break; + case 42: // 3 strings to match. + if (memcmp(NameR.data()+0, "vvm.tex.unified.cube.array.level.v4", 35)) + break; + switch (NameR[35]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+36, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_level_v4f32_f32; // "vvm.tex.unified.cube.array.level.v4f32.f32" + case 's': // 1 string to match. + if (memcmp(NameR.data()+36, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_level_v4s32_f32; // "vvm.tex.unified.cube.array.level.v4s32.f32" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+36, "32.f32", 6)) + break; + return Intrinsic::nvvm_tex_unified_cube_array_level_v4u32_f32; // "vvm.tex.unified.cube.array.level.v4u32.f32" + } + break; + } + break; // end of 'n' case. + case 'o': + if (NameR.startswith("bjectsize.")) return Intrinsic::objectsize; + break; // end of 'o' case. + case 'p': + if (NameR.startswith("tr.annotation.")) return Intrinsic::ptr_annotation; + if (NameR.startswith("pc.mtctr.")) return Intrinsic::ppc_mtctr; + if (NameR.startswith("owi.")) return Intrinsic::powi; + if (NameR.startswith("ow.")) return Intrinsic::pow; + switch (NameR.size()) { + default: break; + case 7: // 8 strings to match. + switch (NameR[0]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+1, "marker", 6)) + break; + return Intrinsic::pcmarker; // "cmarker" + case 'p': // 6 strings to match. + if (memcmp(NameR.data()+1, "c.", 2)) + break; + switch (NameR[3]) { + default: break; + case 'd': // 5 strings to match. + if (memcmp(NameR.data()+4, "cb", 2)) + break; + switch (NameR[6]) { + default: break; + case 'a': // 1 string to match. + return Intrinsic::ppc_dcba; // "pc.dcba" + case 'f': // 1 string to match. + return Intrinsic::ppc_dcbf; // "pc.dcbf" + case 'i': // 1 string to match. + return Intrinsic::ppc_dcbi; // "pc.dcbi" + case 't': // 1 string to match. + return Intrinsic::ppc_dcbt; // "pc.dcbt" + case 'z': // 1 string to match. + return Intrinsic::ppc_dcbz; // "pc.dcbz" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+4, "ync", 3)) + break; + return Intrinsic::ppc_sync; // "pc.sync" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+1, "efetch", 6)) + break; + return Intrinsic::prefetch; // "refetch" + } + break; + case 8: // 2 strings to match. + if (memcmp(NameR.data()+0, "pc.dcb", 6)) + break; + switch (NameR[6]) { + default: break; + case 's': // 1 string to match. + if (NameR[7] != 't') + break; + return Intrinsic::ppc_dcbst; // "pc.dcbst" + case 'z': // 1 string to match. + if (NameR[7] != 'l') + break; + return Intrinsic::ppc_dcbzl; // "pc.dcbzl" + } + break; + case 9: // 1 string to match. + if (memcmp(NameR.data()+0, "pc.dcbtst", 9)) + break; + return Intrinsic::ppc_dcbtst; // "pc.dcbtst" + case 11: // 5 strings to match. + if (memcmp(NameR.data()+0, "tx.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+4, "ar.sync", 7)) + break; + return Intrinsic::ptx_bar_sync; // "tx.bar.sync" + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+4, "ead.pm", 6)) + break; + switch (NameR[10]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::ptx_read_pm0; // "tx.read.pm0" + case '1': // 1 string to match. + return Intrinsic::ptx_read_pm1; // "tx.read.pm1" + case '2': // 1 string to match. + return Intrinsic::ptx_read_pm2; // "tx.read.pm2" + case '3': // 1 string to match. + return Intrinsic::ptx_read_pm3; // "tx.read.pm3" + } + break; + } + break; + case 12: // 1 string to match. + if (memcmp(NameR.data()+0, "tx.read.smid", 12)) + break; + return Intrinsic::ptx_read_smid; // "tx.read.smid" + case 13: // 6 strings to match. + if (memcmp(NameR.data()+0, "tx.read.", 8)) + break; + switch (NameR[8]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+9, "lock", 4)) + break; + return Intrinsic::ptx_read_clock; // "tx.read.clock" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+9, "smid", 4)) + break; + return Intrinsic::ptx_read_nsmid; // "tx.read.nsmid" + case 't': // 4 strings to match. + if (memcmp(NameR.data()+9, "id.", 3)) + break; + switch (NameR[12]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_tid_w; // "tx.read.tid.w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_tid_x; // "tx.read.tid.x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_tid_y; // "tx.read.tid.y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_tid_z; // "tx.read.tid.z" + } + break; + } + break; + case 14: // 12 strings to match. + switch (NameR[0]) { + default: break; + case 'p': // 5 strings to match. + if (memcmp(NameR.data()+1, "c.altivec.", 10)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[12] != 's') + break; + switch (NameR[13]) { + default: break; + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_dss; // "pc.altivec.dss" + case 't': // 1 string to match. + return Intrinsic::ppc_altivec_dst; // "pc.altivec.dst" + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+12, "vx", 2)) + break; + return Intrinsic::ppc_altivec_lvx; // "pc.altivec.lvx" + case 'v': // 2 strings to match. + if (NameR[12] != 's') + break; + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::ppc_altivec_vsl; // "pc.altivec.vsl" + case 'r': // 1 string to match. + return Intrinsic::ppc_altivec_vsr; // "pc.altivec.vsr" + } + break; + } + break; + case 't': // 7 strings to match. + if (memcmp(NameR.data()+1, "x.read.", 7)) + break; + switch (NameR[8]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(NameR.data()+9, "ridid", 5)) + break; + return Intrinsic::ptx_read_gridid; // "tx.read.gridid" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+9, "aneid", 5)) + break; + return Intrinsic::ptx_read_laneid; // "tx.read.laneid" + case 'n': // 4 strings to match. + if (memcmp(NameR.data()+9, "tid.", 4)) + break; + switch (NameR[13]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_ntid_w; // "tx.read.ntid.w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_ntid_x; // "tx.read.ntid.x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_ntid_y; // "tx.read.ntid.y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_ntid_z; // "tx.read.ntid.z" + } + break; + case 'w': // 1 string to match. + if (memcmp(NameR.data()+9, "arpid", 5)) + break; + return Intrinsic::ptx_read_warpid; // "tx.read.warpid" + } + break; + } + break; + case 15: // 23 strings to match. + switch (NameR[0]) { + default: break; + case 'p': // 17 strings to match. + if (memcmp(NameR.data()+1, "c.altivec.", 10)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "stt", 3)) + break; + return Intrinsic::ppc_altivec_dstt; // "pc.altivec.dstt" + case 'l': // 3 strings to match. + if (NameR[12] != 'v') + break; + switch (NameR[13]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::ppc_altivec_lvsl; // "pc.altivec.lvsl" + case 'r': // 1 string to match. + return Intrinsic::ppc_altivec_lvsr; // "pc.altivec.lvsr" + } + break; + case 'x': // 1 string to match. + if (NameR[14] != 'l') + break; + return Intrinsic::ppc_altivec_lvxl; // "pc.altivec.lvxl" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "tvx", 3)) + break; + return Intrinsic::ppc_altivec_stvx; // "pc.altivec.stvx" + case 'v': // 12 strings to match. + switch (NameR[12]) { + default: break; + case 'r': // 3 strings to match. + if (NameR[13] != 'l') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vrlb; // "pc.altivec.vrlb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vrlh; // "pc.altivec.vrlh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vrlw; // "pc.altivec.vrlw" + } + break; + case 's': // 9 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (NameR[14] != 'l') + break; + return Intrinsic::ppc_altivec_vsel; // "pc.altivec.vsel" + case 'l': // 4 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vslb; // "pc.altivec.vslb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vslh; // "pc.altivec.vslh" + case 'o': // 1 string to match. + return Intrinsic::ppc_altivec_vslo; // "pc.altivec.vslo" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vslw; // "pc.altivec.vslw" + } + break; + case 'r': // 4 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vsrb; // "pc.altivec.vsrb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vsrh; // "pc.altivec.vsrh" + case 'o': // 1 string to match. + return Intrinsic::ppc_altivec_vsro; // "pc.altivec.vsro" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vsrw; // "pc.altivec.vsrw" + } + break; + } + break; + } + break; + } + break; + case 't': // 6 strings to match. + if (memcmp(NameR.data()+1, "x.read.", 7)) + break; + switch (NameR[8]) { + default: break; + case 'c': // 5 strings to match. + switch (NameR[9]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+10, "ock64", 5)) + break; + return Intrinsic::ptx_read_clock64; // "tx.read.clock64" + case 't': // 4 strings to match. + if (memcmp(NameR.data()+10, "aid.", 4)) + break; + switch (NameR[14]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_ctaid_w; // "tx.read.ctaid.w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_ctaid_x; // "tx.read.ctaid.x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_ctaid_y; // "tx.read.ctaid.y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_ctaid_z; // "tx.read.ctaid.z" + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+9, "warpid", 6)) + break; + return Intrinsic::ptx_read_nwarpid; // "tx.read.nwarpid" + } + break; + } + break; + case 16: // 21 strings to match. + switch (NameR[0]) { + default: break; + case 'p': // 17 strings to match. + if (memcmp(NameR.data()+1, "c.altivec.", 10)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "stst", 4)) + break; + return Intrinsic::ppc_altivec_dstst; // "pc.altivec.dstst" + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+12, "ve", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (NameR[15] != 'x') + break; + return Intrinsic::ppc_altivec_lvebx; // "pc.altivec.lvebx" + case 'h': // 1 string to match. + if (NameR[15] != 'x') + break; + return Intrinsic::ppc_altivec_lvehx; // "pc.altivec.lvehx" + case 'w': // 1 string to match. + if (NameR[15] != 'x') + break; + return Intrinsic::ppc_altivec_lvewx; // "pc.altivec.lvewx" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "tvxl", 4)) + break; + return Intrinsic::ppc_altivec_stvxl; // "pc.altivec.stvxl" + case 'v': // 12 strings to match. + switch (NameR[12]) { + default: break; + case 'c': // 2 strings to match. + if (NameR[13] != 'f') + break; + switch (NameR[14]) { + default: break; + case 's': // 1 string to match. + if (NameR[15] != 'x') + break; + return Intrinsic::ppc_altivec_vcfsx; // "pc.altivec.vcfsx" + case 'u': // 1 string to match. + if (NameR[15] != 'x') + break; + return Intrinsic::ppc_altivec_vcfux; // "pc.altivec.vcfux" + } + break; + case 'p': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, "rm", 2)) + break; + return Intrinsic::ppc_altivec_vperm; // "pc.altivec.vperm" + case 'k': // 1 string to match. + if (memcmp(NameR.data()+14, "px", 2)) + break; + return Intrinsic::ppc_altivec_vpkpx; // "pc.altivec.vpkpx" + } + break; + case 'r': // 5 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, "fp", 2)) + break; + return Intrinsic::ppc_altivec_vrefp; // "pc.altivec.vrefp" + case 'f': // 4 strings to match. + if (NameR[14] != 'i') + break; + switch (NameR[15]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vrfim; // "pc.altivec.vrfim" + case 'n': // 1 string to match. + return Intrinsic::ppc_altivec_vrfin; // "pc.altivec.vrfin" + case 'p': // 1 string to match. + return Intrinsic::ppc_altivec_vrfip; // "pc.altivec.vrfip" + case 'z': // 1 string to match. + return Intrinsic::ppc_altivec_vrfiz; // "pc.altivec.vrfiz" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+13, "ra", 2)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vsrab; // "pc.altivec.vsrab" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vsrah; // "pc.altivec.vsrah" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vsraw; // "pc.altivec.vsraw" + } + break; + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(NameR.data()+1, "x.read.nctaid.", 14)) + break; + switch (NameR[15]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_nctaid_w; // "tx.read.nctaid.w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_nctaid_x; // "tx.read.nctaid.x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_nctaid_y; // "tx.read.nctaid.y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_nctaid_z; // "tx.read.nctaid.z" + } + break; + } + break; + case 17: // 29 strings to match. + if (memcmp(NameR.data()+0, "pc.altivec.", 11)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[12] != 's') + break; + switch (NameR[13]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, "all", 3)) + break; + return Intrinsic::ppc_altivec_dssall; // "pc.altivec.dssall" + case 't': // 1 string to match. + if (memcmp(NameR.data()+14, "stt", 3)) + break; + return Intrinsic::ppc_altivec_dststt; // "pc.altivec.dststt" + } + break; + case 'm': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+13, "vscr", 4)) + break; + return Intrinsic::ppc_altivec_mfvscr; // "pc.altivec.mfvscr" + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, "vscr", 4)) + break; + return Intrinsic::ppc_altivec_mtvscr; // "pc.altivec.mtvscr" + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+12, "tve", 3)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + if (NameR[16] != 'x') + break; + return Intrinsic::ppc_altivec_stvebx; // "pc.altivec.stvebx" + case 'h': // 1 string to match. + if (NameR[16] != 'x') + break; + return Intrinsic::ppc_altivec_stvehx; // "pc.altivec.stvehx" + case 'w': // 1 string to match. + if (NameR[16] != 'x') + break; + return Intrinsic::ppc_altivec_stvewx; // "pc.altivec.stvewx" + } + break; + case 'v': // 22 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+13, "vg", 2)) + break; + switch (NameR[15]) { + default: break; + case 's': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsb; // "pc.altivec.vavgsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsh; // "pc.altivec.vavgsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsw; // "pc.altivec.vavgsw" + } + break; + case 'u': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vavgub; // "pc.altivec.vavgub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vavguh; // "pc.altivec.vavguh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vavguw; // "pc.altivec.vavguw" + } + break; + } + break; + case 'c': // 2 strings to match. + if (NameR[13] != 't') + break; + switch (NameR[14]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, "xs", 2)) + break; + return Intrinsic::ppc_altivec_vctsxs; // "pc.altivec.vctsxs" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+15, "xs", 2)) + break; + return Intrinsic::ppc_altivec_vctuxs; // "pc.altivec.vctuxs" + } + break; + case 'm': // 14 strings to match. + switch (NameR[13]) { + default: break; + case 'a': // 7 strings to match. + if (NameR[14] != 'x') + break; + switch (NameR[15]) { + default: break; + case 'f': // 1 string to match. + if (NameR[16] != 'p') + break; + return Intrinsic::ppc_altivec_vmaxfp; // "pc.altivec.vmaxfp" + case 's': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsb; // "pc.altivec.vmaxsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsh; // "pc.altivec.vmaxsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsw; // "pc.altivec.vmaxsw" + } + break; + case 'u': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxub; // "pc.altivec.vmaxub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxuh; // "pc.altivec.vmaxuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxuw; // "pc.altivec.vmaxuw" + } + break; + } + break; + case 'i': // 7 strings to match. + if (NameR[14] != 'n') + break; + switch (NameR[15]) { + default: break; + case 'f': // 1 string to match. + if (NameR[16] != 'p') + break; + return Intrinsic::ppc_altivec_vminfp; // "pc.altivec.vminfp" + case 's': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vminsb; // "pc.altivec.vminsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vminsh; // "pc.altivec.vminsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vminsw; // "pc.altivec.vminsw" + } + break; + case 'u': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vminub; // "pc.altivec.vminub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vminuh; // "pc.altivec.vminuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vminuw; // "pc.altivec.vminuw" + } + break; + } + break; + } + break; + } + break; + } + break; + case 18: // 38 strings to match. + if (memcmp(NameR.data()+0, "pc.altivec.v", 12)) + break; + switch (NameR[12]) { + default: break; + case 'a': // 7 strings to match. + if (memcmp(NameR.data()+13, "dd", 2)) + break; + switch (NameR[15]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+16, "uw", 2)) + break; + return Intrinsic::ppc_altivec_vaddcuw; // "pc.altivec.vaddcuw" + case 's': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vaddsbs; // "pc.altivec.vaddsbs" + case 'h': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vaddshs; // "pc.altivec.vaddshs" + case 'w': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vaddsws; // "pc.altivec.vaddsws" + } + break; + case 'u': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vaddubs; // "pc.altivec.vaddubs" + case 'h': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vadduhs; // "pc.altivec.vadduhs" + case 'w': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vadduws; // "pc.altivec.vadduws" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+13, "mpbfp", 5)) + break; + return Intrinsic::ppc_altivec_vcmpbfp; // "pc.altivec.vcmpbfp" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+13, "ogefp", 5)) + break; + return Intrinsic::ppc_altivec_vlogefp; // "pc.altivec.vlogefp" + case 'm': // 9 strings to match. + switch (NameR[13]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+14, "ddfp", 4)) + break; + return Intrinsic::ppc_altivec_vmaddfp; // "pc.altivec.vmaddfp" + case 'u': // 8 strings to match. + if (NameR[14] != 'l') + break; + switch (NameR[15]) { + default: break; + case 'e': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmulesb; // "pc.altivec.vmulesb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulesh; // "pc.altivec.vmulesh" + } + break; + case 'u': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmuleub; // "pc.altivec.vmuleub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmuleuh; // "pc.altivec.vmuleuh" + } + break; + } + break; + case 'o': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmulosb; // "pc.altivec.vmulosb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulosh; // "pc.altivec.vmulosh" + } + break; + case 'u': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmuloub; // "pc.altivec.vmuloub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulouh; // "pc.altivec.vmulouh" + } + break; + } + break; + } + break; + } + break; + case 'p': // 6 strings to match. + if (NameR[13] != 'k') + break; + switch (NameR[14]) { + default: break; + case 's': // 4 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 's': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vpkshss; // "pc.altivec.vpkshss" + case 'u': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vpkshus; // "pc.altivec.vpkshus" + } + break; + case 'w': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 's': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vpkswss; // "pc.altivec.vpkswss" + case 'u': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vpkswus; // "pc.altivec.vpkswus" + } + break; + } + break; + case 'u': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+16, "us", 2)) + break; + return Intrinsic::ppc_altivec_vpkuhus; // "pc.altivec.vpkuhus" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+16, "us", 2)) + break; + return Intrinsic::ppc_altivec_vpkuwus; // "pc.altivec.vpkuwus" + } + break; + } + break; + case 's': // 8 strings to match. + if (NameR[13] != 'u') + break; + switch (NameR[14]) { + default: break; + case 'b': // 7 strings to match. + switch (NameR[15]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+16, "uw", 2)) + break; + return Intrinsic::ppc_altivec_vsubcuw; // "pc.altivec.vsubcuw" + case 's': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsubsbs; // "pc.altivec.vsubsbs" + case 'h': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsubshs; // "pc.altivec.vsubshs" + case 'w': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsubsws; // "pc.altivec.vsubsws" + } + break; + case 'u': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'b': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsububs; // "pc.altivec.vsububs" + case 'h': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsubuhs; // "pc.altivec.vsubuhs" + case 'w': // 1 string to match. + if (NameR[17] != 's') + break; + return Intrinsic::ppc_altivec_vsubuws; // "pc.altivec.vsubuws" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+15, "sws", 3)) + break; + return Intrinsic::ppc_altivec_vsumsws; // "pc.altivec.vsumsws" + } + break; + case 'u': // 6 strings to match. + if (memcmp(NameR.data()+13, "pk", 2)) + break; + switch (NameR[15]) { + default: break; + case 'h': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (NameR[17] != 'x') + break; + return Intrinsic::ppc_altivec_vupkhpx; // "pc.altivec.vupkhpx" + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vupkhsb; // "pc.altivec.vupkhsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vupkhsh; // "pc.altivec.vupkhsh" + } + break; + } + break; + case 'l': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'p': // 1 string to match. + if (NameR[17] != 'x') + break; + return Intrinsic::ppc_altivec_vupklpx; // "pc.altivec.vupklpx" + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vupklsb; // "pc.altivec.vupklsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vupklsh; // "pc.altivec.vupklsh" + } + break; + } + break; + } + break; + } + break; + case 19: // 29 strings to match. + switch (NameR[0]) { + default: break; + case 'p': // 24 strings to match. + if (memcmp(NameR.data()+1, "c.altivec.v", 11)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 12 strings to match. + if (memcmp(NameR.data()+13, "mp", 2)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 4 strings to match. + if (NameR[16] != 'q') + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (NameR[18] != 'p') + break; + return Intrinsic::ppc_altivec_vcmpeqfp; // "pc.altivec.vcmpeqfp" + case 'u': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequb; // "pc.altivec.vcmpequb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequh; // "pc.altivec.vcmpequh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequw; // "pc.altivec.vcmpequw" + } + break; + } + break; + case 'g': // 8 strings to match. + switch (NameR[16]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+17, "fp", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgefp; // "pc.altivec.vcmpgefp" + case 't': // 7 strings to match. + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (NameR[18] != 'p') + break; + return Intrinsic::ppc_altivec_vcmpgtfp; // "pc.altivec.vcmpgtfp" + case 's': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsb; // "pc.altivec.vcmpgtsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsh; // "pc.altivec.vcmpgtsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsw; // "pc.altivec.vcmpgtsw" + } + break; + case 'u': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtub; // "pc.altivec.vcmpgtub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtuh; // "pc.altivec.vcmpgtuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtuw; // "pc.altivec.vcmpgtuw" + } + break; + } + break; + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, "xptefp", 6)) + break; + return Intrinsic::ppc_altivec_vexptefp; // "pc.altivec.vexptefp" + case 'm': // 6 strings to match. + if (memcmp(NameR.data()+13, "sum", 3)) + break; + switch (NameR[16]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+17, "bm", 2)) + break; + return Intrinsic::ppc_altivec_vmsummbm; // "pc.altivec.vmsummbm" + case 's': // 2 strings to match. + if (NameR[17] != 'h') + break; + switch (NameR[18]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumshm; // "pc.altivec.vmsumshm" + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumshs; // "pc.altivec.vmsumshs" + } + break; + case 'u': // 3 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + if (NameR[18] != 'm') + break; + return Intrinsic::ppc_altivec_vmsumubm; // "pc.altivec.vmsumubm" + case 'h': // 2 strings to match. + switch (NameR[18]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumuhm; // "pc.altivec.vmsumuhm" + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumuhs; // "pc.altivec.vmsumuhs" + } + break; + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+13, "msubfp", 6)) + break; + return Intrinsic::ppc_altivec_vnmsubfp; // "pc.altivec.vnmsubfp" + case 's': // 4 strings to match. + if (memcmp(NameR.data()+13, "um", 2)) + break; + switch (NameR[15]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+16, "sws", 3)) + break; + return Intrinsic::ppc_altivec_vsum2sws; // "pc.altivec.vsum2sws" + case '4': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'b': // 1 string to match. + if (NameR[18] != 's') + break; + return Intrinsic::ppc_altivec_vsum4sbs; // "pc.altivec.vsum4sbs" + case 'h': // 1 string to match. + if (NameR[18] != 's') + break; + return Intrinsic::ppc_altivec_vsum4shs; // "pc.altivec.vsum4shs" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+17, "bs", 2)) + break; + return Intrinsic::ppc_altivec_vsum4ubs; // "pc.altivec.vsum4ubs" + } + break; + } + break; + } + break; + case 't': // 5 strings to match. + if (memcmp(NameR.data()+1, "x.read.lanemask.", 16)) + break; + switch (NameR[17]) { + default: break; + case 'e': // 1 string to match. + if (NameR[18] != 'q') + break; + return Intrinsic::ptx_read_lanemask_eq; // "tx.read.lanemask.eq" + case 'g': // 2 strings to match. + switch (NameR[18]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::ptx_read_lanemask_ge; // "tx.read.lanemask.ge" + case 't': // 1 string to match. + return Intrinsic::ptx_read_lanemask_gt; // "tx.read.lanemask.gt" + } + break; + case 'l': // 2 strings to match. + switch (NameR[18]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::ptx_read_lanemask_le; // "tx.read.lanemask.le" + case 't': // 1 string to match. + return Intrinsic::ptx_read_lanemask_lt; // "tx.read.lanemask.lt" + } + break; + } + break; + } + break; + case 20: // 4 strings to match. + if (memcmp(NameR.data()+0, "pc.altivec.v", 12)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+13, "mpbfp.p", 7)) + break; + return Intrinsic::ppc_altivec_vcmpbfp_p; // "pc.altivec.vcmpbfp.p" + case 'm': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+14, "addshs", 6)) + break; + return Intrinsic::ppc_altivec_vmhaddshs; // "pc.altivec.vmhaddshs" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, "adduhm", 6)) + break; + return Intrinsic::ppc_altivec_vmladduhm; // "pc.altivec.vmladduhm" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+13, "sqrtefp", 7)) + break; + return Intrinsic::ppc_altivec_vrsqrtefp; // "pc.altivec.vrsqrtefp" + } + break; + case 21: // 13 strings to match. + if (memcmp(NameR.data()+0, "pc.altivec.v", 12)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 12 strings to match. + if (memcmp(NameR.data()+13, "mp", 2)) + break; + switch (NameR[15]) { + default: break; + case 'e': // 4 strings to match. + if (NameR[16] != 'q') + break; + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "p.p", 3)) + break; + return Intrinsic::ppc_altivec_vcmpeqfp_p; // "pc.altivec.vcmpeqfp.p" + case 'u': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequb_p; // "pc.altivec.vcmpequb.p" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequh_p; // "pc.altivec.vcmpequh.p" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequw_p; // "pc.altivec.vcmpequw.p" + } + break; + } + break; + case 'g': // 8 strings to match. + switch (NameR[16]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+17, "fp.p", 4)) + break; + return Intrinsic::ppc_altivec_vcmpgefp_p; // "pc.altivec.vcmpgefp.p" + case 't': // 7 strings to match. + switch (NameR[17]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+18, "p.p", 3)) + break; + return Intrinsic::ppc_altivec_vcmpgtfp_p; // "pc.altivec.vcmpgtfp.p" + case 's': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsb_p; // "pc.altivec.vcmpgtsb.p" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsh_p; // "pc.altivec.vcmpgtsh.p" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsw_p; // "pc.altivec.vcmpgtsw.p" + } + break; + case 'u': // 3 strings to match. + switch (NameR[18]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtub_p; // "pc.altivec.vcmpgtub.p" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtuh_p; // "pc.altivec.vcmpgtuh.p" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+19, ".p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtuw_p; // "pc.altivec.vcmpgtuw.p" + } + break; + } + break; + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+13, "hraddshs", 8)) + break; + return Intrinsic::ppc_altivec_vmhraddshs; // "pc.altivec.vmhraddshs" + } + break; + case 29: // 1 string to match. + if (memcmp(NameR.data()+0, "pc.is.decremented.ctr.nonzero", 29)) + break; + return Intrinsic::ppc_is_decremented_ctr_nonzero; // "pc.is.decremented.ctr.nonzero" + } + break; // end of 'p' case. + case 'r': + if (NameR.startswith("ound.")) return Intrinsic::round; + if (NameR.startswith("int.")) return Intrinsic::rint; + if (NameR.startswith("ead_register.")) return Intrinsic::read_register; + switch (NameR.size()) { + default: break; + case 12: // 1 string to match. + if (memcmp(NameR.data()+0, "eturnaddress", 12)) + break; + return Intrinsic::returnaddress; // "eturnaddress" + case 15: // 4 strings to match. + switch (NameR[0]) { + default: break; + case '6': // 3 strings to match. + if (memcmp(NameR.data()+1, "00.read.tgid.", 13)) + break; + switch (NameR[14]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_tgid_x; // "600.read.tgid.x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_tgid_y; // "600.read.tgid.y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_tgid_z; // "600.read.tgid.z" + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+1, "adcyclecounter", 14)) + break; + return Intrinsic::readcyclecounter; // "eadcyclecounter" + } + break; + case 16: // 3 strings to match. + if (memcmp(NameR.data()+0, "600.read.tidig.", 15)) + break; + switch (NameR[15]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_tidig_x; // "600.read.tidig.x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_tidig_y; // "600.read.tidig.y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_tidig_z; // "600.read.tidig.z" + } + break; + case 18: // 3 strings to match. + if (memcmp(NameR.data()+0, "600.read.ngroups.", 17)) + break; + switch (NameR[17]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_ngroups_x; // "600.read.ngroups.x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_ngroups_y; // "600.read.ngroups.y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_ngroups_z; // "600.read.ngroups.z" + } + break; + case 21: // 3 strings to match. + if (memcmp(NameR.data()+0, "600.read.local.size.", 20)) + break; + switch (NameR[20]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_local_size_x; // "600.read.local.size.x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_local_size_y; // "600.read.local.size.y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_local_size_z; // "600.read.local.size.z" + } + break; + case 22: // 3 strings to match. + if (memcmp(NameR.data()+0, "600.read.global.size.", 21)) + break; + switch (NameR[21]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_global_size_x; // "600.read.global.size.x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_global_size_y; // "600.read.global.size.y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_global_size_z; // "600.read.global.size.z" + } + break; + } + break; // end of 'r' case. + case 's': + if (NameR.startswith("sub.with.overflow.")) return Intrinsic::ssub_with_overflow; + if (NameR.startswith("qrt.")) return Intrinsic::sqrt; + if (NameR.startswith("mul.with.overflow.")) return Intrinsic::smul_with_overflow; + if (NameR.startswith("in.")) return Intrinsic::sin; + if (NameR.startswith("add.with.overflow.")) return Intrinsic::sadd_with_overflow; + switch (NameR.size()) { + default: break; + case 5: // 1 string to match. + if (memcmp(NameR.data()+0, "etjmp", 5)) + break; + return Intrinsic::setjmp; // "etjmp" + case 8: // 2 strings to match. + switch (NameR[0]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+1, "gsetjmp", 7)) + break; + return Intrinsic::sigsetjmp; // "igsetjmp" + case 't': // 1 string to match. + if (memcmp(NameR.data()+1, "acksave", 7)) + break; + return Intrinsic::stacksave; // "tacksave" + } + break; + case 9: // 1 string to match. + if (memcmp(NameR.data()+0, "iglongjmp", 9)) + break; + return Intrinsic::siglongjmp; // "iglongjmp" + case 11: // 1 string to match. + if (memcmp(NameR.data()+0, "tackrestore", 11)) + break; + return Intrinsic::stackrestore; // "tackrestore" + case 13: // 1 string to match. + if (memcmp(NameR.data()+0, "tackprotector", 13)) + break; + return Intrinsic::stackprotector; // "tackprotector" + case 18: // 1 string to match. + if (memcmp(NameR.data()+0, "tackprotectorcheck", 18)) + break; + return Intrinsic::stackprotectorcheck; // "tackprotectorcheck" + } + break; // end of 's' case. + case 't': + if (NameR.startswith("runc.")) return Intrinsic::trunc; + switch (NameR.size()) { + default: break; + case 3: // 1 string to match. + if (memcmp(NameR.data()+0, "rap", 3)) + break; + return Intrinsic::trap; // "rap" + } + break; // end of 't' case. + case 'u': + if (NameR.startswith("sub.with.overflow.")) return Intrinsic::usub_with_overflow; + if (NameR.startswith("mul.with.overflow.")) return Intrinsic::umul_with_overflow; + if (NameR.startswith("add.with.overflow.")) return Intrinsic::uadd_with_overflow; + break; // end of 'u' case. + case 'v': + switch (NameR.size()) { + default: break; + case 5: // 1 string to match. + if (memcmp(NameR.data()+0, "a_end", 5)) + break; + return Intrinsic::vaend; // "a_end" + case 6: // 1 string to match. + if (memcmp(NameR.data()+0, "a_copy", 6)) + break; + return Intrinsic::vacopy; // "a_copy" + case 7: // 1 string to match. + if (memcmp(NameR.data()+0, "a_start", 7)) + break; + return Intrinsic::vastart; // "a_start" + case 13: // 1 string to match. + if (memcmp(NameR.data()+0, "ar.annotation", 13)) + break; + return Intrinsic::var_annotation; // "ar.annotation" + } + break; // end of 'v' case. + case 'w': + if (NameR.startswith("rite_register.")) return Intrinsic::write_register; + break; // end of 'w' case. + case 'x': + if (NameR.startswith("core.testwct.")) return Intrinsic::xcore_testwct; + if (NameR.startswith("core.testct.")) return Intrinsic::xcore_testct; + if (NameR.startswith("core.syncr.")) return Intrinsic::xcore_syncr; + if (NameR.startswith("core.setv.")) return Intrinsic::xcore_setv; + if (NameR.startswith("core.settw.")) return Intrinsic::xcore_settw; + if (NameR.startswith("core.setrdy.")) return Intrinsic::xcore_setrdy; + if (NameR.startswith("core.setpt.")) return Intrinsic::xcore_setpt; + if (NameR.startswith("core.setpsc.")) return Intrinsic::xcore_setpsc; + if (NameR.startswith("core.setev.")) return Intrinsic::xcore_setev; + if (NameR.startswith("core.setd.")) return Intrinsic::xcore_setd; + if (NameR.startswith("core.setclk.")) return Intrinsic::xcore_setclk; + if (NameR.startswith("core.setc.")) return Intrinsic::xcore_setc; + if (NameR.startswith("core.peek.")) return Intrinsic::xcore_peek; + if (NameR.startswith("core.outt.")) return Intrinsic::xcore_outt; + if (NameR.startswith("core.outshr.")) return Intrinsic::xcore_outshr; + if (NameR.startswith("core.outct.")) return Intrinsic::xcore_outct; + if (NameR.startswith("core.out.")) return Intrinsic::xcore_out; + if (NameR.startswith("core.msync.")) return Intrinsic::xcore_msync; + if (NameR.startswith("core.mjoin.")) return Intrinsic::xcore_mjoin; + if (NameR.startswith("core.int.")) return Intrinsic::xcore_int; + if (NameR.startswith("core.inshr.")) return Intrinsic::xcore_inshr; + if (NameR.startswith("core.initsp.")) return Intrinsic::xcore_initsp; + if (NameR.startswith("core.initpc.")) return Intrinsic::xcore_initpc; + if (NameR.startswith("core.initlr.")) return Intrinsic::xcore_initlr; + if (NameR.startswith("core.initdp.")) return Intrinsic::xcore_initdp; + if (NameR.startswith("core.initcp.")) return Intrinsic::xcore_initcp; + if (NameR.startswith("core.inct.")) return Intrinsic::xcore_inct; + if (NameR.startswith("core.in.")) return Intrinsic::xcore_in; + if (NameR.startswith("core.getts.")) return Intrinsic::xcore_getts; + if (NameR.startswith("core.getst.")) return Intrinsic::xcore_getst; + if (NameR.startswith("core.getr.")) return Intrinsic::xcore_getr; + if (NameR.startswith("core.freer.")) return Intrinsic::xcore_freer; + if (NameR.startswith("core.endin.")) return Intrinsic::xcore_endin; + if (NameR.startswith("core.eeu.")) return Intrinsic::xcore_eeu; + if (NameR.startswith("core.edu.")) return Intrinsic::xcore_edu; + if (NameR.startswith("core.clrpt.")) return Intrinsic::xcore_clrpt; + if (NameR.startswith("core.chkct.")) return Intrinsic::xcore_chkct; + switch (NameR.size()) { + default: break; + case 6: // 1 string to match. + if (memcmp(NameR.data()+0, "86.int", 6)) + break; + return Intrinsic::x86_int; // "86.int" + case 7: // 1 string to match. + if (memcmp(NameR.data()+0, "86.xend", 7)) + break; + return Intrinsic::x86_xend; // "86.xend" + case 8: // 3 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'r': // 2 strings to match. + if (NameR[4] != 'd') + break; + switch (NameR[5]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+6, "mc", 2)) + break; + return Intrinsic::x86_rdpmc; // "86.rdpmc" + case 't': // 1 string to match. + if (memcmp(NameR.data()+6, "sc", 2)) + break; + return Intrinsic::x86_rdtsc; // "86.rdtsc" + } + break; + case 'x': // 1 string to match. + if (memcmp(NameR.data()+4, "test", 4)) + break; + return Intrinsic::x86_xtest; // "86.xtest" + } + break; + case 9: // 7 strings to match. + switch (NameR[0]) { + default: break; + case '8': // 3 strings to match. + if (memcmp(NameR.data()+1, "6.", 2)) + break; + switch (NameR[3]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+4, "dtscp", 5)) + break; + return Intrinsic::x86_rdtscp; // "86.rdtscp" + case 'x': // 2 strings to match. + switch (NameR[4]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+5, "bort", 4)) + break; + return Intrinsic::x86_xabort; // "86.xabort" + case 'b': // 1 string to match. + if (memcmp(NameR.data()+5, "egin", 4)) + break; + return Intrinsic::x86_xbegin; // "86.xbegin" + } + break; + } + break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+1, "ore.", 4)) + break; + switch (NameR[5]) { + default: break; + case 'c': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+7, "re", 2)) + break; + return Intrinsic::xcore_clre; // "core.clre" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+7, "c8", 2)) + break; + return Intrinsic::xcore_crc8; // "core.crc8" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+6, "ext", 3)) + break; + return Intrinsic::xcore_sext; // "core.sext" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+6, "ext", 3)) + break; + return Intrinsic::xcore_zext; // "core.zext" + } + break; + } + break; + case 10: // 10 strings to match. + switch (NameR[0]) { + default: break; + case '8': // 1 string to match. + if (memcmp(NameR.data()+1, "6.mmx.por", 9)) + break; + return Intrinsic::x86_mmx_por; // "86.mmx.por" + case 'c': // 9 strings to match. + if (memcmp(NameR.data()+1, "ore.", 4)) + break; + switch (NameR[5]) { + default: break; + case 'c': // 2 strings to match. + switch (NameR[6]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+7, "rsr", 3)) + break; + return Intrinsic::xcore_clrsr; // "core.clrsr" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+7, "c32", 3)) + break; + return Intrinsic::xcore_crc32; // "core.crc32" + } + break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+6, "et", 2)) + break; + switch (NameR[8]) { + default: break; + case 'e': // 2 strings to match. + switch (NameR[9]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::xcore_geted; // "core.geted" + case 't': // 1 string to match. + return Intrinsic::xcore_getet; // "core.getet" + } + break; + case 'i': // 1 string to match. + if (NameR[9] != 'd') + break; + return Intrinsic::xcore_getid; // "core.getid" + case 'p': // 1 string to match. + if (NameR[9] != 's') + break; + return Intrinsic::xcore_getps; // "core.getps" + } + break; + case 's': // 3 strings to match. + switch (NameR[6]) { + default: break; + case 'e': // 2 strings to match. + if (NameR[7] != 't') + break; + switch (NameR[8]) { + default: break; + case 'p': // 1 string to match. + if (NameR[9] != 's') + break; + return Intrinsic::xcore_setps; // "core.setps" + case 's': // 1 string to match. + if (NameR[9] != 'r') + break; + return Intrinsic::xcore_setsr; // "core.setsr" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+7, "ync", 3)) + break; + return Intrinsic::xcore_ssync; // "core.ssync" + } + break; + } + break; + } + break; + case 11: // 6 strings to match. + switch (NameR[0]) { + default: break; + case '8': // 5 strings to match. + if (memcmp(NameR.data()+1, "6.", 2)) + break; + switch (NameR[3]) { + default: break; + case 'm': // 3 strings to match. + if (memcmp(NameR.data()+4, "mx.", 3)) + break; + switch (NameR[7]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+8, "mms", 3)) + break; + return Intrinsic::x86_mmx_emms; // "86.mmx.emms" + case 'p': // 2 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "nd", 2)) + break; + return Intrinsic::x86_mmx_pand; // "86.mmx.pand" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+9, "or", 2)) + break; + return Intrinsic::x86_mmx_pxor; // "86.mmx.pxor" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+4, "ha1msg", 6)) + break; + switch (NameR[10]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_sha1msg1; // "86.sha1msg1" + case '2': // 1 string to match. + return Intrinsic::x86_sha1msg2; // "86.sha1msg2" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+1, "ore.bitrev", 10)) + break; + return Intrinsic::xcore_bitrev; // "core.bitrev" + } + break; + case 12: // 11 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+4, "mx.", 3)) + break; + switch (NameR[7]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+8, "emms", 4)) + break; + return Intrinsic::x86_mmx_femms; // "86.mmx.femms" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+8, "andn", 4)) + break; + return Intrinsic::x86_mmx_pandn; // "86.mmx.pandn" + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+4, "clmulqdq", 8)) + break; + return Intrinsic::x86_pclmulqdq; // "86.pclmulqdq" + case 'r': // 6 strings to match. + if (NameR[4] != 'd') + break; + switch (NameR[5]) { + default: break; + case 'r': // 3 strings to match. + if (memcmp(NameR.data()+6, "and.", 4)) + break; + switch (NameR[10]) { + default: break; + case '1': // 1 string to match. + if (NameR[11] != '6') + break; + return Intrinsic::x86_rdrand_16; // "86.rdrand.16" + case '3': // 1 string to match. + if (NameR[11] != '2') + break; + return Intrinsic::x86_rdrand_32; // "86.rdrand.32" + case '6': // 1 string to match. + if (NameR[11] != '4') + break; + return Intrinsic::x86_rdrand_64; // "86.rdrand.64" + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+6, "eed.", 4)) + break; + switch (NameR[10]) { + default: break; + case '1': // 1 string to match. + if (NameR[11] != '6') + break; + return Intrinsic::x86_rdseed_16; // "86.rdseed.16" + case '3': // 1 string to match. + if (NameR[11] != '2') + break; + return Intrinsic::x86_rdseed_32; // "86.rdseed.32" + case '6': // 1 string to match. + if (NameR[11] != '4') + break; + return Intrinsic::x86_rdseed_64; // "86.rdseed.64" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+4, "ha1", 3)) + break; + switch (NameR[7]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(NameR.data()+8, "exte", 4)) + break; + return Intrinsic::x86_sha1nexte; // "86.sha1nexte" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+8, "nds4", 4)) + break; + return Intrinsic::x86_sha1rnds4; // "86.sha1rnds4" + } + break; + } + break; + case 13: // 56 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+4, "vx2.permd", 9)) + break; + return Intrinsic::x86_avx2_permd; // "86.avx2.permd" + case 'm': // 18 strings to match. + if (memcmp(NameR.data()+4, "mx.p", 4)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[9]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(NameR.data()+10, "d.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_padd_b; // "86.mmx.padd.b" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_padd_d; // "86.mmx.padd.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_padd_q; // "86.mmx.padd.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_padd_w; // "86.mmx.padd.w" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+10, "g.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pavg_b; // "86.mmx.pavg.b" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pavg_w; // "86.mmx.pavg.w" + } + break; + } + break; + case 's': // 12 strings to match. + switch (NameR[9]) { + default: break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+10, "l.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psll_d; // "86.mmx.psll.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psll_q; // "86.mmx.psll.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psll_w; // "86.mmx.psll.w" + } + break; + case 'r': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psra_d; // "86.mmx.psra.d" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psra_w; // "86.mmx.psra.w" + } + break; + case 'l': // 3 strings to match. + if (NameR[11] != '.') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psrl_d; // "86.mmx.psrl.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psrl_q; // "86.mmx.psrl.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psrl_w; // "86.mmx.psrl.w" + } + break; + } + break; + case 'u': // 4 strings to match. + if (memcmp(NameR.data()+10, "b.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psub_b; // "86.mmx.psub.b" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psub_d; // "86.mmx.psub.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psub_q; // "86.mmx.psub.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psub_w; // "86.mmx.psub.w" + } + break; + } + break; + } + break; + case 's': // 19 strings to match. + switch (NameR[4]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+5, "a256msg", 7)) + break; + switch (NameR[12]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_sha256msg1; // "86.sha256msg1" + case '2': // 1 string to match. + return Intrinsic::x86_sha256msg2; // "86.sha256msg2" + } + break; + case 's': // 17 strings to match. + if (NameR[5] != 'e') + break; + switch (NameR[6]) { + default: break; + case '.': // 13 strings to match. + switch (NameR[7]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+8, "dd.ss", 5)) + break; + return Intrinsic::x86_sse_add_ss; // "86.sse.add.ss" + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+8, "mp.", 3)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_cmp_ps; // "86.sse.cmp.ps" + case 's': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_cmp_ss; // "86.sse.cmp.ss" + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+8, "iv.ss", 5)) + break; + return Intrinsic::x86_sse_div_ss; // "86.sse.div.ss" + case 'm': // 5 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, "x.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_max_ps; // "86.sse.max.ps" + case 's': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_max_ss; // "86.sse.max.ss" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+9, "n.", 2)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_min_ps; // "86.sse.min.ps" + case 's': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_min_ss; // "86.sse.min.ss" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+9, "l.ss", 4)) + break; + return Intrinsic::x86_sse_mul_ss; // "86.sse.mul.ss" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+8, "cp.", 3)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_rcp_ps; // "86.sse.rcp.ps" + case 's': // 1 string to match. + if (NameR[12] != 's') + break; + return Intrinsic::x86_sse_rcp_ss; // "86.sse.rcp.ss" + } + break; + case 's': // 2 strings to match. + switch (NameR[8]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+9, "ence", 4)) + break; + return Intrinsic::x86_sse_sfence; // "86.sse.sfence" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+9, "b.ss", 4)) + break; + return Intrinsic::x86_sse_sub_ss; // "86.sse.sub.ss" + } + break; + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+7, ".pause", 6)) + break; + return Intrinsic::x86_sse2_pause; // "86.sse2.pause" + case '3': // 1 string to match. + if (memcmp(NameR.data()+7, ".mwait", 6)) + break; + return Intrinsic::x86_sse3_mwait; // "86.sse3.mwait" + case '4': // 2 strings to match. + if (memcmp(NameR.data()+7, "1.dpp", 5)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_dppd; // "86.sse41.dppd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_dpps; // "86.sse41.dpps" + } + break; + } + break; + } + break; + case 'x': // 18 strings to match. + if (memcmp(NameR.data()+4, "op.vp", 5)) + break; + switch (NameR[9]) { + default: break; + case 'c': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ov", 2)) + break; + return Intrinsic::x86_xop_vpcmov; // "86.xop.vpcmov" + case 'o': // 4 strings to match. + if (NameR[11] != 'm') + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpcomb; // "86.xop.vpcomb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpcomd; // "86.xop.vpcomd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpcomq; // "86.xop.vpcomq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpcomw; // "86.xop.vpcomw" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, "erm", 3)) + break; + return Intrinsic::x86_xop_vpperm; // "86.xop.vpperm" + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+10, "ot", 2)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vprotb; // "86.xop.vprotb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vprotd; // "86.xop.vprotd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vprotq; // "86.xop.vprotq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vprotw; // "86.xop.vprotw" + } + break; + case 's': // 8 strings to match. + if (NameR[10] != 'h') + break; + switch (NameR[11]) { + default: break; + case 'a': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpshab; // "86.xop.vpshab" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpshad; // "86.xop.vpshad" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpshaq; // "86.xop.vpshaq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpshaw; // "86.xop.vpshaw" + } + break; + case 'l': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpshlb; // "86.xop.vpshlb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpshld; // "86.xop.vpshld" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpshlq; // "86.xop.vpshlq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpshlw; // "86.xop.vpshlw" + } + break; + } + break; + } + break; + } + break; + case 14: // 97 strings to match. + switch (NameR[0]) { + default: break; + case '8': // 96 strings to match. + if (memcmp(NameR.data()+1, "6.", 2)) + break; + switch (NameR[3]) { + default: break; + case '3': // 9 strings to match. + if (memcmp(NameR.data()+4, "dnow.p", 6)) + break; + switch (NameR[10]) { + default: break; + case 'f': // 8 strings to match. + switch (NameR[11]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+12, "id", 2)) + break; + return Intrinsic::x86_3dnow_pf2id; // "86.3dnow.pf2id" + case 'a': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'c': // 1 string to match. + if (NameR[13] != 'c') + break; + return Intrinsic::x86_3dnow_pfacc; // "86.3dnow.pfacc" + case 'd': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_3dnow_pfadd; // "86.3dnow.pfadd" + } + break; + case 'm': // 3 strings to match. + switch (NameR[12]) { + default: break; + case 'a': // 1 string to match. + if (NameR[13] != 'x') + break; + return Intrinsic::x86_3dnow_pfmax; // "86.3dnow.pfmax" + case 'i': // 1 string to match. + if (NameR[13] != 'n') + break; + return Intrinsic::x86_3dnow_pfmin; // "86.3dnow.pfmin" + case 'u': // 1 string to match. + if (NameR[13] != 'l') + break; + return Intrinsic::x86_3dnow_pfmul; // "86.3dnow.pfmul" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "cp", 2)) + break; + return Intrinsic::x86_3dnow_pfrcp; // "86.3dnow.pfrcp" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "ub", 2)) + break; + return Intrinsic::x86_3dnow_pfsub; // "86.3dnow.pfsub" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+11, "2fd", 3)) + break; + return Intrinsic::x86_3dnow_pi2fd; // "86.3dnow.pi2fd" + } + break; + case 'a': // 14 strings to match. + if (memcmp(NameR.data()+4, "vx2.p", 5)) + break; + switch (NameR[9]) { + default: break; + case 'a': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'b': // 3 strings to match. + if (memcmp(NameR.data()+11, "s.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pabs_b; // "86.avx2.pabs.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pabs_d; // "86.avx2.pabs.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pabs_w; // "86.avx2.pabs.w" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "g.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pavg_b; // "86.avx2.pavg.b" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pavg_w; // "86.avx2.pavg.w" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+10, "rmps", 4)) + break; + return Intrinsic::x86_avx2_permps; // "86.avx2.permps" + case 's': // 8 strings to match. + switch (NameR[10]) { + default: break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+11, "l.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psll_d; // "86.avx2.psll.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_psll_q; // "86.avx2.psll.q" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psll_w; // "86.avx2.psll.w" + } + break; + case 'r': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psra_d; // "86.avx2.psra.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psra_w; // "86.avx2.psra.w" + } + break; + case 'l': // 3 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psrl_d; // "86.avx2.psrl.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_psrl_q; // "86.avx2.psrl.q" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psrl_w; // "86.avx2.psrl.w" + } + break; + } + break; + } + break; + } + break; + case 'b': // 6 strings to match. + if (memcmp(NameR.data()+4, "mi.", 3)) + break; + switch (NameR[7]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+8, "zhi.", 4)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_bmi_bzhi_32; // "86.bmi.bzhi.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_bmi_bzhi_64; // "86.bmi.bzhi.64" + } + break; + case 'p': // 4 strings to match. + switch (NameR[8]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+9, "ep.", 3)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_bmi_pdep_32; // "86.bmi.pdep.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_bmi_pdep_64; // "86.bmi.pdep.64" + } + break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+9, "xt.", 3)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_bmi_pext_32; // "86.bmi.pext.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_bmi_pext_64; // "86.bmi.pext.64" + } + break; + } + break; + } + break; + case 'm': // 21 strings to match. + if (memcmp(NameR.data()+4, "mx.p", 4)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, "dds.", 4)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_padds_b; // "86.mmx.padds.b" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_padds_w; // "86.mmx.padds.w" + } + break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+9, "xtr.w", 5)) + break; + return Intrinsic::x86_mmx_pextr_w; // "86.mmx.pextr.w" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+9, "nsr.w", 5)) + break; + return Intrinsic::x86_mmx_pinsr_w; // "86.mmx.pinsr.w" + case 'm': // 6 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[10] != 'x') + break; + switch (NameR[11]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, ".w", 2)) + break; + return Intrinsic::x86_mmx_pmaxs_w; // "86.mmx.pmaxs.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, ".b", 2)) + break; + return Intrinsic::x86_mmx_pmaxu_b; // "86.mmx.pmaxu.b" + } + break; + case 'i': // 2 strings to match. + if (NameR[10] != 'n') + break; + switch (NameR[11]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, ".w", 2)) + break; + return Intrinsic::x86_mmx_pmins_w; // "86.mmx.pmins.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, ".b", 2)) + break; + return Intrinsic::x86_mmx_pminu_b; // "86.mmx.pminu.b" + } + break; + case 'u': // 2 strings to match. + if (NameR[10] != 'l') + break; + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+12, ".w", 2)) + break; + return Intrinsic::x86_mmx_pmulh_w; // "86.mmx.pmulh.w" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+12, ".w", 2)) + break; + return Intrinsic::x86_mmx_pmull_w; // "86.mmx.pmull.w" + } + break; + } + break; + case 's': // 11 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+10, "d.bw", 4)) + break; + return Intrinsic::x86_mmx_psad_bw; // "86.mmx.psad.bw" + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+10, "li.", 3)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_pslli_d; // "86.mmx.pslli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_pslli_q; // "86.mmx.pslli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pslli_w; // "86.mmx.pslli.w" + } + break; + case 'r': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "i.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psrai_d; // "86.mmx.psrai.d" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psrai_w; // "86.mmx.psrai.w" + } + break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+11, "i.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psrli_d; // "86.mmx.psrli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psrli_q; // "86.mmx.psrli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psrli_w; // "86.mmx.psrli.w" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+10, "bs.", 3)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psubs_b; // "86.mmx.psubs.b" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psubs_w; // "86.mmx.psubs.w" + } + break; + } + break; + } + break; + case 'r': // 4 strings to match. + if (NameR[4] != 'd') + break; + switch (NameR[5]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+6, "sbase.", 6)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_rdfsbase_32; // "86.rdfsbase.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_rdfsbase_64; // "86.rdfsbase.64" + } + break; + case 'g': // 2 strings to match. + if (memcmp(NameR.data()+6, "sbase.", 6)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_rdgsbase_32; // "86.rdgsbase.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_rdgsbase_64; // "86.rdgsbase.64" + } + break; + } + break; + case 's': // 30 strings to match. + switch (NameR[4]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+5, "a256rnds2", 9)) + break; + return Intrinsic::x86_sha256rnds2; // "86.sha256rnds2" + case 's': // 29 strings to match. + if (NameR[5] != 'e') + break; + switch (NameR[6]) { + default: break; + case '.': // 5 strings to match. + switch (NameR[7]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, "dmxcsr", 6)) + break; + return Intrinsic::x86_sse_ldmxcsr; // "86.sse.ldmxcsr" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+8, "shuf.w", 6)) + break; + return Intrinsic::x86_sse_pshuf_w; // "86.sse.pshuf.w" + case 's': // 3 strings to match. + switch (NameR[8]) { + default: break; + case 'q': // 2 strings to match. + if (memcmp(NameR.data()+9, "rt.", 3)) + break; + switch (NameR[12]) { + default: break; + case 'p': // 1 string to match. + if (NameR[13] != 's') + break; + return Intrinsic::x86_sse_sqrt_ps; // "86.sse.sqrt.ps" + case 's': // 1 string to match. + if (NameR[13] != 's') + break; + return Intrinsic::x86_sse_sqrt_ss; // "86.sse.sqrt.ss" + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+9, "mxcsr", 5)) + break; + return Intrinsic::x86_sse_stmxcsr; // "86.sse.stmxcsr" + } + break; + } + break; + case '2': // 22 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "dd.sd", 5)) + break; + return Intrinsic::x86_sse2_add_sd; // "86.sse2.add.sd" + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+9, "mp.", 3)) + break; + switch (NameR[12]) { + default: break; + case 'p': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_cmp_pd; // "86.sse2.cmp.pd" + case 's': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_cmp_sd; // "86.sse2.cmp.sd" + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+9, "iv.sd", 5)) + break; + return Intrinsic::x86_sse2_div_sd; // "86.sse2.div.sd" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+9, "fence", 5)) + break; + return Intrinsic::x86_sse2_lfence; // "86.sse2.lfence" + case 'm': // 6 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "x.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'p': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_max_pd; // "86.sse2.max.pd" + case 's': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_max_sd; // "86.sse2.max.sd" + } + break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+10, "ence", 4)) + break; + return Intrinsic::x86_sse2_mfence; // "86.sse2.mfence" + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+10, "n.", 2)) + break; + switch (NameR[12]) { + default: break; + case 'p': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_min_pd; // "86.sse2.min.pd" + case 's': // 1 string to match. + if (NameR[13] != 'd') + break; + return Intrinsic::x86_sse2_min_sd; // "86.sse2.min.sd" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+10, "l.sd", 4)) + break; + return Intrinsic::x86_sse2_mul_sd; // "86.sse2.mul.sd" + } + break; + case 'p': // 10 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "vg.", 3)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse2_pavg_b; // "86.sse2.pavg.b" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_pavg_w; // "86.sse2.pavg.w" + } + break; + case 's': // 8 strings to match. + switch (NameR[10]) { + default: break; + case 'l': // 3 strings to match. + if (memcmp(NameR.data()+11, "l.", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_psll_d; // "86.sse2.psll.d" + case 'q': // 1 string to match. + return Intrinsic::x86_sse2_psll_q; // "86.sse2.psll.q" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psll_w; // "86.sse2.psll.w" + } + break; + case 'r': // 5 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_psra_d; // "86.sse2.psra.d" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psra_w; // "86.sse2.psra.w" + } + break; + case 'l': // 3 strings to match. + if (NameR[12] != '.') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_psrl_d; // "86.sse2.psrl.d" + case 'q': // 1 string to match. + return Intrinsic::x86_sse2_psrl_q; // "86.sse2.psrl.q" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psrl_w; // "86.sse2.psrl.w" + } + break; + } + break; + } + break; + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+9, "ub.sd", 5)) + break; + return Intrinsic::x86_sse2_sub_sd; // "86.sse2.sub.sd" + } + break; + case '3': // 1 string to match. + if (memcmp(NameR.data()+7, ".ldu.dq", 7)) + break; + return Intrinsic::x86_sse3_ldu_dq; // "86.sse3.ldu.dq" + case '4': // 1 string to match. + if (memcmp(NameR.data()+7, "a.extrq", 7)) + break; + return Intrinsic::x86_sse4a_extrq; // "86.sse4a.extrq" + } + break; + } + break; + case 'w': // 4 strings to match. + if (NameR[4] != 'r') + break; + switch (NameR[5]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(NameR.data()+6, "sbase.", 6)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_wrfsbase_32; // "86.wrfsbase.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_wrfsbase_64; // "86.wrfsbase.64" + } + break; + case 'g': // 2 strings to match. + if (memcmp(NameR.data()+6, "sbase.", 6)) + break; + switch (NameR[12]) { + default: break; + case '3': // 1 string to match. + if (NameR[13] != '2') + break; + return Intrinsic::x86_wrgsbase_32; // "86.wrgsbase.32" + case '6': // 1 string to match. + if (NameR[13] != '4') + break; + return Intrinsic::x86_wrgsbase_64; // "86.wrgsbase.64" + } + break; + } + break; + case 'x': // 8 strings to match. + if (memcmp(NameR.data()+4, "op.vp", 5)) + break; + switch (NameR[9]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+10, "omu", 3)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpcomub; // "86.xop.vpcomub" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpcomud; // "86.xop.vpcomud" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpcomuq; // "86.xop.vpcomuq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpcomuw; // "86.xop.vpcomuw" + } + break; + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+10, "ot", 2)) + break; + switch (NameR[12]) { + default: break; + case 'b': // 1 string to match. + if (NameR[13] != 'i') + break; + return Intrinsic::x86_xop_vprotbi; // "86.xop.vprotbi" + case 'd': // 1 string to match. + if (NameR[13] != 'i') + break; + return Intrinsic::x86_xop_vprotdi; // "86.xop.vprotdi" + case 'q': // 1 string to match. + if (NameR[13] != 'i') + break; + return Intrinsic::x86_xop_vprotqi; // "86.xop.vprotqi" + case 'w': // 1 string to match. + if (NameR[13] != 'i') + break; + return Intrinsic::x86_xop_vprotwi; // "86.xop.vprotwi" + } + break; + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+1, "ore.waitevent", 13)) + break; + return Intrinsic::xcore_waitevent; // "core.waitevent" + } + break; + case 15: // 145 strings to match. + switch (NameR[0]) { + default: break; + case '8': // 144 strings to match. + if (memcmp(NameR.data()+1, "6.", 2)) + break; + switch (NameR[3]) { + default: break; + case '3': // 3 strings to match. + if (memcmp(NameR.data()+4, "dnow", 4)) + break; + switch (NameR[8]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+9, "pfsubr", 6)) + break; + return Intrinsic::x86_3dnow_pfsubr; // "86.3dnow.pfsubr" + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, ".p", 2)) + break; + switch (NameR[11]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+12, "2iw", 3)) + break; + return Intrinsic::x86_3dnowa_pf2iw; // "86.3dnowa.pf2iw" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+12, "2fw", 3)) + break; + return Intrinsic::x86_3dnowa_pi2fw; // "86.3dnowa.pi2fw" + } + break; + } + break; + case 'a': // 49 strings to match. + switch (NameR[4]) { + default: break; + case 'e': // 3 strings to match. + if (memcmp(NameR.data()+5, "sni.aes", 7)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "ec", 2)) + break; + return Intrinsic::x86_aesni_aesdec; // "86.aesni.aesdec" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, "nc", 2)) + break; + return Intrinsic::x86_aesni_aesenc; // "86.aesni.aesenc" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+13, "mc", 2)) + break; + return Intrinsic::x86_aesni_aesimc; // "86.aesni.aesimc" + } + break; + case 'v': // 46 strings to match. + if (NameR[5] != 'x') + break; + switch (NameR[6]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+7, "vzeroall", 8)) + break; + return Intrinsic::x86_avx_vzeroall; // "86.avx.vzeroall" + case '2': // 44 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+9, "psadbw", 6)) + break; + return Intrinsic::x86_avx2_mpsadbw; // "86.avx2.mpsadbw" + case 'p': // 43 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "dds.", 4)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_padds_b; // "86.avx2.padds.b" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_padds_w; // "86.avx2.padds.w" + } + break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+10, "lendw", 5)) + break; + return Intrinsic::x86_avx2_pblendw; // "86.avx2.pblendw" + case 'h': // 4 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "dd.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_phadd_d; // "86.avx2.phadd.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_phadd_w; // "86.avx2.phadd.w" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "ub.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_phsub_d; // "86.avx2.phsub.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_phsub_w; // "86.avx2.phsub.w" + } + break; + } + break; + case 'm': // 14 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 6 strings to match. + if (NameR[11] != 'x') + break; + switch (NameR[12]) { + default: break; + case 's': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pmaxs_b; // "86.avx2.pmaxs.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmaxs_d; // "86.avx2.pmaxs.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pmaxs_w; // "86.avx2.pmaxs.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pmaxu_b; // "86.avx2.pmaxu.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmaxu_d; // "86.avx2.pmaxu.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pmaxu_w; // "86.avx2.pmaxu.w" + } + break; + } + break; + case 'i': // 6 strings to match. + if (NameR[11] != 'n') + break; + switch (NameR[12]) { + default: break; + case 's': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pmins_b; // "86.avx2.pmins.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmins_d; // "86.avx2.pmins.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pmins_w; // "86.avx2.pmins.w" + } + break; + case 'u': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_pminu_b; // "86.avx2.pminu.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pminu_d; // "86.avx2.pminu.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pminu_w; // "86.avx2.pminu.w" + } + break; + } + break; + case 'u': // 2 strings to match. + if (NameR[11] != 'l') + break; + switch (NameR[12]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+13, "dq", 2)) + break; + return Intrinsic::x86_avx2_pmul_dq; // "86.avx2.pmul.dq" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+13, ".w", 2)) + break; + return Intrinsic::x86_avx2_pmulh_w; // "86.avx2.pmulh.w" + } + break; + } + break; + case 's': // 22 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "d.bw", 4)) + break; + return Intrinsic::x86_avx2_psad_bw; // "86.avx2.psad.bw" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+11, "uf.b", 4)) + break; + return Intrinsic::x86_avx2_pshuf_b; // "86.avx2.pshuf.b" + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+11, "gn.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_psign_b; // "86.avx2.psign.b" + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psign_d; // "86.avx2.psign.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psign_w; // "86.avx2.psign.w" + } + break; + case 'l': // 6 strings to match. + if (NameR[11] != 'l') + break; + switch (NameR[12]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+13, "dq", 2)) + break; + return Intrinsic::x86_avx2_psll_dq; // "86.avx2.psll.dq" + case 'i': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pslli_d; // "86.avx2.pslli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_pslli_q; // "86.avx2.pslli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pslli_w; // "86.avx2.pslli.w" + } + break; + case 'v': // 2 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psllv_d; // "86.avx2.psllv.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_psllv_q; // "86.avx2.psllv.q" + } + break; + } + break; + case 'r': // 9 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 3 strings to match. + switch (NameR[12]) { + default: break; + case 'i': // 2 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psrai_d; // "86.avx2.psrai.d" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psrai_w; // "86.avx2.psrai.w" + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+13, ".d", 2)) + break; + return Intrinsic::x86_avx2_psrav_d; // "86.avx2.psrav.d" + } + break; + case 'l': // 6 strings to match. + switch (NameR[12]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+13, "dq", 2)) + break; + return Intrinsic::x86_avx2_psrl_dq; // "86.avx2.psrl.dq" + case 'i': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psrli_d; // "86.avx2.psrli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_psrli_q; // "86.avx2.psrli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psrli_w; // "86.avx2.psrli.w" + } + break; + case 'v': // 2 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_psrlv_d; // "86.avx2.psrlv.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_psrlv_q; // "86.avx2.psrlv.q" + } + break; + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+11, "bs.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_psubs_b; // "86.avx2.psubs.b" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psubs_w; // "86.avx2.psubs.w" + } + break; + } + break; + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(NameR.data()+7, "12.kor.w", 8)) + break; + return Intrinsic::x86_avx512_kor_w; // "86.avx512.kor.w" + } + break; + } + break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+4, "mi.bextr.", 9)) + break; + switch (NameR[13]) { + default: break; + case '3': // 1 string to match. + if (NameR[14] != '2') + break; + return Intrinsic::x86_bmi_bextr_32; // "86.bmi.bextr.32" + case '6': // 1 string to match. + if (NameR[14] != '4') + break; + return Intrinsic::x86_bmi_bextr_64; // "86.bmi.bextr.64" + } + break; + case 'm': // 19 strings to match. + if (memcmp(NameR.data()+4, "mx.", 3)) + break; + switch (NameR[7]) { + default: break; + case 'm': // 2 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "skmovq", 6)) + break; + return Intrinsic::x86_mmx_maskmovq; // "86.mmx.maskmovq" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+9, "vnt.dq", 6)) + break; + return Intrinsic::x86_mmx_movnt_dq; // "86.mmx.movnt.dq" + } + break; + case 'p': // 17 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 5 strings to match. + switch (NameR[9]) { + default: break; + case 'c': // 3 strings to match. + if (NameR[10] != 'k') + break; + switch (NameR[11]) { + default: break; + case 's': // 2 strings to match. + if (NameR[12] != 's') + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (NameR[14] != 'w') + break; + return Intrinsic::x86_mmx_packssdw; // "86.mmx.packssdw" + case 'w': // 1 string to match. + if (NameR[14] != 'b') + break; + return Intrinsic::x86_mmx_packsswb; // "86.mmx.packsswb" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, "swb", 3)) + break; + return Intrinsic::x86_mmx_packuswb; // "86.mmx.packuswb" + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+10, "dus.", 4)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_paddus_b; // "86.mmx.paddus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_paddus_w; // "86.mmx.paddus.w" + } + break; + } + break; + case 'c': // 6 strings to match. + if (memcmp(NameR.data()+9, "mp", 2)) + break; + switch (NameR[11]) { + default: break; + case 'e': // 3 strings to match. + if (memcmp(NameR.data()+12, "q.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_b; // "86.mmx.pcmpeq.b" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_d; // "86.mmx.pcmpeq.d" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_w; // "86.mmx.pcmpeq.w" + } + break; + case 'g': // 3 strings to match. + if (memcmp(NameR.data()+12, "t.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_b; // "86.mmx.pcmpgt.b" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_d; // "86.mmx.pcmpgt.d" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_w; // "86.mmx.pcmpgt.w" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+10, "dd.wd", 5)) + break; + return Intrinsic::x86_mmx_pmadd_wd; // "86.mmx.pmadd.wd" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+10, "vmskb", 5)) + break; + return Intrinsic::x86_mmx_pmovmskb; // "86.mmx.pmovmskb" + case 'u': // 2 strings to match. + if (NameR[10] != 'l') + break; + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+12, "u.w", 3)) + break; + return Intrinsic::x86_mmx_pmulhu_w; // "86.mmx.pmulhu.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, ".dq", 3)) + break; + return Intrinsic::x86_mmx_pmulu_dq; // "86.mmx.pmulu.dq" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+9, "ubus.", 5)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psubus_b; // "86.mmx.psubus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psubus_w; // "86.mmx.psubus.w" + } + break; + } + break; + } + break; + case 's': // 55 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 52 strings to match. + switch (NameR[6]) { + default: break; + case '.': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'c': // 6 strings to match. + if (memcmp(NameR.data()+8, "vt", 2)) + break; + switch (NameR[10]) { + default: break; + case 'p': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "2pi", 3)) + break; + return Intrinsic::x86_sse_cvtpd2pi; // "86.sse.cvtpd2pi" + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+12, "2p", 2)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse_cvtpi2pd; // "86.sse.cvtpi2pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cvtpi2ps; // "86.sse.cvtpi2ps" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "2pi", 3)) + break; + return Intrinsic::x86_sse_cvtps2pi; // "86.sse.cvtps2pi" + } + break; + case 's': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+12, "2ss", 3)) + break; + return Intrinsic::x86_sse_cvtsi2ss; // "86.sse.cvtsi2ss" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "2si", 3)) + break; + return Intrinsic::x86_sse_cvtss2si; // "86.sse.cvtss2si" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+8, "sqrt.", 5)) + break; + switch (NameR[13]) { + default: break; + case 'p': // 1 string to match. + if (NameR[14] != 's') + break; + return Intrinsic::x86_sse_rsqrt_ps; // "86.sse.rsqrt.ps" + case 's': // 1 string to match. + if (NameR[14] != 's') + break; + return Intrinsic::x86_sse_rsqrt_ss; // "86.sse.rsqrt.ss" + } + break; + } + break; + case '2': // 24 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+9, "lflush", 6)) + break; + return Intrinsic::x86_sse2_clflush; // "86.sse2.clflush" + case 'p': // 21 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "dds.", 4)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse2_padds_b; // "86.sse2.padds.b" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_padds_w; // "86.sse2.padds.w" + } + break; + case 'm': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (NameR[11] != 'x') + break; + switch (NameR[12]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, ".w", 2)) + break; + return Intrinsic::x86_sse2_pmaxs_w; // "86.sse2.pmaxs.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+13, ".b", 2)) + break; + return Intrinsic::x86_sse2_pmaxu_b; // "86.sse2.pmaxu.b" + } + break; + case 'i': // 2 strings to match. + if (NameR[11] != 'n') + break; + switch (NameR[12]) { + default: break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, ".w", 2)) + break; + return Intrinsic::x86_sse2_pmins_w; // "86.sse2.pmins.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+13, ".b", 2)) + break; + return Intrinsic::x86_sse2_pminu_b; // "86.sse2.pminu.b" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+11, "lh.w", 4)) + break; + return Intrinsic::x86_sse2_pmulh_w; // "86.sse2.pmulh.w" + } + break; + case 's': // 14 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "d.bw", 4)) + break; + return Intrinsic::x86_sse2_psad_bw; // "86.sse2.psad.bw" + case 'h': // 1 string to match. + if (memcmp(NameR.data()+11, "uf.d", 4)) + break; + return Intrinsic::x86_sse2_pshuf_d; // "86.sse2.pshuf.d" + case 'l': // 4 strings to match. + if (NameR[11] != 'l') + break; + switch (NameR[12]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+13, "dq", 2)) + break; + return Intrinsic::x86_sse2_psll_dq; // "86.sse2.psll.dq" + case 'i': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_pslli_d; // "86.sse2.pslli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_sse2_pslli_q; // "86.sse2.pslli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_pslli_w; // "86.sse2.pslli.w" + } + break; + } + break; + case 'r': // 6 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "i.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_psrai_d; // "86.sse2.psrai.d" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psrai_w; // "86.sse2.psrai.w" + } + break; + case 'l': // 4 strings to match. + switch (NameR[12]) { + default: break; + case '.': // 1 string to match. + if (memcmp(NameR.data()+13, "dq", 2)) + break; + return Intrinsic::x86_sse2_psrl_dq; // "86.sse2.psrl.dq" + case 'i': // 3 strings to match. + if (NameR[13] != '.') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_psrli_d; // "86.sse2.psrli.d" + case 'q': // 1 string to match. + return Intrinsic::x86_sse2_psrli_q; // "86.sse2.psrli.q" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psrli_w; // "86.sse2.psrli.w" + } + break; + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+11, "bs.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse2_psubs_b; // "86.sse2.psubs.b" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psubs_w; // "86.sse2.psubs.w" + } + break; + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+9, "qrt.", 4)) + break; + switch (NameR[13]) { + default: break; + case 'p': // 1 string to match. + if (NameR[14] != 'd') + break; + return Intrinsic::x86_sse2_sqrt_pd; // "86.sse2.sqrt.pd" + case 's': // 1 string to match. + if (NameR[14] != 'd') + break; + return Intrinsic::x86_sse2_sqrt_sd; // "86.sse2.sqrt.sd" + } + break; + } + break; + case '3': // 5 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "dd.p", 4)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_hadd_pd; // "86.sse3.hadd.pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_hadd_ps; // "86.sse3.hadd.ps" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+10, "ub.p", 4)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_hsub_pd; // "86.sse3.hsub.pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_hsub_ps; // "86.sse3.hsub.ps" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+9, "onitor", 6)) + break; + return Intrinsic::x86_sse3_monitor; // "86.sse3.monitor" + } + break; + case '4': // 15 strings to match. + switch (NameR[7]) { + default: break; + case '1': // 14 strings to match. + if (memcmp(NameR.data()+8, ".p", 2)) + break; + switch (NameR[10]) { + default: break; + case 'e': // 3 strings to match. + if (memcmp(NameR.data()+11, "xtr", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse41_pextrb; // "86.sse41.pextrb" + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pextrd; // "86.sse41.pextrd" + case 'q': // 1 string to match. + return Intrinsic::x86_sse41_pextrq; // "86.sse41.pextrq" + } + break; + case 'm': // 9 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[12] != 'x') + break; + switch (NameR[13]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse41_pmaxsb; // "86.sse41.pmaxsb" + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmaxsd; // "86.sse41.pmaxsd" + } + break; + case 'u': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmaxud; // "86.sse41.pmaxud" + case 'w': // 1 string to match. + return Intrinsic::x86_sse41_pmaxuw; // "86.sse41.pmaxuw" + } + break; + } + break; + case 'i': // 4 strings to match. + if (NameR[12] != 'n') + break; + switch (NameR[13]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse41_pminsb; // "86.sse41.pminsb" + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pminsd; // "86.sse41.pminsd" + } + break; + case 'u': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pminud; // "86.sse41.pminud" + case 'w': // 1 string to match. + return Intrinsic::x86_sse41_pminuw; // "86.sse41.pminuw" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+12, "ldq", 3)) + break; + return Intrinsic::x86_sse41_pmuldq; // "86.sse41.pmuldq" + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+11, "est", 3)) + break; + switch (NameR[14]) { + default: break; + case 'c': // 1 string to match. + return Intrinsic::x86_sse41_ptestc; // "86.sse41.ptestc" + case 'z': // 1 string to match. + return Intrinsic::x86_sse41_ptestz; // "86.sse41.ptestz" + } + break; + } + break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+8, ".extrqi", 7)) + break; + return Intrinsic::x86_sse4a_extrqi; // "86.sse4a.extrqi" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+6, "e3.pabs.", 8)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_b; // "86.ssse3.pabs.b" + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_d; // "86.ssse3.pabs.d" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_w; // "86.ssse3.pabs.w" + } + break; + } + break; + case 'x': // 16 strings to match. + if (memcmp(NameR.data()+4, "op.v", 4)) + break; + switch (NameR[8]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+9, "rcz.", 4)) + break; + switch (NameR[13]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_pd; // "86.xop.vfrcz.pd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_ps; // "86.xop.vfrcz.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_sd; // "86.xop.vfrcz.sd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_ss; // "86.xop.vfrcz.ss" + } + break; + } + break; + case 'p': // 12 strings to match. + switch (NameR[9]) { + default: break; + case 'h': // 9 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(NameR.data()+11, "dd", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddbd; // "86.xop.vphaddbd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddbq; // "86.xop.vphaddbq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vphaddbw; // "86.xop.vphaddbw" + } + break; + case 'd': // 1 string to match. + if (NameR[14] != 'q') + break; + return Intrinsic::x86_xop_vphadddq; // "86.xop.vphadddq" + case 'w': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddwd; // "86.xop.vphaddwd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddwq; // "86.xop.vphaddwq" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+11, "ub", 2)) + break; + switch (NameR[13]) { + default: break; + case 'b': // 1 string to match. + if (NameR[14] != 'w') + break; + return Intrinsic::x86_xop_vphsubbw; // "86.xop.vphsubbw" + case 'd': // 1 string to match. + if (NameR[14] != 'q') + break; + return Intrinsic::x86_xop_vphsubdq; // "86.xop.vphsubdq" + case 'w': // 1 string to match. + if (NameR[14] != 'd') + break; + return Intrinsic::x86_xop_vphsubwd; // "86.xop.vphsubwd" + } + break; + } + break; + case 'm': // 3 strings to match. + if (memcmp(NameR.data()+10, "acs", 3)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (NameR[14] != 'd') + break; + return Intrinsic::x86_xop_vpmacsdd; // "86.xop.vpmacsdd" + case 'w': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpmacswd; // "86.xop.vpmacswd" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpmacsww; // "86.xop.vpmacsww" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+1, "ore.checkevent", 14)) + break; + return Intrinsic::xcore_checkevent; // "core.checkevent" + } + break; + case 16: // 117 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case '3': // 8 strings to match. + if (memcmp(NameR.data()+4, "dnow", 4)) + break; + switch (NameR[8]) { + default: break; + case '.': // 6 strings to match. + if (NameR[9] != 'p') + break; + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "vgusb", 5)) + break; + return Intrinsic::x86_3dnow_pavgusb; // "86.3dnow.pavgusb" + case 'f': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(NameR.data()+12, "mp", 2)) + break; + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_3dnow_pfcmpeq; // "86.3dnow.pfcmpeq" + case 'g': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_3dnow_pfcmpge; // "86.3dnow.pfcmpge" + case 't': // 1 string to match. + return Intrinsic::x86_3dnow_pfcmpgt; // "86.3dnow.pfcmpgt" + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+12, "sqrt", 4)) + break; + return Intrinsic::x86_3dnow_pfrsqrt; // "86.3dnow.pfrsqrt" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ulhrw", 5)) + break; + return Intrinsic::x86_3dnow_pmulhrw; // "86.3dnow.pmulhrw" + } + break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, ".p", 2)) + break; + switch (NameR[11]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(NameR.data()+12, "nacc", 4)) + break; + return Intrinsic::x86_3dnowa_pfnacc; // "86.3dnowa.pfnacc" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "wapd", 4)) + break; + return Intrinsic::x86_3dnowa_pswapd; // "86.3dnowa.pswapd" + } + break; + } + break; + case 'a': // 36 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 5 strings to match. + switch (NameR[7]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+8, "p.ps.256", 8)) + break; + return Intrinsic::x86_avx_dp_ps_256; // "86.avx.dp.ps.256" + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+8, "test", 4)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+13, ".p", 2)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestc_pd; // "86.avx.vtestc.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestc_ps; // "86.avx.vtestc.ps" + } + break; + case 'z': // 2 strings to match. + if (memcmp(NameR.data()+13, ".p", 2)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestz_pd; // "86.avx.vtestz.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestz_ps; // "86.avx.vtestz.ps" + } + break; + } + break; + } + break; + case '2': // 28 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+9, "ovntdqa", 7)) + break; + return Intrinsic::x86_avx2_movntdqa; // "86.avx2.movntdqa" + case 'p': // 27 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 6 strings to match. + switch (NameR[10]) { + default: break; + case 'c': // 4 strings to match. + if (NameR[11] != 'k') + break; + switch (NameR[12]) { + default: break; + case 's': // 2 strings to match. + if (NameR[13] != 's') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::x86_avx2_packssdw; // "86.avx2.packssdw" + case 'w': // 1 string to match. + if (NameR[15] != 'b') + break; + return Intrinsic::x86_avx2_packsswb; // "86.avx2.packsswb" + } + break; + case 'u': // 2 strings to match. + if (NameR[13] != 's') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::x86_avx2_packusdw; // "86.avx2.packusdw" + case 'w': // 1 string to match. + if (NameR[15] != 'b') + break; + return Intrinsic::x86_avx2_packuswb; // "86.avx2.packuswb" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+11, "dus.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_paddus_b; // "86.avx2.paddus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_paddus_w; // "86.avx2.paddus.w" + } + break; + } + break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+10, "lendvb", 6)) + break; + return Intrinsic::x86_avx2_pblendvb; // "86.avx2.pblendvb" + case 'h': // 2 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "dd.sw", 5)) + break; + return Intrinsic::x86_avx2_phadd_sw; // "86.avx2.phadd.sw" + case 's': // 1 string to match. + if (memcmp(NameR.data()+11, "ub.sw", 5)) + break; + return Intrinsic::x86_avx2_phsub_sw; // "86.avx2.phsub.sw" + } + break; + case 'm': // 16 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "dd.wd", 5)) + break; + return Intrinsic::x86_avx2_pmadd_wd; // "86.avx2.pmadd.wd" + case 'o': // 13 strings to match. + if (NameR[11] != 'v') + break; + switch (NameR[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+13, "skb", 3)) + break; + return Intrinsic::x86_avx2_pmovmskb; // "86.avx2.pmovmskb" + case 's': // 6 strings to match. + if (NameR[13] != 'x') + break; + switch (NameR[14]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmovsxbd; // "86.avx2.pmovsxbd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_pmovsxbq; // "86.avx2.pmovsxbq" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pmovsxbw; // "86.avx2.pmovsxbw" + } + break; + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_avx2_pmovsxdq; // "86.avx2.pmovsxdq" + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmovsxwd; // "86.avx2.pmovsxwd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_pmovsxwq; // "86.avx2.pmovsxwq" + } + break; + } + break; + case 'z': // 6 strings to match. + if (NameR[13] != 'x') + break; + switch (NameR[14]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmovzxbd; // "86.avx2.pmovzxbd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_pmovzxbq; // "86.avx2.pmovzxbq" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_pmovzxbw; // "86.avx2.pmovzxbw" + } + break; + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_avx2_pmovzxdq; // "86.avx2.pmovzxdq" + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_pmovzxwd; // "86.avx2.pmovzxwd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_pmovzxwq; // "86.avx2.pmovzxwq" + } + break; + } + break; + } + break; + case 'u': // 2 strings to match. + if (NameR[11] != 'l') + break; + switch (NameR[12]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+13, "u.w", 3)) + break; + return Intrinsic::x86_avx2_pmulhu_w; // "86.avx2.pmulhu.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+13, ".dq", 3)) + break; + return Intrinsic::x86_avx2_pmulu_dq; // "86.avx2.pmulu.dq" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+10, "ubus.", 5)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_avx2_psubus_b; // "86.avx2.psubus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_avx2_psubus_w; // "86.avx2.psubus.w" + } + break; + } + break; + } + break; + case '5': // 3 strings to match. + if (memcmp(NameR.data()+7, "12.k", 4)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "nd.w", 4)) + break; + return Intrinsic::x86_avx512_kand_w; // "86.avx512.kand.w" + case 'n': // 1 string to match. + if (memcmp(NameR.data()+12, "ot.w", 4)) + break; + return Intrinsic::x86_avx512_knot_w; // "86.avx512.knot.w" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+12, "or.w", 4)) + break; + return Intrinsic::x86_avx512_kxor_w; // "86.avx512.kxor.w" + } + break; + } + break; + case 'f': // 8 strings to match. + if (memcmp(NameR.data()+4, "ma.vfm", 6)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+11, "dd.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_pd; // "86.fma.vfmadd.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_ps; // "86.fma.vfmadd.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_sd; // "86.fma.vfmadd.sd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_ss; // "86.fma.vfmadd.ss" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+11, "ub.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_pd; // "86.fma.vfmsub.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_ps; // "86.fma.vfmsub.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_sd; // "86.fma.vfmsub.sd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_ss; // "86.fma.vfmsub.ss" + } + break; + } + break; + } + break; + case 'm': // 7 strings to match. + if (memcmp(NameR.data()+4, "mx.p", 4)) + break; + switch (NameR[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, "lignr.b", 7)) + break; + return Intrinsic::x86_mmx_palignr_b; // "86.mmx.palignr.b" + case 'u': // 6 strings to match. + if (memcmp(NameR.data()+9, "npck", 4)) + break; + switch (NameR[13]) { + default: break; + case 'h': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::x86_mmx_punpckhbw; // "86.mmx.punpckhbw" + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_mmx_punpckhdq; // "86.mmx.punpckhdq" + case 'w': // 1 string to match. + if (NameR[15] != 'd') + break; + return Intrinsic::x86_mmx_punpckhwd; // "86.mmx.punpckhwd" + } + break; + case 'l': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (NameR[15] != 'w') + break; + return Intrinsic::x86_mmx_punpcklbw; // "86.mmx.punpcklbw" + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_mmx_punpckldq; // "86.mmx.punpckldq" + case 'w': // 1 string to match. + if (NameR[15] != 'd') + break; + return Intrinsic::x86_mmx_punpcklwd; // "86.mmx.punpcklwd" + } + break; + } + break; + } + break; + case 's': // 42 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 34 strings to match. + switch (NameR[6]) { + default: break; + case '.': // 10 strings to match. + switch (NameR[7]) { + default: break; + case 'c': // 8 strings to match. + switch (NameR[8]) { + default: break; + case 'o': // 5 strings to match. + if (memcmp(NameR.data()+9, "mi", 2)) + break; + switch (NameR[11]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+12, "q.ss", 4)) + break; + return Intrinsic::x86_sse_comieq_ss; // "86.sse.comieq.ss" + case 'g': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, ".ss", 3)) + break; + return Intrinsic::x86_sse_comige_ss; // "86.sse.comige.ss" + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, ".ss", 3)) + break; + return Intrinsic::x86_sse_comigt_ss; // "86.sse.comigt.ss" + } + break; + case 'l': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, ".ss", 3)) + break; + return Intrinsic::x86_sse_comile_ss; // "86.sse.comile.ss" + case 't': // 1 string to match. + if (memcmp(NameR.data()+13, ".ss", 3)) + break; + return Intrinsic::x86_sse_comilt_ss; // "86.sse.comilt.ss" + } + break; + } + break; + case 'v': // 3 strings to match. + if (memcmp(NameR.data()+9, "tt", 2)) + break; + switch (NameR[11]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "2pi", 3)) + break; + return Intrinsic::x86_sse_cvttpd2pi; // "86.sse.cvttpd2pi" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "2pi", 3)) + break; + return Intrinsic::x86_sse_cvttps2pi; // "86.sse.cvttps2pi" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "s2si", 4)) + break; + return Intrinsic::x86_sse_cvttss2si; // "86.sse.cvttss2si" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+8, "ovmsk.ps", 8)) + break; + return Intrinsic::x86_sse_movmsk_ps; // "86.sse.movmsk.ps" + case 's': // 1 string to match. + if (memcmp(NameR.data()+8, "toreu.ps", 8)) + break; + return Intrinsic::x86_sse_storeu_ps; // "86.sse.storeu.ps" + } + break; + case '2': // 19 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'c': // 10 strings to match. + if (memcmp(NameR.data()+9, "vt", 2)) + break; + switch (NameR[11]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+12, "q2p", 3)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtdq2pd; // "86.sse2.cvtdq2pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse2_cvtdq2ps; // "86.sse2.cvtdq2ps" + } + break; + case 'p': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[13] != '2') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_sse2_cvtpd2dq; // "86.sse2.cvtpd2dq" + case 'p': // 1 string to match. + if (NameR[15] != 's') + break; + return Intrinsic::x86_sse2_cvtpd2ps; // "86.sse2.cvtpd2ps" + } + break; + case 's': // 2 strings to match. + if (NameR[13] != '2') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_sse2_cvtps2dq; // "86.sse2.cvtps2dq" + case 'p': // 1 string to match. + if (NameR[15] != 'd') + break; + return Intrinsic::x86_sse2_cvtps2pd; // "86.sse2.cvtps2pd" + } + break; + } + break; + case 's': // 4 strings to match. + switch (NameR[12]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+13, "2s", 2)) + break; + switch (NameR[15]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::x86_sse2_cvtsd2si; // "86.sse2.cvtsd2si" + case 's': // 1 string to match. + return Intrinsic::x86_sse2_cvtsd2ss; // "86.sse2.cvtsd2ss" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+13, "2sd", 3)) + break; + return Intrinsic::x86_sse2_cvtsi2sd; // "86.sse2.cvtsi2sd" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "2sd", 3)) + break; + return Intrinsic::x86_sse2_cvtss2sd; // "86.sse2.cvtss2sd" + } + break; + } + break; + case 'p': // 9 strings to match. + switch (NameR[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+10, "ddus.", 5)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse2_paddus_b; // "86.sse2.paddus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_paddus_w; // "86.sse2.paddus.w" + } + break; + case 'm': // 3 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "dd.wd", 5)) + break; + return Intrinsic::x86_sse2_pmadd_wd; // "86.sse2.pmadd.wd" + case 'u': // 2 strings to match. + if (NameR[11] != 'l') + break; + switch (NameR[12]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+13, "u.w", 3)) + break; + return Intrinsic::x86_sse2_pmulhu_w; // "86.sse2.pmulhu.w" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+13, ".dq", 3)) + break; + return Intrinsic::x86_sse2_pmulu_dq; // "86.sse2.pmulu.dq" + } + break; + } + break; + case 's': // 4 strings to match. + switch (NameR[10]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+11, "uf", 2)) + break; + switch (NameR[13]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+14, ".w", 2)) + break; + return Intrinsic::x86_sse2_pshufh_w; // "86.sse2.pshufh.w" + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, ".w", 2)) + break; + return Intrinsic::x86_sse2_pshufl_w; // "86.sse2.pshufl.w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+11, "bus.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_sse2_psubus_b; // "86.sse2.psubus.b" + case 'w': // 1 string to match. + return Intrinsic::x86_sse2_psubus_w; // "86.sse2.psubus.w" + } + break; + } + break; + } + break; + } + break; + case '4': // 5 strings to match. + switch (NameR[7]) { + default: break; + case '1': // 4 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+10, "lendp", 5)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_blendpd; // "86.sse41.blendpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_blendps; // "86.sse41.blendps" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, "psadbw", 6)) + break; + return Intrinsic::x86_sse41_mpsadbw; // "86.sse41.mpsadbw" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+10, "blendw", 6)) + break; + return Intrinsic::x86_sse41_pblendw; // "86.sse41.pblendw" + } + break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+8, ".insertq", 8)) + break; + return Intrinsic::x86_sse4a_insertq; // "86.sse4a.insertq" + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(NameR.data()+6, "e3.p", 4)) + break; + switch (NameR[10]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "dd.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_phadd_d; // "86.ssse3.phadd.d" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_phadd_w; // "86.ssse3.phadd.w" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "ub.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_phsub_d; // "86.ssse3.phsub.d" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_phsub_w; // "86.ssse3.phsub.w" + } + break; + } + break; + case 's': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+12, "uf.b", 4)) + break; + return Intrinsic::x86_ssse3_pshuf_b; // "86.ssse3.pshuf.b" + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+12, "gn.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_ssse3_psign_b; // "86.ssse3.psign.b" + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_psign_d; // "86.ssse3.psign.d" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_psign_w; // "86.ssse3.psign.w" + } + break; + } + break; + } + break; + } + break; + case 'v': // 4 strings to match. + if (memcmp(NameR.data()+4, "cvtp", 4)) + break; + switch (NameR[8]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(NameR.data()+9, "2ps.", 4)) + break; + switch (NameR[13]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+14, "28", 2)) + break; + return Intrinsic::x86_vcvtph2ps_128; // "86.vcvtph2ps.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+14, "56", 2)) + break; + return Intrinsic::x86_vcvtph2ps_256; // "86.vcvtph2ps.256" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+9, "2ph.", 4)) + break; + switch (NameR[13]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+14, "28", 2)) + break; + return Intrinsic::x86_vcvtps2ph_128; // "86.vcvtps2ph.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+14, "56", 2)) + break; + return Intrinsic::x86_vcvtps2ph_256; // "86.vcvtps2ph.256" + } + break; + } + break; + case 'x': // 12 strings to match. + if (memcmp(NameR.data()+4, "op.vp", 5)) + break; + switch (NameR[9]) { + default: break; + case 'h': // 6 strings to match. + if (memcmp(NameR.data()+10, "addu", 4)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddubd; // "86.xop.vphaddubd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddubq; // "86.xop.vphaddubq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vphaddubw; // "86.xop.vphaddubw" + } + break; + case 'd': // 1 string to match. + if (NameR[15] != 'q') + break; + return Intrinsic::x86_xop_vphaddudq; // "86.xop.vphaddudq" + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphadduwd; // "86.xop.vphadduwd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphadduwq; // "86.xop.vphadduwq" + } + break; + } + break; + case 'm': // 6 strings to match. + if (NameR[10] != 'a') + break; + switch (NameR[11]) { + default: break; + case 'c': // 5 strings to match. + if (NameR[12] != 's') + break; + switch (NameR[13]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[14] != 'q') + break; + switch (NameR[15]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::x86_xop_vpmacsdqh; // "86.xop.vpmacsdqh" + case 'l': // 1 string to match. + return Intrinsic::x86_xop_vpmacsdql; // "86.xop.vpmacsdql" + } + break; + case 's': // 3 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (NameR[15] != 'd') + break; + return Intrinsic::x86_xop_vpmacssdd; // "86.xop.vpmacssdd" + case 'w': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpmacsswd; // "86.xop.vpmacsswd" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpmacssww; // "86.xop.vpmacssww" + } + break; + } + break; + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "cswd", 4)) + break; + return Intrinsic::x86_xop_vpmadcswd; // "86.xop.vpmadcswd" + } + break; + } + break; + } + break; + case 17: // 87 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case '3': // 4 strings to match. + if (memcmp(NameR.data()+4, "dnow", 4)) + break; + switch (NameR[8]) { + default: break; + case '.': // 3 strings to match. + if (memcmp(NameR.data()+9, "pfr", 3)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+13, "pit", 3)) + break; + switch (NameR[16]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_3dnow_pfrcpit1; // "86.3dnow.pfrcpit1" + case '2': // 1 string to match. + return Intrinsic::x86_3dnow_pfrcpit2; // "86.3dnow.pfrcpit2" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "qit1", 4)) + break; + return Intrinsic::x86_3dnow_pfrsqit1; // "86.3dnow.pfrsqit1" + } + break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+9, ".pfpnacc", 8)) + break; + return Intrinsic::x86_3dnowa_pfpnacc; // "86.3dnowa.pfpnacc" + } + break; + case 'a': // 17 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 11 strings to match. + switch (NameR[7]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+8, "mp.p", 4)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_cmp_pd_256; // "86.avx.cmp.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_cmp_ps_256; // "86.avx.cmp.ps.256" + } + break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+8, "du.dq.256", 9)) + break; + return Intrinsic::x86_avx_ldu_dq_256; // "86.avx.ldu.dq.256" + case 'm': // 4 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, "x.p", 3)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_max_pd_256; // "86.avx.max.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_max_ps_256; // "86.avx.max.ps.256" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+9, "n.p", 3)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_min_pd_256; // "86.avx.min.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_min_ps_256; // "86.avx.min.ps.256" + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+8, "test", 4)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_ptestc_256; // "86.avx.ptestc.256" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+13, ".256", 4)) + break; + return Intrinsic::x86_avx_ptestz_256; // "86.avx.ptestz.256" + } + break; + case 'r': // 1 string to match. + if (memcmp(NameR.data()+8, "cp.ps.256", 9)) + break; + return Intrinsic::x86_avx_rcp_ps_256; // "86.avx.rcp.ps.256" + case 'v': // 1 string to match. + if (memcmp(NameR.data()+8, "zeroupper", 9)) + break; + return Intrinsic::x86_avx_vzeroupper; // "86.avx.vzeroupper" + } + break; + case '5': // 6 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'k': // 2 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "ndn.w", 5)) + break; + return Intrinsic::x86_avx512_kandn_w; // "86.avx512.kandn.w" + case 'x': // 1 string to match. + if (memcmp(NameR.data()+12, "nor.w", 5)) + break; + return Intrinsic::x86_avx512_kxnor_w; // "86.avx512.kxnor.w" + } + break; + case 'p': // 2 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+13, "l.dq", 4)) + break; + return Intrinsic::x86_avx512_psll_dq; // "86.avx512.psll.dq" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+13, "l.dq", 4)) + break; + return Intrinsic::x86_avx512_psrl_dq; // "86.avx512.psrl.dq" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "qrt.s", 5)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_sqrt_sd; // "86.avx512.sqrt.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_sqrt_ss; // "86.avx512.sqrt.ss" + } + break; + } + break; + } + break; + case 'f': // 8 strings to match. + if (memcmp(NameR.data()+4, "ma.vfnm", 7)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+12, "dd.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_pd; // "86.fma.vfnmadd.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_ps; // "86.fma.vfnmadd.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_sd; // "86.fma.vfnmadd.sd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_ss; // "86.fma.vfnmadd.ss" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+12, "ub.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_pd; // "86.fma.vfnmsub.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_ps; // "86.fma.vfnmsub.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_sd; // "86.fma.vfnmsub.sd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_ss; // "86.fma.vfnmsub.ss" + } + break; + } + break; + } + break; + case 's': // 50 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 48 strings to match. + switch (NameR[6]) { + default: break; + case '.': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'c': // 3 strings to match. + switch (NameR[8]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+9, "mineq.ss", 8)) + break; + return Intrinsic::x86_sse_comineq_ss; // "86.sse.comineq.ss" + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+9, "ts", 2)) + break; + switch (NameR[11]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+12, "642ss", 5)) + break; + return Intrinsic::x86_sse_cvtsi642ss; // "86.sse.cvtsi642ss" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "2si64", 5)) + break; + return Intrinsic::x86_sse_cvtss2si64; // "86.sse.cvtss2si64" + } + break; + } + break; + case 'u': // 5 strings to match. + if (memcmp(NameR.data()+8, "comi", 4)) + break; + switch (NameR[12]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, "q.ss", 4)) + break; + return Intrinsic::x86_sse_ucomieq_ss; // "86.sse.ucomieq.ss" + case 'g': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, ".ss", 3)) + break; + return Intrinsic::x86_sse_ucomige_ss; // "86.sse.ucomige.ss" + case 't': // 1 string to match. + if (memcmp(NameR.data()+14, ".ss", 3)) + break; + return Intrinsic::x86_sse_ucomigt_ss; // "86.sse.ucomigt.ss" + } + break; + case 'l': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, ".ss", 3)) + break; + return Intrinsic::x86_sse_ucomile_ss; // "86.sse.ucomile.ss" + case 't': // 1 string to match. + if (memcmp(NameR.data()+14, ".ss", 3)) + break; + return Intrinsic::x86_sse_ucomilt_ss; // "86.sse.ucomilt.ss" + } + break; + } + break; + } + break; + case '2': // 12 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'c': // 8 strings to match. + switch (NameR[9]) { + default: break; + case 'o': // 5 strings to match. + if (memcmp(NameR.data()+10, "mi", 2)) + break; + switch (NameR[12]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, "q.sd", 4)) + break; + return Intrinsic::x86_sse2_comieq_sd; // "86.sse2.comieq.sd" + case 'g': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, ".sd", 3)) + break; + return Intrinsic::x86_sse2_comige_sd; // "86.sse2.comige.sd" + case 't': // 1 string to match. + if (memcmp(NameR.data()+14, ".sd", 3)) + break; + return Intrinsic::x86_sse2_comigt_sd; // "86.sse2.comigt.sd" + } + break; + case 'l': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, ".sd", 3)) + break; + return Intrinsic::x86_sse2_comile_sd; // "86.sse2.comile.sd" + case 't': // 1 string to match. + if (memcmp(NameR.data()+14, ".sd", 3)) + break; + return Intrinsic::x86_sse2_comilt_sd; // "86.sse2.comilt.sd" + } + break; + } + break; + case 'v': // 3 strings to match. + if (memcmp(NameR.data()+10, "tt", 2)) + break; + switch (NameR[12]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, "2dq", 3)) + break; + return Intrinsic::x86_sse2_cvttpd2dq; // "86.sse2.cvttpd2dq" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, "2dq", 3)) + break; + return Intrinsic::x86_sse2_cvttps2dq; // "86.sse2.cvttps2dq" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "d2si", 4)) + break; + return Intrinsic::x86_sse2_cvttsd2si; // "86.sse2.cvttsd2si" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+9, "ovmsk.pd", 8)) + break; + return Intrinsic::x86_sse2_movmsk_pd; // "86.sse2.movmsk.pd" + case 's': // 3 strings to match. + if (memcmp(NameR.data()+9, "tore", 4)) + break; + switch (NameR[13]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+14, ".dq", 3)) + break; + return Intrinsic::x86_sse2_storel_dq; // "86.sse2.storel.dq" + case 'u': // 2 strings to match. + if (NameR[14] != '.') + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::x86_sse2_storeu_dq; // "86.sse2.storeu.dq" + case 'p': // 1 string to match. + if (NameR[16] != 'd') + break; + return Intrinsic::x86_sse2_storeu_pd; // "86.sse2.storeu.pd" + } + break; + } + break; + } + break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+7, ".addsub.p", 9)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_addsub_pd; // "86.sse3.addsub.pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_addsub_ps; // "86.sse3.addsub.ps" + } + break; + case '4': // 26 strings to match. + switch (NameR[7]) { + default: break; + case '1': // 23 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+10, "lendvp", 6)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_blendvpd; // "86.sse41.blendvpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_blendvps; // "86.sse41.blendvps" + } + break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+10, "nsertps", 7)) + break; + return Intrinsic::x86_sse41_insertps; // "86.sse41.insertps" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, "ovntdqa", 7)) + break; + return Intrinsic::x86_sse41_movntdqa; // "86.sse41.movntdqa" + case 'p': // 15 strings to match. + switch (NameR[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+11, "ckusdw", 6)) + break; + return Intrinsic::x86_sse41_packusdw; // "86.sse41.packusdw" + case 'b': // 1 string to match. + if (memcmp(NameR.data()+11, "lendvb", 6)) + break; + return Intrinsic::x86_sse41_pblendvb; // "86.sse41.pblendvb" + case 'm': // 12 strings to match. + if (memcmp(NameR.data()+11, "ov", 2)) + break; + switch (NameR[13]) { + default: break; + case 's': // 6 strings to match. + if (NameR[14] != 'x') + break; + switch (NameR[15]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmovsxbd; // "86.sse41.pmovsxbd" + case 'q': // 1 string to match. + return Intrinsic::x86_sse41_pmovsxbq; // "86.sse41.pmovsxbq" + case 'w': // 1 string to match. + return Intrinsic::x86_sse41_pmovsxbw; // "86.sse41.pmovsxbw" + } + break; + case 'd': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::x86_sse41_pmovsxdq; // "86.sse41.pmovsxdq" + case 'w': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmovsxwd; // "86.sse41.pmovsxwd" + case 'q': // 1 string to match. + return Intrinsic::x86_sse41_pmovsxwq; // "86.sse41.pmovsxwq" + } + break; + } + break; + case 'z': // 6 strings to match. + if (NameR[14] != 'x') + break; + switch (NameR[15]) { + default: break; + case 'b': // 3 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmovzxbd; // "86.sse41.pmovzxbd" + case 'q': // 1 string to match. + return Intrinsic::x86_sse41_pmovzxbq; // "86.sse41.pmovzxbq" + case 'w': // 1 string to match. + return Intrinsic::x86_sse41_pmovzxbw; // "86.sse41.pmovzxbw" + } + break; + case 'd': // 1 string to match. + if (NameR[16] != 'q') + break; + return Intrinsic::x86_sse41_pmovzxdq; // "86.sse41.pmovzxdq" + case 'w': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_pmovzxwd; // "86.sse41.pmovzxwd" + case 'q': // 1 string to match. + return Intrinsic::x86_sse41_pmovzxwq; // "86.sse41.pmovzxwq" + } + break; + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(NameR.data()+11, "estnzc", 6)) + break; + return Intrinsic::x86_sse41_ptestnzc; // "86.sse41.ptestnzc" + } + break; + case 'r': // 4 strings to match. + if (memcmp(NameR.data()+10, "ound.", 5)) + break; + switch (NameR[15]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_round_pd; // "86.sse41.round.pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_round_ps; // "86.sse41.round.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_round_sd; // "86.sse41.round.sd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_round_ss; // "86.sse41.round.ss" + } + break; + } + break; + } + break; + case 'a': // 3 strings to match. + if (NameR[8] != '.') + break; + switch (NameR[9]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+10, "nsertqi", 7)) + break; + return Intrinsic::x86_sse4a_insertqi; // "86.sse4a.insertqi" + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+10, "ovnt.s", 6)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse4a_movnt_sd; // "86.sse4a.movnt.sd" + case 's': // 1 string to match. + return Intrinsic::x86_sse4a_movnt_ss; // "86.sse4a.movnt.ss" + } + break; + } + break; + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+6, "e3.ph", 5)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "dd.sw", 5)) + break; + return Intrinsic::x86_ssse3_phadd_sw; // "86.ssse3.phadd.sw" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "ub.sw", 5)) + break; + return Intrinsic::x86_ssse3_phsub_sw; // "86.ssse3.phsub.sw" + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+4, "bm.bextri.u", 11)) + break; + switch (NameR[15]) { + default: break; + case '3': // 1 string to match. + if (NameR[16] != '2') + break; + return Intrinsic::x86_tbm_bextri_u32; // "86.tbm.bextri.u32" + case '6': // 1 string to match. + if (NameR[16] != '4') + break; + return Intrinsic::x86_tbm_bextri_u64; // "86.tbm.bextri.u64" + } + break; + case 'x': // 6 strings to match. + if (memcmp(NameR.data()+4, "op.vp", 5)) + break; + switch (NameR[9]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+10, "mov.256", 7)) + break; + return Intrinsic::x86_xop_vpcmov_256; // "86.xop.vpcmov.256" + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+10, "rmil2p", 6)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpermil2pd; // "86.xop.vpermil2pd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vpermil2ps; // "86.xop.vpermil2ps" + } + break; + case 'm': // 3 strings to match. + if (NameR[10] != 'a') + break; + switch (NameR[11]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+12, "ssdq", 4)) + break; + switch (NameR[16]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::x86_xop_vpmacssdqh; // "86.xop.vpmacssdqh" + case 'l': // 1 string to match. + return Intrinsic::x86_xop_vpmacssdql; // "86.xop.vpmacssdql" + } + break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+12, "csswd", 5)) + break; + return Intrinsic::x86_xop_vpmadcsswd; // "86.xop.vpmadcsswd" + } + break; + } + break; + } + break; + case 18: // 45 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 32 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 10 strings to match. + switch (NameR[7]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+9, "dd.p", 4)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_hadd_pd_256; // "86.avx.hadd.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_hadd_ps_256; // "86.avx.hadd.ps.256" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+9, "ub.p", 4)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_hsub_pd_256; // "86.avx.hsub.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_hsub_ps_256; // "86.avx.hsub.ps.256" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+8, "askload.p", 9)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_maskload_pd; // "86.avx.maskload.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_maskload_ps; // "86.avx.maskload.ps" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+8, "qrt.p", 5)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_sqrt_pd_256; // "86.avx.sqrt.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, ".256", 4)) + break; + return Intrinsic::x86_avx_sqrt_ps_256; // "86.avx.sqrt.ps.256" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+8, "testnzc.p", 9)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestnzc_pd; // "86.avx.vtestnzc.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestnzc_ps; // "86.avx.vtestnzc.ps" + } + break; + } + break; + case '2': // 10 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+9, "ather.", 6)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_d; // "86.avx2.gather.d.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_q; // "86.avx2.gather.d.q" + } + break; + case 'q': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_d; // "86.avx2.gather.q.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_q; // "86.avx2.gather.q.q" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+9, "askload.", 8)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_maskload_d; // "86.avx2.maskload.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_maskload_q; // "86.avx2.maskload.q" + } + break; + case 'p': // 3 strings to match. + switch (NameR[9]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, "ul.hr.sw", 8)) + break; + return Intrinsic::x86_avx2_pmul_hr_sw; // "86.avx2.pmul.hr.sw" + case 's': // 2 strings to match. + switch (NameR[10]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+11, "l.dq.bs", 7)) + break; + return Intrinsic::x86_avx2_psll_dq_bs; // "86.avx2.psll.dq.bs" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+11, "l.dq.bs", 7)) + break; + return Intrinsic::x86_avx2_psrl_dq_bs; // "86.avx2.psrl.dq.bs" + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+9, "perm2i128", 9)) + break; + return Intrinsic::x86_avx2_vperm2i128; // "86.avx2.vperm2i128" + } + break; + case '5': // 12 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ovntdqa", 7)) + break; + return Intrinsic::x86_avx512_movntdqa; // "86.avx512.movntdqa" + case 'p': // 5 strings to match. + if (memcmp(NameR.data()+11, "movzx", 5)) + break; + switch (NameR[16]) { + default: break; + case 'b': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_pmovzxbd; // "86.avx512.pmovzxbd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx512_pmovzxbq; // "86.avx512.pmovzxbq" + } + break; + case 'd': // 1 string to match. + if (NameR[17] != 'q') + break; + return Intrinsic::x86_avx512_pmovzxdq; // "86.avx512.pmovzxdq" + case 'w': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_pmovzxwd; // "86.avx512.pmovzxwd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx512_pmovzxwq; // "86.avx512.pmovzxwq" + } + break; + } + break; + case 'r': // 6 strings to match. + if (memcmp(NameR.data()+11, "cp", 2)) + break; + switch (NameR[13]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+14, "4.s", 3)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rcp14_sd; // "86.avx512.rcp14.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rcp14_ss; // "86.avx512.rcp14.ss" + } + break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+14, "8.", 2)) + break; + switch (NameR[16]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rcp28_pd; // "86.avx512.rcp28.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rcp28_ps; // "86.avx512.rcp28.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rcp28_sd; // "86.avx512.rcp28.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rcp28_ss; // "86.avx512.rcp28.ss" + } + break; + } + break; + } + break; + } + break; + } + break; + case 's': // 13 strings to match. + if (memcmp(NameR.data()+4, "se", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 2 strings to match. + switch (NameR[7]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+8, "vttss2si64", 10)) + break; + return Intrinsic::x86_sse_cvttss2si64; // "86.sse.cvttss2si64" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+8, "comineq.ss", 10)) + break; + return Intrinsic::x86_sse_ucomineq_ss; // "86.sse.ucomineq.ss" + } + break; + case '2': // 10 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'c': // 3 strings to match. + switch (NameR[9]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(NameR.data()+10, "mineq.sd", 8)) + break; + return Intrinsic::x86_sse2_comineq_sd; // "86.sse2.comineq.sd" + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+10, "ts", 2)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "2si64", 5)) + break; + return Intrinsic::x86_sse2_cvtsd2si64; // "86.sse2.cvtsd2si64" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+13, "642sd", 5)) + break; + return Intrinsic::x86_sse2_cvtsi642sd; // "86.sse2.cvtsi642sd" + } + break; + } + break; + case 'p': // 2 strings to match. + if (NameR[9] != 's') + break; + switch (NameR[10]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+11, "l.dq.bs", 7)) + break; + return Intrinsic::x86_sse2_psll_dq_bs; // "86.sse2.psll.dq.bs" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+11, "l.dq.bs", 7)) + break; + return Intrinsic::x86_sse2_psrl_dq_bs; // "86.sse2.psrl.dq.bs" + } + break; + case 'u': // 5 strings to match. + if (memcmp(NameR.data()+9, "comi", 4)) + break; + switch (NameR[13]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+14, "q.sd", 4)) + break; + return Intrinsic::x86_sse2_ucomieq_sd; // "86.sse2.ucomieq.sd" + case 'g': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, ".sd", 3)) + break; + return Intrinsic::x86_sse2_ucomige_sd; // "86.sse2.ucomige.sd" + case 't': // 1 string to match. + if (memcmp(NameR.data()+15, ".sd", 3)) + break; + return Intrinsic::x86_sse2_ucomigt_sd; // "86.sse2.ucomigt.sd" + } + break; + case 'l': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+15, ".sd", 3)) + break; + return Intrinsic::x86_sse2_ucomile_sd; // "86.sse2.ucomile.sd" + case 't': // 1 string to match. + if (memcmp(NameR.data()+15, ".sd", 3)) + break; + return Intrinsic::x86_sse2_ucomilt_sd; // "86.sse2.ucomilt.sd" + } + break; + } + break; + } + break; + case '4': // 1 string to match. + if (memcmp(NameR.data()+7, "1.extractps", 11)) + break; + return Intrinsic::x86_sse41_extractps; // "86.sse41.extractps" + } + break; + } + break; + case 19: // 45 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 30 strings to match. + switch (NameR[4]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+5, "sni.aes", 7)) + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "eclast", 6)) + break; + return Intrinsic::x86_aesni_aesdeclast; // "86.aesni.aesdeclast" + case 'e': // 1 string to match. + if (memcmp(NameR.data()+13, "nclast", 6)) + break; + return Intrinsic::x86_aesni_aesenclast; // "86.aesni.aesenclast" + } + break; + case 'v': // 28 strings to match. + if (NameR[5] != 'x') + break; + switch (NameR[6]) { + default: break; + case '.': // 8 strings to match. + switch (NameR[7]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+8, "lend.p", 6)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx_blend_pd_256; // "86.avx.blend.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx_blend_ps_256; // "86.avx.blend.ps.256" + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+8, "askstore.p", 10)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_maskstore_pd; // "86.avx.maskstore.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_maskstore_ps; // "86.avx.maskstore.ps" + } + break; + case 'p': // 1 string to match. + if (memcmp(NameR.data()+8, "testnzc.256", 11)) + break; + return Intrinsic::x86_avx_ptestnzc_256; // "86.avx.ptestnzc.256" + case 'r': // 3 strings to match. + switch (NameR[8]) { + default: break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+9, "und.p", 5)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx_round_pd_256; // "86.avx.round.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx_round_ps_256; // "86.avx.round.ps.256" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+9, "qrt.ps.256", 10)) + break; + return Intrinsic::x86_avx_rsqrt_ps_256; // "86.avx.rsqrt.ps.256" + } + break; + } + break; + case '2': // 15 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+9, "ather.", 6)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+16, ".p", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_pd; // "86.avx2.gather.d.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_ps; // "86.avx2.gather.d.ps" + } + break; + case 'q': // 2 strings to match. + if (memcmp(NameR.data()+16, ".p", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_pd; // "86.avx2.gather.q.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_ps; // "86.avx2.gather.q.ps" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+9, "askstore.", 9)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_maskstore_d; // "86.avx2.maskstore.d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_maskstore_q; // "86.avx2.maskstore.q" + } + break; + case 'p': // 8 strings to match. + switch (NameR[9]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+10, "lendd.", 6)) + break; + switch (NameR[16]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+17, "28", 2)) + break; + return Intrinsic::x86_avx2_pblendd_128; // "86.avx2.pblendd.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+17, "56", 2)) + break; + return Intrinsic::x86_avx2_pblendd_256; // "86.avx2.pblendd.256" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, "add.ub.sw", 9)) + break; + return Intrinsic::x86_avx2_pmadd_ub_sw; // "86.avx2.pmadd.ub.sw" + case 's': // 5 strings to match. + switch (NameR[10]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+11, "lv.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx2_psllv_d_256; // "86.avx2.psllv.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx2_psllv_q_256; // "86.avx2.psllv.q.256" + } + break; + case 'r': // 3 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "v.d.256", 7)) + break; + return Intrinsic::x86_avx2_psrav_d_256; // "86.avx2.psrav.d.256" + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+12, "v.", 2)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx2_psrlv_d_256; // "86.avx2.psrlv.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_avx2_psrlv_q_256; // "86.avx2.psrlv.q.256" + } + break; + } + break; + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+9, "inserti128", 10)) + break; + return Intrinsic::x86_avx2_vinserti128; // "86.avx2.vinserti128" + } + break; + case '5': // 5 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+11, "vt", 2)) + break; + switch (NameR[13]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvtsd2usi; // "86.avx512.cvtsd2usi" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvtss2usi; // "86.avx512.cvtss2usi" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+14, "si2s", 4)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi2sd; // "86.avx512.cvtusi2sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi2ss; // "86.avx512.cvtusi2ss" + } + break; + } + break; + case 'k': // 1 string to match. + if (memcmp(NameR.data()+11, "unpck.bw", 8)) + break; + return Intrinsic::x86_avx512_kunpck_bw; // "86.avx512.kunpck.bw" + } + break; + } + break; + } + break; + case 'f': // 4 strings to match. + if (memcmp(NameR.data()+4, "ma.vfm", 6)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+11, "ddsub.p", 7)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmaddsub_pd; // "86.fma.vfmaddsub.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmaddsub_ps; // "86.fma.vfmaddsub.ps" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "ubadd.p", 7)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsubadd_pd; // "86.fma.vfmsubadd.pd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsubadd_ps; // "86.fma.vfmsubadd.ps" + } + break; + } + break; + case 's': // 9 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 5 strings to match. + switch (NameR[6]) { + default: break; + case '2': // 3 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+9, "vttsd2si64", 10)) + break; + return Intrinsic::x86_sse2_cvttsd2si64; // "86.sse2.cvttsd2si64" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+9, "askmov.dqu", 10)) + break; + return Intrinsic::x86_sse2_maskmov_dqu; // "86.sse2.maskmov.dqu" + case 'u': // 1 string to match. + if (memcmp(NameR.data()+9, "comineq.sd", 10)) + break; + return Intrinsic::x86_sse2_ucomineq_sd; // "86.sse2.ucomineq.sd" + } + break; + case '4': // 2 strings to match. + switch (NameR[7]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+8, ".phminposuw", 11)) + break; + return Intrinsic::x86_sse41_phminposuw; // "86.sse41.phminposuw" + case '2': // 1 string to match. + if (memcmp(NameR.data()+8, ".crc32.32.8", 11)) + break; + return Intrinsic::x86_sse42_crc32_32_8; // "86.sse42.crc32.32.8" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+6, "e3.p", 4)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+11, "bs.", 3)) + break; + switch (NameR[14]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+15, ".128", 4)) + break; + return Intrinsic::x86_ssse3_pabs_b_128; // "86.ssse3.pabs.b.128" + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".128", 4)) + break; + return Intrinsic::x86_ssse3_pabs_d_128; // "86.ssse3.pabs.d.128" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, ".128", 4)) + break; + return Intrinsic::x86_ssse3_pabs_w_128; // "86.ssse3.pabs.w.128" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "ul.hr.sw", 8)) + break; + return Intrinsic::x86_ssse3_pmul_hr_sw; // "86.ssse3.pmul.hr.sw" + } + break; + } + break; + case 'x': // 2 strings to match. + if (memcmp(NameR.data()+4, "op.vfrcz.p", 10)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_xop_vfrcz_pd_256; // "86.xop.vfrcz.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, ".256", 4)) + break; + return Intrinsic::x86_xop_vfrcz_ps_256; // "86.xop.vfrcz.ps.256" + } + break; + } + break; + case 20: // 56 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 32 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 19 strings to match. + switch (NameR[7]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+8, "ddsub.p", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_addsub_pd_256; // "86.avx.addsub.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_addsub_ps_256; // "86.avx.addsub.ps.256" + } + break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+8, "lendv.p", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_blendv_pd_256; // "86.avx.blendv.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_blendv_ps_256; // "86.avx.blendv.ps.256" + } + break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+8, "vt", 2)) + break; + switch (NameR[10]) { + default: break; + case '.': // 2 strings to match. + if (NameR[11] != 'p') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "2dq.256", 7)) + break; + return Intrinsic::x86_avx_cvt_pd2dq_256; // "86.avx.cvt.pd2dq.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "2dq.256", 7)) + break; + return Intrinsic::x86_avx_cvt_ps2dq_256; // "86.avx.cvt.ps2dq.256" + } + break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+11, "q2.p", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_cvtdq2_pd_256; // "86.avx.cvtdq2.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_cvtdq2_ps_256; // "86.avx.cvtdq2.ps.256" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+8, "ovmsk.p", 7)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_movmsk_pd_256; // "86.avx.movmsk.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_movmsk_ps_256; // "86.avx.movmsk.ps.256" + } + break; + case 's': // 3 strings to match. + if (memcmp(NameR.data()+8, "toreu.", 6)) + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, "q.256", 5)) + break; + return Intrinsic::x86_avx_storeu_dq_256; // "86.avx.storeu.dq.256" + case 'p': // 2 strings to match. + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_storeu_pd_256; // "86.avx.storeu.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_storeu_ps_256; // "86.avx.storeu.ps.256" + } + break; + } + break; + case 'v': // 6 strings to match. + switch (NameR[8]) { + default: break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+9, "ermilvar.p", 10)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vpermilvar_pd; // "86.avx.vpermilvar.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vpermilvar_ps; // "86.avx.vpermilvar.ps" + } + break; + case 't': // 4 strings to match. + if (memcmp(NameR.data()+9, "est", 3)) + break; + switch (NameR[12]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+13, ".p", 2)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestc_pd_256; // "86.avx.vtestc.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestc_ps_256; // "86.avx.vtestc.ps.256" + } + break; + case 'z': // 2 strings to match. + if (memcmp(NameR.data()+13, ".p", 2)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestz_pd_256; // "86.avx.vtestz.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestz_ps_256; // "86.avx.vtestz.ps.256" + } + break; + } + break; + } + break; + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+7, ".vextracti128", 13)) + break; + return Intrinsic::x86_avx2_vextracti128; // "86.avx2.vextracti128" + case '5': // 12 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "vtts", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvttsd2usi; // "86.avx512.cvttsd2usi" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvttss2usi; // "86.avx512.cvttss2usi" + } + break; + case 'k': // 2 strings to match. + if (memcmp(NameR.data()+11, "ortest", 6)) + break; + switch (NameR[17]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(NameR.data()+18, ".w", 2)) + break; + return Intrinsic::x86_avx512_kortestc_w; // "86.avx512.kortestc.w" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+18, ".w", 2)) + break; + return Intrinsic::x86_avx512_kortestz_w; // "86.avx512.kortestz.w" + } + break; + case 'p': // 2 strings to match. + if (NameR[11] != 's') + break; + switch (NameR[12]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(NameR.data()+13, "l.dq.bs", 7)) + break; + return Intrinsic::x86_avx512_psll_dq_bs; // "86.avx512.psll.dq.bs" + case 'r': // 1 string to match. + if (memcmp(NameR.data()+13, "l.dq.bs", 7)) + break; + return Intrinsic::x86_avx512_psrl_dq_bs; // "86.avx512.psrl.dq.bs" + } + break; + case 'r': // 6 strings to match. + if (memcmp(NameR.data()+11, "sqrt", 4)) + break; + switch (NameR[15]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(NameR.data()+16, "4.s", 3)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt14_sd; // "86.avx512.rsqrt14.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt14_ss; // "86.avx512.rsqrt14.ss" + } + break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+16, "8.", 2)) + break; + switch (NameR[18]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt28_pd; // "86.avx512.rsqrt28.pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt28_ps; // "86.avx512.rsqrt28.ps" + } + break; + case 's': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt28_sd; // "86.avx512.rsqrt28.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rsqrt28_ss; // "86.avx512.rsqrt28.ss" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'f': // 8 strings to match. + if (memcmp(NameR.data()+4, "ma.vfm", 6)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+11, "dd.p", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+18, "56", 2)) + break; + return Intrinsic::x86_fma_vfmadd_pd_256; // "86.fma.vfmadd.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+18, "12", 2)) + break; + return Intrinsic::x86_fma_vfmadd_pd_512; // "86.fma.vfmadd.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+18, "56", 2)) + break; + return Intrinsic::x86_fma_vfmadd_ps_256; // "86.fma.vfmadd.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+18, "12", 2)) + break; + return Intrinsic::x86_fma_vfmadd_ps_512; // "86.fma.vfmadd.ps.512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+11, "ub.p", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+18, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsub_pd_256; // "86.fma.vfmsub.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+18, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsub_pd_512; // "86.fma.vfmsub.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+18, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsub_ps_256; // "86.fma.vfmsub.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+18, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsub_ps_512; // "86.fma.vfmsub.ps.512" + } + break; + } + break; + } + break; + case 's': // 16 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 7 strings to match. + switch (NameR[6]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(NameR.data()+7, ".p", 2)) + break; + switch (NameR[9]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(NameR.data()+10, "ck", 2)) + break; + switch (NameR[12]) { + default: break; + case 's': // 2 strings to match. + if (NameR[13] != 's') + break; + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, "w.128", 5)) + break; + return Intrinsic::x86_sse2_packssdw_128; // "86.sse2.packssdw.128" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+15, "b.128", 5)) + break; + return Intrinsic::x86_sse2_packsswb_128; // "86.sse2.packsswb.128" + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+13, "swb.128", 7)) + break; + return Intrinsic::x86_sse2_packuswb_128; // "86.sse2.packuswb.128" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+10, "ovmskb.128", 10)) + break; + return Intrinsic::x86_sse2_pmovmskb_128; // "86.sse2.pmovmskb.128" + } + break; + case '4': // 3 strings to match. + if (memcmp(NameR.data()+7, "2.crc32.", 8)) + break; + switch (NameR[15]) { + default: break; + case '3': // 2 strings to match. + if (memcmp(NameR.data()+16, "2.", 2)) + break; + switch (NameR[18]) { + default: break; + case '1': // 1 string to match. + if (NameR[19] != '6') + break; + return Intrinsic::x86_sse42_crc32_32_16; // "86.sse42.crc32.32.16" + case '3': // 1 string to match. + if (NameR[19] != '2') + break; + return Intrinsic::x86_sse42_crc32_32_32; // "86.sse42.crc32.32.32" + } + break; + case '6': // 1 string to match. + if (memcmp(NameR.data()+16, "4.64", 4)) + break; + return Intrinsic::x86_sse42_crc32_64_64; // "86.sse42.crc32.64.64" + } + break; + } + break; + case 's': // 9 strings to match. + if (memcmp(NameR.data()+6, "e3.p", 4)) + break; + switch (NameR[10]) { + default: break; + case 'h': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+12, "dd.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_phadd_d_128; // "86.ssse3.phadd.d.128" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_phadd_w_128; // "86.ssse3.phadd.w.128" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+12, "ub.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_phsub_d_128; // "86.ssse3.phsub.d.128" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_phsub_w_128; // "86.ssse3.phsub.w.128" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+11, "add.ub.sw", 9)) + break; + return Intrinsic::x86_ssse3_pmadd_ub_sw; // "86.ssse3.pmadd.ub.sw" + case 's': // 4 strings to match. + switch (NameR[11]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+12, "uf.b.128", 8)) + break; + return Intrinsic::x86_ssse3_pshuf_b_128; // "86.ssse3.pshuf.b.128" + case 'i': // 3 strings to match. + if (memcmp(NameR.data()+12, "gn.", 3)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_psign_b_128; // "86.ssse3.psign.b.128" + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_psign_d_128; // "86.ssse3.psign.d.128" + case 'w': // 1 string to match. + if (memcmp(NameR.data()+16, ".128", 4)) + break; + return Intrinsic::x86_ssse3_psign_w_128; // "86.ssse3.psign.w.128" + } + break; + } + break; + } + break; + } + break; + } + break; + case 21: // 28 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 12 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 4 strings to match. + if (memcmp(NameR.data()+7, "cvt", 3)) + break; + switch (NameR[10]) { + default: break; + case '.': // 2 strings to match. + if (NameR[11] != 'p') + break; + switch (NameR[12]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+13, "2.ps.256", 8)) + break; + return Intrinsic::x86_avx_cvt_pd2_ps_256; // "86.avx.cvt.pd2.ps.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+13, "2.pd.256", 8)) + break; + return Intrinsic::x86_avx_cvt_ps2_pd_256; // "86.avx.cvt.ps2.pd.256" + } + break; + case 't': // 2 strings to match. + if (memcmp(NameR.data()+11, ".p", 2)) + break; + switch (NameR[13]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+14, "2dq.256", 7)) + break; + return Intrinsic::x86_avx_cvtt_pd2dq_256; // "86.avx.cvtt.pd2dq.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+14, "2dq.256", 7)) + break; + return Intrinsic::x86_avx_cvtt_ps2dq_256; // "86.avx.cvtt.ps2dq.256" + } + break; + } + break; + case '5': // 8 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(NameR.data()+11, "vt", 2)) + break; + switch (NameR[13]) { + default: break; + case 's': // 2 strings to match. + switch (NameR[14]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+15, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvtsd2usi64; // "86.avx512.cvtsd2usi64" + case 's': // 1 string to match. + if (memcmp(NameR.data()+15, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvtss2usi64; // "86.avx512.cvtss2usi64" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+14, "si642s", 6)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi642sd; // "86.avx512.cvtusi642sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi642ss; // "86.avx512.cvtusi642ss" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+11, "ndscale.s", 9)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rndscale_sd; // "86.avx512.rndscale.sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rndscale_ss; // "86.avx512.rndscale.ss" + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+11, "qrt.p", 5)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+17, ".512", 4)) + break; + return Intrinsic::x86_avx512_sqrt_pd_512; // "86.avx512.sqrt.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, ".512", 4)) + break; + return Intrinsic::x86_avx512_sqrt_ps_512; // "86.avx512.sqrt.ps.512" + } + break; + } + break; + } + break; + case 'f': // 8 strings to match. + if (memcmp(NameR.data()+4, "ma.vfnm", 7)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+12, "dd.p", 4)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+19, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_pd_256; // "86.fma.vfnmadd.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+19, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_pd_512; // "86.fma.vfnmadd.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+19, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_ps_256; // "86.fma.vfnmadd.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+19, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_ps_512; // "86.fma.vfnmadd.ps.512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+12, "ub.p", 4)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+19, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_pd_256; // "86.fma.vfnmsub.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+19, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_pd_512; // "86.fma.vfnmsub.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[17] != '.') + break; + switch (NameR[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+19, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_ps_256; // "86.fma.vfnmsub.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+19, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_ps_512; // "86.fma.vfnmsub.ps.512" + } + break; + } + break; + } + break; + case 's': // 6 strings to match. + if (NameR[4] != 's') + break; + switch (NameR[5]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(NameR.data()+6, "42.pcmp", 7)) + break; + switch (NameR[13]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(NameR.data()+14, "str", 3)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+18, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestri128; // "86.sse42.pcmpestri128" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+18, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestrm128; // "86.sse42.pcmpestrm128" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+14, "str", 3)) + break; + switch (NameR[17]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(NameR.data()+18, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistri128; // "86.sse42.pcmpistri128" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+18, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistrm128; // "86.sse42.pcmpistrm128" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+6, "e3.ph", 5)) + break; + switch (NameR[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+12, "dd.sw.128", 9)) + break; + return Intrinsic::x86_ssse3_phadd_sw_128; // "86.ssse3.phadd.sw.128" + case 's': // 1 string to match. + if (memcmp(NameR.data()+12, "ub.sw.128", 9)) + break; + return Intrinsic::x86_ssse3_phsub_sw_128; // "86.ssse3.phsub.sw.128" + } + break; + } + break; + case 'x': // 2 strings to match. + if (memcmp(NameR.data()+4, "op.vpermil2p", 12)) + break; + switch (NameR[16]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+17, ".256", 4)) + break; + return Intrinsic::x86_xop_vpermil2pd_256; // "86.xop.vpermil2pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+17, ".256", 4)) + break; + return Intrinsic::x86_xop_vpermil2ps_256; // "86.xop.vpermil2ps.256" + } + break; + } + break; + case 22: // 25 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 15 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 4 strings to match. + switch (NameR[7]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+8, "askload.p", 9)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx_maskload_pd_256; // "86.avx.maskload.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx_maskload_ps_256; // "86.avx.maskload.ps.256" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+8, "testnzc.p", 9)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestnzc_pd_256; // "86.avx.vtestnzc.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx_vtestnzc_ps_256; // "86.avx.vtestnzc.ps.256" + } + break; + } + break; + case '2': // 7 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+9, "ather.", 6)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_d_d_256; // "86.avx2.gather.d.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_d_q_256; // "86.avx2.gather.d.q.256" + } + break; + case 'q': // 2 strings to match. + if (NameR[16] != '.') + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_q_d_256; // "86.avx2.gather.q.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_q_q_256; // "86.avx2.gather.q.q.256" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+9, "askload.", 8)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_maskload_d_256; // "86.avx2.maskload.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+18, ".256", 4)) + break; + return Intrinsic::x86_avx2_maskload_q_256; // "86.avx2.maskload.q.256" + } + break; + case 'v': // 1 string to match. + if (memcmp(NameR.data()+9, "broadcasti128", 13)) + break; + return Intrinsic::x86_avx2_vbroadcasti128; // "86.avx2.vbroadcasti128" + } + break; + case '5': // 4 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+11, "vtts", 4)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+16, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvttsd2usi64; // "86.avx512.cvttsd2usi64" + case 's': // 1 string to match. + if (memcmp(NameR.data()+16, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvttss2usi64; // "86.avx512.cvttss2usi64" + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+11, "cp14.p", 6)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+18, ".512", 4)) + break; + return Intrinsic::x86_avx512_rcp14_pd_512; // "86.avx512.rcp14.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+18, ".512", 4)) + break; + return Intrinsic::x86_avx512_rcp14_ps_512; // "86.avx512.rcp14.ps.512" + } + break; + } + break; + } + break; + case 's': // 10 strings to match. + if (memcmp(NameR.data()+4, "se42.pcmp", 9)) + break; + switch (NameR[13]) { + default: break; + case 'e': // 5 strings to match. + if (memcmp(NameR.data()+14, "stri", 4)) + break; + switch (NameR[18]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestria128; // "86.sse42.pcmpestria128" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestric128; // "86.sse42.pcmpestric128" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestrio128; // "86.sse42.pcmpestrio128" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestris128; // "86.sse42.pcmpestris128" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestriz128; // "86.sse42.pcmpestriz128" + } + break; + case 'i': // 5 strings to match. + if (memcmp(NameR.data()+14, "stri", 4)) + break; + switch (NameR[18]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistria128; // "86.sse42.pcmpistria128" + case 'c': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistric128; // "86.sse42.pcmpistric128" + case 'o': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistrio128; // "86.sse42.pcmpistrio128" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistris128; // "86.sse42.pcmpistris128" + case 'z': // 1 string to match. + if (memcmp(NameR.data()+19, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistriz128; // "86.sse42.pcmpistriz128" + } + break; + } + break; + } + break; + case 23: // 25 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 16 strings to match. + if (memcmp(NameR.data()+4, "vx", 2)) + break; + switch (NameR[6]) { + default: break; + case '.': // 2 strings to match. + if (memcmp(NameR.data()+7, "maskstore.p", 11)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx_maskstore_pd_256; // "86.avx.maskstore.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx_maskstore_ps_256; // "86.avx.maskstore.ps.256" + } + break; + case '2': // 14 strings to match. + if (NameR[7] != '.') + break; + switch (NameR[8]) { + default: break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+9, "ather.", 6)) + break; + switch (NameR[15]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+16, ".p", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_d_pd_256; // "86.avx2.gather.d.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_d_ps_256; // "86.avx2.gather.d.ps.256" + } + break; + case 'q': // 2 strings to match. + if (memcmp(NameR.data()+16, ".p", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_q_pd_256; // "86.avx2.gather.q.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_gather_q_ps_256; // "86.avx2.gather.q.ps.256" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+9, "askstore.", 9)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_maskstore_d_256; // "86.avx2.maskstore.d.256" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+19, ".256", 4)) + break; + return Intrinsic::x86_avx2_maskstore_q_256; // "86.avx2.maskstore.q.256" + } + break; + case 'p': // 8 strings to match. + if (memcmp(NameR.data()+9, "broadcast", 9)) + break; + switch (NameR[18]) { + default: break; + case 'b': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+21, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastb_128; // "86.avx2.pbroadcastb.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastb_256; // "86.avx2.pbroadcastb.256" + } + break; + case 'd': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+21, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastd_128; // "86.avx2.pbroadcastd.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastd_256; // "86.avx2.pbroadcastd.256" + } + break; + case 'q': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+21, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastq_128; // "86.avx2.pbroadcastq.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastq_256; // "86.avx2.pbroadcastq.256" + } + break; + case 'w': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(NameR.data()+21, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastw_128; // "86.avx2.pbroadcastw.128" + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastw_256; // "86.avx2.pbroadcastw.256" + } + break; + } + break; + } + break; + } + break; + case 'f': // 8 strings to match. + if (memcmp(NameR.data()+4, "ma.vfm", 6)) + break; + switch (NameR[10]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(NameR.data()+11, "ddsub.p", 7)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_pd_256; // "86.fma.vfmaddsub.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+21, "12", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_pd_512; // "86.fma.vfmaddsub.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_ps_256; // "86.fma.vfmaddsub.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+21, "12", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_ps_512; // "86.fma.vfmaddsub.ps.512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+11, "ubadd.p", 7)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_pd_256; // "86.fma.vfmsubadd.pd.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+21, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_pd_512; // "86.fma.vfmsubadd.pd.512" + } + break; + case 's': // 2 strings to match. + if (NameR[19] != '.') + break; + switch (NameR[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+21, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_ps_256; // "86.fma.vfmsubadd.ps.256" + case '5': // 1 string to match. + if (memcmp(NameR.data()+21, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_ps_512; // "86.fma.vfmsubadd.ps.512" + } + break; + } + break; + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+4, "sse3.pmul.hr.sw.128", 19)) + break; + return Intrinsic::x86_ssse3_pmul_hr_sw_128; // "86.ssse3.pmul.hr.sw.128" + } + break; + case 24: // 18 strings to match. + if (memcmp(NameR.data()+0, "86.", 3)) + break; + switch (NameR[3]) { + default: break; + case 'a': // 17 strings to match. + switch (NameR[4]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(NameR.data()+5, "sni.aeskeygenassist", 19)) + break; + return Intrinsic::x86_aesni_aeskeygenassist; // "86.aesni.aeskeygenassist" + case 'v': // 16 strings to match. + if (NameR[5] != 'x') + break; + switch (NameR[6]) { + default: break; + case '.': // 5 strings to match. + if (memcmp(NameR.data()+7, "vperm", 5)) + break; + switch (NameR[12]) { + default: break; + case '2': // 3 strings to match. + if (memcmp(NameR.data()+13, "f128.", 5)) + break; + switch (NameR[18]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".256", 4)) + break; + return Intrinsic::x86_avx_vperm2f128_pd_256; // "86.avx.vperm2f128.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, ".256", 4)) + break; + return Intrinsic::x86_avx_vperm2f128_ps_256; // "86.avx.vperm2f128.ps.256" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+19, "i.256", 5)) + break; + return Intrinsic::x86_avx_vperm2f128_si_256; // "86.avx.vperm2f128.si.256" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+13, "lvar.p", 6)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".256", 4)) + break; + return Intrinsic::x86_avx_vpermilvar_pd_256; // "86.avx.vpermilvar.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, ".256", 4)) + break; + return Intrinsic::x86_avx_vpermilvar_ps_256; // "86.avx.vpermilvar.ps.256" + } + break; + } + break; + case '2': // 1 string to match. + if (memcmp(NameR.data()+7, ".vbroadcast.ss.ps", 17)) + break; + return Intrinsic::x86_avx2_vbroadcast_ss_ps; // "86.avx2.vbroadcast.ss.ps" + case '5': // 10 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'g': // 8 strings to match. + if (memcmp(NameR.data()+11, "ather.", 6)) + break; + switch (NameR[17]) { + default: break; + case 'd': // 4 strings to match. + if (NameR[18] != 'p') + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_dpd_512; // "86.avx512.gather.dpd.512" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_dpi_512; // "86.avx512.gather.dpi.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_dpq_512; // "86.avx512.gather.dpq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_dps_512; // "86.avx512.gather.dps.512" + } + break; + case 'q': // 4 strings to match. + if (NameR[18] != 'p') + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_qpd_512; // "86.avx512.gather.qpd.512" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_qpi_512; // "86.avx512.gather.qpi.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_qpq_512; // "86.avx512.gather.qpq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_gather_qps_512; // "86.avx512.gather.qps.512" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(NameR.data()+11, "sqrt14.p", 8)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_rsqrt14_pd_512; // "86.avx512.rsqrt14.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, ".512", 4)) + break; + return Intrinsic::x86_avx512_rsqrt14_ps_512; // "86.avx512.rsqrt14.ps.512" + } + break; + } + break; + } + break; + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+4, "sse3.pmadd.ub.sw.128", 20)) + break; + return Intrinsic::x86_ssse3_pmadd_ub_sw_128; // "86.ssse3.pmadd.ub.sw.128" + } + break; + case 25: // 23 strings to match. + if (memcmp(NameR.data()+0, "86.avx", 6)) + break; + switch (NameR[6]) { + default: break; + case '.': // 3 strings to match. + if (memcmp(NameR.data()+7, "vinsertf128.", 12)) + break; + switch (NameR[19]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".256", 4)) + break; + return Intrinsic::x86_avx_vinsertf128_pd_256; // "86.avx.vinsertf128.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".256", 4)) + break; + return Intrinsic::x86_avx_vinsertf128_ps_256; // "86.avx.vinsertf128.ps.256" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "i.256", 5)) + break; + return Intrinsic::x86_avx_vinsertf128_si_256; // "86.avx.vinsertf128.si.256" + } + break; + case '5': // 20 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 10 strings to match. + if (memcmp(NameR.data()+11, "ask.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+16, "mp.p", 4)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cmp_pd_512; // "86.avx512.mask.cmp.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cmp_ps_512; // "86.avx512.mask.cmp.ps.512" + } + break; + case 'm': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(NameR.data()+17, "x.p", 3)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_max_pd_512; // "86.avx512.mask.max.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_max_ps_512; // "86.avx512.mask.max.ps.512" + } + break; + case 'i': // 2 strings to match. + if (memcmp(NameR.data()+17, "n.p", 3)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_min_pd_512; // "86.avx512.mask.min.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_min_ps_512; // "86.avx512.mask.min.ps.512" + } + break; + } + break; + case 'p': // 4 strings to match. + if (NameR[16] != 'a') + break; + switch (NameR[17]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+18, "s.", 2)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pabs_d_512; // "86.avx512.mask.pabs.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pabs_q_512; // "86.avx512.mask.pabs.q.512" + } + break; + case 'n': // 2 strings to match. + if (memcmp(NameR.data()+18, "d.", 2)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pand_d_512; // "86.avx512.mask.pand.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pand_q_512; // "86.avx512.mask.pand.q.512" + } + break; + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+11, "broadcast", 9)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_pbroadcastd_512; // "86.avx512.pbroadcastd.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_pbroadcastq_512; // "86.avx512.pbroadcastq.512" + } + break; + case 's': // 8 strings to match. + if (memcmp(NameR.data()+11, "catter.", 7)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 4 strings to match. + if (NameR[19] != 'p') + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_dpd_512; // "86.avx512.scatter.dpd.512" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_dpi_512; // "86.avx512.scatter.dpi.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_dpq_512; // "86.avx512.scatter.dpq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_dps_512; // "86.avx512.scatter.dps.512" + } + break; + case 'q': // 4 strings to match. + if (NameR[19] != 'p') + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_qpd_512; // "86.avx512.scatter.qpd.512" + case 'i': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_qpi_512; // "86.avx512.scatter.qpi.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_qpq_512; // "86.avx512.scatter.qpq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatter_qps_512; // "86.avx512.scatter.qps.512" + } + break; + } + break; + } + break; + } + break; + case 26: // 22 strings to match. + if (memcmp(NameR.data()+0, "86.avx", 6)) + break; + switch (NameR[6]) { + default: break; + case '.': // 3 strings to match. + if (memcmp(NameR.data()+7, "vextractf128.", 13)) + break; + switch (NameR[20]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".256", 4)) + break; + return Intrinsic::x86_avx_vextractf128_pd_256; // "86.avx.vextractf128.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+22, ".256", 4)) + break; + return Intrinsic::x86_avx_vextractf128_ps_256; // "86.avx.vextractf128.ps.256" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, "i.256", 5)) + break; + return Intrinsic::x86_avx_vextractf128_si_256; // "86.avx.vextractf128.si.256" + } + break; + case '5': // 19 strings to match. + if (memcmp(NameR.data()+7, "12.", 3)) + break; + switch (NameR[10]) { + default: break; + case 'g': // 4 strings to match. + if (memcmp(NameR.data()+11, "atherpf.", 8)) + break; + switch (NameR[19]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[20] != 'p') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_gatherpf_dpd_512; // "86.avx512.gatherpf.dpd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_gatherpf_dps_512; // "86.avx512.gatherpf.dps.512" + } + break; + case 'q': // 2 strings to match. + if (NameR[20] != 'p') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_gatherpf_qpd_512; // "86.avx512.gatherpf.qpd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_gatherpf_qps_512; // "86.avx512.gatherpf.qps.512" + } + break; + } + break; + case 'm': // 15 strings to match. + if (memcmp(NameR.data()+11, "ask.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+16, "lend.", 5)) + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_blend_d_512; // "86.avx512.mask.blend.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_blend_q_512; // "86.avx512.mask.blend.q.512" + } + break; + case 'l': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+17, "adu.", 4)) + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_loadu_d_512; // "86.avx512.mask.loadu.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_loadu_q_512; // "86.avx512.mask.loadu.q.512" + } + break; + case 'z': // 2 strings to match. + if (memcmp(NameR.data()+17, "cnt.", 4)) + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_lzcnt_d_512; // "86.avx512.mask.lzcnt.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_lzcnt_q_512; // "86.avx512.mask.lzcnt.q.512" + } + break; + } + break; + case 'p': // 9 strings to match. + if (NameR[16] != 'm') + break; + switch (NameR[17]) { + default: break; + case 'a': // 4 strings to match. + if (NameR[18] != 'x') + break; + switch (NameR[19]) { + default: break; + case 's': // 2 strings to match. + if (NameR[20] != '.') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmaxs_d_512; // "86.avx512.mask.pmaxs.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmaxs_q_512; // "86.avx512.mask.pmaxs.q.512" + } + break; + case 'u': // 2 strings to match. + if (NameR[20] != '.') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmaxu_d_512; // "86.avx512.mask.pmaxu.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmaxu_q_512; // "86.avx512.mask.pmaxu.q.512" + } + break; + } + break; + case 'i': // 4 strings to match. + if (NameR[18] != 'n') + break; + switch (NameR[19]) { + default: break; + case 's': // 2 strings to match. + if (NameR[20] != '.') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmins_d_512; // "86.avx512.mask.pmins.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pmins_q_512; // "86.avx512.mask.pmins.q.512" + } + break; + case 'u': // 2 strings to match. + if (NameR[20] != '.') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pminu_d_512; // "86.avx512.mask.pminu.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+22, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pminu_q_512; // "86.avx512.mask.pminu.q.512" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(NameR.data()+18, "l.dq.512", 8)) + break; + return Intrinsic::x86_avx512_mask_pmul_dq_512; // "86.avx512.mask.pmul.dq.512" + } + break; + } + break; + } + break; + } + break; + case 27: // 24 strings to match. + if (memcmp(NameR.data()+0, "86.avx512.", 10)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 18 strings to match. + if (memcmp(NameR.data()+11, "ask.", 4)) + break; + switch (NameR[15]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(NameR.data()+16, "lend.p", 6)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_blend_pd_512; // "86.avx512.mask.blend.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_blend_ps_512; // "86.avx512.mask.blend.ps.512" + } + break; + case 'c': // 5 strings to match. + if (memcmp(NameR.data()+16, "vt", 2)) + break; + switch (NameR[18]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(NameR.data()+19, "q2p", 3)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cvtdq2pd_512; // "86.avx512.mask.cvtdq2pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cvtdq2ps_512; // "86.avx512.mask.cvtdq2ps.512" + } + break; + case 'p': // 3 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[20] != '2') + break; + switch (NameR[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+22, "q.512", 5)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2dq_512; // "86.avx512.mask.cvtpd2dq.512" + case 'p': // 1 string to match. + if (memcmp(NameR.data()+22, "s.512", 5)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2ps_512; // "86.avx512.mask.cvtpd2ps.512" + } + break; + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "2dq.512", 7)) + break; + return Intrinsic::x86_avx512_mask_cvtps2dq_512; // "86.avx512.mask.cvtps2dq.512" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(NameR.data()+16, "oadu.p", 6)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_loadu_pd_512; // "86.avx512.mask.loadu.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_loadu_ps_512; // "86.avx512.mask.loadu.ps.512" + } + break; + case 'p': // 5 strings to match. + switch (NameR[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+17, "mpeq.", 5)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pcmpeq_d_512; // "86.avx512.mask.pcmpeq.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_pcmpeq_q_512; // "86.avx512.mask.pcmpeq.q.512" + } + break; + case 'm': // 1 string to match. + if (memcmp(NameR.data()+17, "ulu.dq.512", 10)) + break; + return Intrinsic::x86_avx512_mask_pmulu_dq_512; // "86.avx512.mask.pmulu.dq.512" + case 't': // 2 strings to match. + if (memcmp(NameR.data()+17, "estm.", 5)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_ptestm_d_512; // "86.avx512.mask.ptestm.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_ptestm_q_512; // "86.avx512.mask.ptestm.q.512" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "toreu.", 6)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_storeu_d_512; // "86.avx512.mask.storeu.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_storeu_q_512; // "86.avx512.mask.storeu.q.512" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+16, "permt.", 6)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_vpermt_d_512; // "86.avx512.mask.vpermt.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_vpermt_q_512; // "86.avx512.mask.vpermt.q.512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(NameR.data()+11, "catterpf.", 9)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 2 strings to match. + if (NameR[21] != 'p') + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatterpf_dpd_512; // "86.avx512.scatterpf.dpd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatterpf_dps_512; // "86.avx512.scatterpf.dps.512" + } + break; + case 'q': // 2 strings to match. + if (NameR[21] != 'p') + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatterpf_qpd_512; // "86.avx512.scatterpf.qpd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_scatterpf_qps_512; // "86.avx512.scatterpf.qps.512" + } + break; + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "broadcast.s", 11)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_vbroadcast_sd_512; // "86.avx512.vbroadcast.sd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".512", 4)) + break; + return Intrinsic::x86_avx512_vbroadcast_ss_512; // "86.avx512.vbroadcast.ss.512" + } + break; + } + break; + case 28: // 16 strings to match. + if (memcmp(NameR.data()+0, "86.avx", 6)) + break; + switch (NameR[6]) { + default: break; + case '.': // 2 strings to match. + if (memcmp(NameR.data()+7, "vbroadcastf128.p", 16)) + break; + switch (NameR[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+24, ".256", 4)) + break; + return Intrinsic::x86_avx_vbroadcastf128_pd_256; // "86.avx.vbroadcastf128.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, ".256", 4)) + break; + return Intrinsic::x86_avx_vbroadcastf128_ps_256; // "86.avx.vbroadcastf128.ps.256" + } + break; + case '2': // 2 strings to match. + if (memcmp(NameR.data()+7, ".vbroadcast.s", 13)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".pd.256", 7)) + break; + return Intrinsic::x86_avx2_vbroadcast_sd_pd_256; // "86.avx2.vbroadcast.sd.pd.256" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, ".ps.256", 7)) + break; + return Intrinsic::x86_avx2_vbroadcast_ss_ps_256; // "86.avx2.vbroadcast.ss.ps.256" + } + break; + case '5': // 12 strings to match. + if (memcmp(NameR.data()+7, "12.mask.", 8)) + break; + switch (NameR[15]) { + default: break; + case 'c': // 6 strings to match. + if (memcmp(NameR.data()+16, "vt", 2)) + break; + switch (NameR[18]) { + default: break; + case 'p': // 2 strings to match. + switch (NameR[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+20, "2udq.512", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2udq_512; // "86.avx512.mask.cvtpd2udq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+20, "2udq.512", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtps2udq_512; // "86.avx512.mask.cvtps2udq.512" + } + break; + case 't': // 2 strings to match. + if (NameR[19] != 'p') + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, "2dq.512", 7)) + break; + return Intrinsic::x86_avx512_mask_cvttpd2dq_512; // "86.avx512.mask.cvttpd2dq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, "2dq.512", 7)) + break; + return Intrinsic::x86_avx512_mask_cvttps2dq_512; // "86.avx512.mask.cvttps2dq.512" + } + break; + case 'u': // 2 strings to match. + if (memcmp(NameR.data()+19, "dq2p", 4)) + break; + switch (NameR[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cvtudq2pd_512; // "86.avx512.mask.cvtudq2pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_cvtudq2ps_512; // "86.avx512.mask.cvtudq2ps.512" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(NameR.data()+16, "toreu.p", 7)) + break; + switch (NameR[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_storeu_pd_512; // "86.avx512.mask.storeu.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_storeu_ps_512; // "86.avx512.mask.storeu.ps.512" + } + break; + case 'v': // 4 strings to match. + switch (NameR[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(NameR.data()+17, "vtp", 3)) + break; + switch (NameR[20]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(NameR.data()+21, "2ps.512", 7)) + break; + return Intrinsic::x86_avx512_mask_vcvtph2ps_512; // "86.avx512.mask.vcvtph2ps.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, "2ph.512", 7)) + break; + return Intrinsic::x86_avx512_mask_vcvtps2ph_512; // "86.avx512.mask.vcvtps2ph.512" + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+17, "ermt.p", 6)) + break; + switch (NameR[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_vpermt_pd_512; // "86.avx512.mask.vpermt.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+24, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_vpermt_ps_512; // "86.avx512.mask.vpermt.ps.512" + } + break; + } + break; + } + break; + } + break; + case 29: // 6 strings to match. + if (memcmp(NameR.data()+0, "86.avx512.", 10)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(NameR.data()+11, "ask.c", 5)) + break; + switch (NameR[16]) { + default: break; + case 'o': // 2 strings to match. + if (memcmp(NameR.data()+17, "nflict.", 7)) + break; + switch (NameR[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+25, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_conflict_d_512; // "86.avx512.mask.conflict.d.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+25, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_conflict_q_512; // "86.avx512.mask.conflict.q.512" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+17, "ttp", 3)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, "2udq.512", 8)) + break; + return Intrinsic::x86_avx512_mask_cvttpd2udq_512; // "86.avx512.mask.cvttpd2udq.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+21, "2udq.512", 8)) + break; + return Intrinsic::x86_avx512_mask_cvttps2udq_512; // "86.avx512.mask.cvttps2udq.512" + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(NameR.data()+11, "broadcast", 9)) + break; + switch (NameR[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+21, ".i32.512", 8)) + break; + return Intrinsic::x86_avx512_pbroadcastd_i32_512; // "86.avx512.pbroadcastd.i32.512" + case 'q': // 1 string to match. + if (memcmp(NameR.data()+21, ".i64.512", 8)) + break; + return Intrinsic::x86_avx512_pbroadcastq_i64_512; // "86.avx512.pbroadcastq.i64.512" + } + break; + } + break; + case 30: // 4 strings to match. + if (memcmp(NameR.data()+0, "86.avx512.", 10)) + break; + switch (NameR[10]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(NameR.data()+11, "ask.rndscale.p", 14)) + break; + switch (NameR[25]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+26, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_rndscale_pd_512; // "86.avx512.mask.rndscale.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+26, ".512", 4)) + break; + return Intrinsic::x86_avx512_mask_rndscale_ps_512; // "86.avx512.mask.rndscale.ps.512" + } + break; + case 'v': // 2 strings to match. + if (memcmp(NameR.data()+11, "broadcast.s", 11)) + break; + switch (NameR[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+23, ".pd.512", 7)) + break; + return Intrinsic::x86_avx512_vbroadcast_sd_pd_512; // "86.avx512.vbroadcast.sd.pd.512" + case 's': // 1 string to match. + if (memcmp(NameR.data()+23, ".ps.512", 7)) + break; + return Intrinsic::x86_avx512_vbroadcast_ss_ps_512; // "86.avx512.vbroadcast.ss.ps.512" + } + break; + } + break; + case 35: // 3 strings to match. + if (memcmp(NameR.data()+0, "86.avx512.mask.pbroadcast.", 26)) + break; + switch (NameR[26]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(NameR.data()+27, ".gpr.512", 8)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_d_gpr_512; // "86.avx512.mask.pbroadcast.d.gpr.512" + case 'q': // 2 strings to match. + if (NameR[27] != '.') + break; + switch (NameR[28]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(NameR.data()+29, "pr.512", 6)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_q_gpr_512; // "86.avx512.mask.pbroadcast.q.gpr.512" + case 'm': // 1 string to match. + if (memcmp(NameR.data()+29, "em.512", 6)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_q_mem_512; // "86.avx512.mask.pbroadcast.q.mem.512" + } + break; + } + break; + } + break; // end of 'x' case. + } +#endif + +// Global intrinsic function declaration type table. +#ifdef GET_INTRINSIC_GENERATOR_GLOBAL +static const unsigned IIT_Table[] = { + 0x1F1F1F1F, 0x1F1F1F1F, (1U<<31) | 19, 0x1F1F, 0x1F1F, 0x1F1F, 0x41F1F, + 0x0, 0x444, 0x444, 0x444, 0x444, 0x544, 0x444, 0x444, + 0x544, 0x2C2C2C, 0x2C2C2C, 0x2C2C, 0x2C2C, 0x4A44A4A, 0x44, 0x4A44A4A, + 0x4A44A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x40, + 0x40, 0x40, 0x40, (1U<<31) | 332, 0x3F5, (1U<<31) | 332, 0x3F5, 0xF0F, + (1U<<31) | 400, 0x2F2F2F, 0x2F2F, 0x2F2F2F, 0x5F5F0F, 0x5F5F0F, 0x6F1F, 0x5F0F, + 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x6F2F, + 0x5F0F, 0x5F0F, 0x2F2F2F, 0x1F1F1F, 0x2F2F2F, 0x6F1F, 0x2F2F2F, 0x6F1F, + 0x2F2F2F, 0x1F1F1F, 0x2F2F2F, 0x6F1F, 0x2F2F2F, 0x6F1F, 0x1F1F1F, 0x1F1F, + 0x1F1F1F, 0x1F1F, 0x1F1F, 0x1F1F, 0x1F1F1F, (1U<<31) | 1673, (1U<<31) | 1663, (1U<<31) | 1651, + (1U<<31) | 1673, (1U<<31) | 1743, (1U<<31) | 1673, (1U<<31) | 1663, (1U<<31) | 1726, (1U<<31) | 1663, (1U<<31) | 1651, (1U<<31) | 1705, + (1U<<31) | 1651, 0x2F2F2F, (1U<<31) | 412, 0x552C, (1U<<31) | 400, 0x2F2F, (1U<<31) | 454, (1U<<31) | 400, + 0x2F2F2F, 0x6F2F, 0x6F0F, 0x6F0F, 0x4F0F, 0x4F0F, 0x4F0F, 0x2F2F2F, + (1U<<31) | 407, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x6F0F, 0x2F2F2F, 0x2F2F2F, 0x6F0F, + (1U<<31) | 412, 0xF0F, 0xF0F0F, 0xF0F0F, (1U<<31) | 412, 0x445, 0xF0F, 0xF0F0F, + 0xF0F0F, (1U<<31) | 454, (1U<<31) | 454, 0xF0F0F, 0xF0F0F, (1U<<31) | 454, (1U<<31) | 454, 0xF0F0F, + (1U<<31) | 14, (1U<<31) | 14, 0x2F2F2F, 0xF0F0F, 0xF0F0F, (1U<<31) | 646, 0x7F2F2F0, (1U<<31) | 1629, + (1U<<31) | 1639, 0x7F2F2F0, 0x7F52F2F0, (1U<<31) | 1629, (1U<<31) | 1681, (1U<<31) | 1639, (1U<<31) | 1692, (1U<<31) | 400, + 0xF0F0F, 0x2F2C2F, 0x2F2C2C2F, (1U<<31) | 368, (1U<<31) | 353, 0x2F2C2F2F, (1U<<31) | 379, (1U<<31) | 366, + (1U<<31) | 351, 0x2F2F2F, 0x6F2F, 0x6F0F, 0x6F0F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, + 0x2F2F2F, 0x6F0F, 0x2F2F2F, 0x2F2F2F, 0x6F0F, (1U<<31) | 412, 0xF0F0F, 0xF0F0F, + (1U<<31) | 454, 0xF0F0F, (1U<<31) | 454, 0xF0F0F, (1U<<31) | 14, 0x2F2F, 0x2F2F2F, 0xF0F0F, + 0x2F2F, 0xF0F0F, (1U<<31) | 646, 0xF0F0F, 0x52F56F2F, 0x45F0F, 0x45F0F, 0x7A3A, + 0x44F1F, 0x44F1F, 0x3A7A, 0x42F2F2F, 0x42F2F2F, 0xF0F, 0xF0F0F, 0x1F1F1F, + 0x87, 0x2E554, 0x3F54, 0x2E554, 0x3F54, 0xF0F0F, 0x2E2E, (1U<<31) | 569, + 0x4444440, 0x4444440, 0x0, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x40, 0x40, 0x4, 0x40, 0x40, 0x3F4, (1U<<31) | 326, + 0x3F4, (1U<<31) | 326, 0x4444440, 0x4444440, 0x444440, 0x444440, 0x444444, 0x444444, + 0x2C2C2C, 0x2C2C2C, 0x2C2C, 0x2C2C, 0x4A44A4A, 0x44, 0x4A44A4A, 0x4A44A4A, + 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x2F2F2F, 0x2F2F2F, + 0x2F2F, 0x6F6F2F, 0x6F6F2F, 0x2F2F2F2F, 0x2F2F, 0x2F2F, 0x2F2F, 0x6F2F, + 0x6F2F, 0x45F0F, 0x45F0F, 0x7A3A, 0x44F1F, 0x44F1F, 0x3A7A, 0x6F2F, + 0x6F2F, 0x6F2F, 0x6F2F, 0x6F2F, 0x6F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, + 0x2F2F2F, 0x42E2F, (1U<<31) | 613, (1U<<31) | 709, (1U<<31) | 602, (1U<<31) | 735, (1U<<31) | 589, (1U<<31) | 767, + 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, (1U<<31) | 412, (1U<<31) | 412, + (1U<<31) | 412, 0x2F2F2F, 0x6F2F2F, 0x6F2F2F, 0x2F2F2F, 0x6F2F, 0x6F2F, 0x2F2F2F, + 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, (1U<<31) | 412, + (1U<<31) | 395, (1U<<31) | 395, (1U<<31) | 395, 0x2F2F, 0x2F2F2F, (1U<<31) | 400, (1U<<31) | 400, (1U<<31) | 400, + 0x2F2F2F, 0x2F2F2F, (1U<<31) | 400, (1U<<31) | 400, (1U<<31) | 400, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, + 0x2F2F2F, 0x2F2F2F, (1U<<31) | 400, 0x2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x2F2F, + 0x2F2F, 0x2F2F, 0x2F2F, 0x2F2F, 0x2F2F, (1U<<31) | 400, 0x2F2F2F, 0x2F2F2F, + 0x2F2F, 0x2F2F2F, (1U<<31) | 400, 0x2F2F2F2F, 0x2F2F2F, 0x2F2F2F, 0x42F2E0, 0x42F2F2E0, + (1U<<31) | 699, (1U<<31) | 622, (1U<<31) | 723, (1U<<31) | 633, (1U<<31) | 753, 0x2B2B2B, 0x2B2B2B2B, (1U<<31) | 315, + (1U<<31) | 313, 0x2B2B2B2B, (1U<<31) | 315, (1U<<31) | 313, (1U<<31) | 311, 0x444, 0x444, 0x44, + 0x40, 0x444, 0x3F44, 0x2E444, 0x3F44, 0x2E444, 0x2E, 0x40, + 0x444, 0x1F7, 0x1F7, 0xF0F, 0x1F1F, 0x2E2E0, 0x31F, 0x1F3, + 0x445F1F, 0x444F1F, 0x444F1F, 0x445F0F, 0x444F0F, 0x444F0F, 0x445F0F, 0x444F0F, + 0x444F0F, 0x1F1F1F, 0x1F1F, 0x10F0F, 0xF0F, 0x10F0F, 0x0, (1U<<31) | 1818, + (1U<<31) | 1813, 0x0, 0x0, 0x42E, 0x2E40, 0x2E50, 0x40, 0x2E0, + 0x2E0, 0x2E, 0x2E4, 0x2E4, 0x0, 0x1F1F, 0x1F1F, 0xF0F0F, + (1U<<31) | 1830, (1U<<31) | 1822, (1U<<31) | 1838, 0x1F1F, 0x1F1F, 0x4, 0x1F1F1F1F, 0x1F1F1F1F, + 0x42E, 0x2EE2E2E, 0x2E2EE0, 0x2EE2E2E0, 0x44, 0x55, 0x44, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x555, 0x555, 0x444, + 0x545, 0x444, 0x444, 0x555, 0x44, 0x44, 0x444, 0x444, + 0x444, 0x444, 0x445, 0x445, 0x444, 0x555, 0x444, 0x555, + 0x444, 0x555, 0x444, 0x555, 0x44, 0x55, 0x44, 0x44, + 0x55, 0x444, 0x444, 0x555, 0x54, 0x54, 0x44, 0x44, + 0x44, 0x44, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x555, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x44, 0x44, 0x44, 0x45, 0x44, + 0x444, 0x444, 0x55, 0x45, 0x44, 0x55, 0x55, 0x55, + 0x55, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x551, 0x551, 0x551, + 0x551, 0x551, 0x551, 0x551, 0x551, 0x55, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x5555, 0x555, 0x5555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x444, 0x555, 0x44, 0x44, + 0x444, 0x555, 0x445, 0x445, 0x541, 0x441, 0x441, 0x441, + 0x441, 0x441, 0x441, 0x441, 0x441, 0x441, 0x441, 0x441, + 0x441, 0x445, 0x445, 0x444, 0x444, 0x444, 0x444, 0x555, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x451, 0x551, 0x451, 0x551, 0x451, 0x451, 0x451, 0x451, + 0x451, 0x451, 0x451, 0x451, 0x4555, 0x4555, 0x4555, 0x4555, + 0x4555, 0x4555, 0x4555, 0x4555, 0x554, 0x41, 0x441, 0x441, + 0x41, 0x441, 0x441, 0x441, 0x441, 0x441, 0x551, 0x441, + 0x441, 0x441, 0x441, 0x551, 0x441, 0x441, 0x551, 0x441, + 0x441, 0x45, 0x4444, 0x4444, 0x4444, 0x4444, 0x41, 0x441, + 0x441, 0x41, 0x44, 0x41, 0x444, 0x5545, 0x441, 0x4441, + 0x4441, 0x4441, 0x4441, 0x441, 0x441, 0x441, 0x441, 0x441, + 0x441, 0x441, 0x441, 0x441, 0x441, 0x441, 0x4441, 0x4441, + 0x4441, 0x4441, 0x58, 0x57, 0x85, 0x85, 0x87, 0x85, + 0x85, 0x84, 0x84, 0x84, 0x84, 0x75, 0x75, 0x78, + 0x75, 0x75, 0x74, 0x74, 0x74, 0x74, 0x58, 0x57, + 0x48, 0x47, 0x48, 0x47, 0x888, 0x481, 0x881, 0x881, + 0x881, 0x881, 0x888, 0x888, 0x88, 0x8888, 0x8888, 0x48888, + 0x8888, 0x8888, 0x48, 0x48, 0x888, 0x888, 0x888, 0x888, + 0x777, 0x471, 0x771, 0x771, 0x771, 0x771, 0x777, 0x777, + 0x77, 0x7777, 0x7777, 0x47777, 0x7777, 0x7777, 0x47, 0x47, + 0x777, 0x777, 0x777, 0x777, 0x4444, 0x4444, 0x4455, 0x4455, + 0x4455, 0x4455, 0x4455, 0x4455, 0x445, 0x445, 0x444, 0x444, + 0x444, 0x444, 0x445, 0x445, 0x445, 0x445, 0x4455, 0x4455, + 0x4455, 0x4455, 0x4455, 0x4455, 0x444, 0x445, 0x4455, 0x4455, + 0x445, 0x444, 0x444, 0x444, 0x444, 0x4444, 0x4444, 0x4444, + 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, + 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, + 0x4455, 0x4455, 0x4455, 0x445, 0x445, 0x445, 0x445, 0x445, + 0x445, 0x445, 0x445, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, + 0x4455, 0x4455, 0x4455, 0x445, 0x445, 0x445, 0x445, 0x445, + 0x445, 0x445, 0x445, 0x444, 0x444, 0x444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444, 0x444, + 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444, 0x4455, + 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x445, + 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x4455, + 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x444, + 0x4444, 0x4444, 0x4444, 0x555, 0x555, 0x5555, 0x5555, 0x555, + 0x555, 0x555, 0x555, 0x5555, 0x5555, 0x554, 0x554, 0x555, + 0x555, 0x4455, 0x5555, 0x5555, 0x5555, 0x4455, 0x4455, 0x4455, + 0x4455, 0x555, 0x555, 0x445, 0x444, 0x445, 0x444, 0x445, + 0x445, 0x554, 0x554, 0x5555, 0x5555, 0x5555, 0x5555, 0x555, + 0x555, 0x555, 0x555, 0x4555, 0x455, 0x454, 0x5555, 0x555, + 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x454, 0x454, 0x454, + 0x454, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x445, 0x4455, 0x445, 0x4455, + 0x5555, 0x5555, 0x555, 0x555, 0x5555, 0x5555, 0x555, 0x555, + 0x4444, 0x4444, 0x4444, 0x5555, 0x5555, 0x555, 0x4455, 0x4455, + 0x445, 0x445, 0x5555, 0x5555, 0x555, 0x555, 0x4444, 0x455, + 0x4555, 0x4555, 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, + 0x4444, 0x4444, 0x444, 0x4444, 0x455, 0x455, 0x455, 0x4555, + 0x4555, 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444, + 0x4444, 0x444, 0x455, 0x455, 0x455, 0x4555, 0x4555, 0x4555, + 0x4555, 0x455, 0x455, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x444, 0x444, 0x454, 0x455, 0x455, 0x455, 0x4555, 0x4555, + 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x444, 0x454, 0x455, 0x455, 0x44, 0x55, 0x44, 0x54, + 0x44, 0x54, 0x44, 0x44, 0x54, 0x444, 0x444, 0x44, + 0x54, 0x44, 0x54, 0x55, 0x4444, 0x544, 0x4455, 0x555, + 0x44444, 0x5444, 0x44555, 0x5555, 0x55, 0x555, 0x455, 0x4555, + 0x4555, 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444, + 0x4444, 0x455, 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555, + 0x4555, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x455, + 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555, 0x4555, 0x444, + 0x4444, 0x4444, 0x4444, 0x4444, 0x455, 0x455, 0x445, 0x554, + 0x444, 0x444, 0x555, 0x555, 0x555, 0x555, 0x44, 0x44, + 0x44444, 0x44444, 0x44444, 0x44444, 0x444, 0x444, 0x441, 0x441, + 0x4555, 0x4555, 0x455, 0x455, 0x4555, 0x54, 0x54, 0x54, + 0x55, 0x54, 0x55, 0x54, 0x55, 0x54, 0x55, 0x44, + 0x45, 0x4555, 0x4555, 0x45, 0x45, 0x54, 0x555, 0x54, + 0x555, 0x45, 0x45, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, + 0x444, 0x454, 0x54, 0x4444, 0x544, 0x4455, 0x555, 0x444, + 0x441, 0x441, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444, + 0x4444, 0x4444, 0x4444, 0x4455, 0x44555, 0x555, 0x555, 0x555, + 0x555, 0x555, 0x555, 0x454, 0x454, 0x54, 0x455, 0x44, + 0x442E2E2E, 0x2E2E2E0, (1U<<31) | 338, (1U<<31) | 339, 0x2E50, 0x2E50, 0x1F1F, 0x1F1F, + 0x1F1F, 0x42E0, (1U<<31) | 29, (1U<<31) | 29, 0x144F23F0, 0x3939, 0x2A2A, 0x44, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x393939, 0x444, 0x393939, + 0x393939, 0x444, 0x444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, + 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x444, + 0x393939, 0x2A2A2A, 0x393939, 0x2A2A2A, 0x2A2A2A, 0x2A2A2A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x444, 0x2C2C2C, + 0x42C2C, 0x4444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x4444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, + 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x42C2C2C, + 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x42C2C2C, + 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x44, 0x2C2C2C2C, 0x42C2C2C, 0x2C2C2C2C, 0x42C2C2C, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C4, 0x594, 0x3B4, 0x2C4, 0x4A4, 0x4, 0x2C2C2C2C, 0x42C2C2C, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C4, 0x594, 0x3B4, 0x2C4, 0x4A4, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x44, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, + 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, + 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x39390, 0x39390, + 0x39390, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A0, + 0x2A2A0, 0x2A2A0, 0x42C4, 0x4595, 0x43B4, 0x44A4, 0x42C4, 0x4595, + 0x43B4, 0x44A4, 0x440, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, + 0x595959, 0x3B3B3B, 0x4A4A4A, 0x4555, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, + 0x2C2C3B, 0x3B3B4A, 0x393955, 0x4A4A5959, 0x2C2C3B3B, 0x3B3B4A4A, 0x4A4A5959, 0x2C2C3B3B, + 0x3B3B4A4A, 0x393955, 0x4455, 0x393955, 0x393955, 0x2A2A55, 0x2A2A55, 0x393955, + 0x393955, 0x393955, 0x4455, 0x393955, 0x393955, 0x2A2A55, 0x2A2A55, 0x4A4A5959, + 0x2C2C3B3B, 0x3B3B4A4A, 0x4A4A5959, 0x2C2C3B3B, 0x3B3B4A4A, 0x393955, 0x454, 0x454, + 0x454, 0x454, 0x454, 0x454, 0x898989, 0x7A7A7A, 0x898959, 0x7A7A4A, + 0x898959, 0x7A7A4A, 0x8959, 0x7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, + 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, + 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898989, 0x7A7A7A, + 0x7A7A6B, 0x89897A, 0x598989, 0x4A7A7A, 0x7A89, 0x6B7A, 0x7A89, 0x6B7A, + 0x5989, 0x4A7A, 0x5989, 0x4A7A, 0x4A89, 0x3B7A, 0x4A89, 0x3B7A, + 0x42C, 0x559, 0x43B, 0x44A, 0x8989, 0x7A7A, (1U<<31) | 1756, 0x7A7A7A7A, + 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, + (1U<<31) | 1756, 0x7A7A7A7A, 0x898989, 0x7A7A7A, 0x8989, 0x7A7A, 0x8989, 0x7A7A, + 0x8989, 0x7A7A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, + 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x8989, 0x7A7A, + 0x898989, 0x7A7A7A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, + 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x8959, 0x7A4A, 0x8959, 0x7A4A, + 0x7A7A3B, 0x89894A, 0x8959, 0x7A4A, 0x8959, 0x7A4A, 0x4A4A59, 0x2C2C3B, + 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, + 0x2C2C3B, 0x3B3B4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, + 0x3B3B3B, 0x4A4A4A, 0x442C2C, 0x545959, 0x443B3B, 0x444A4A, 0x444, 0x2C42C2C, + 0x5945959, 0x3B43B3B, 0x4A44A4A, 0x42E4, 0x42E2C, 0x42E59, 0x42E3B, 0x42E4A, + 0x42C, 0x459, 0x43B, 0x44A, 0x42E4, 0x4444, 0x42E4, 0x4455, + 0x3B3B3B3B, 0x4A4A4A4A, 0x3B3B3B3B, 0x4A4A4A4A, 0x4455, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, + 0x4A4A4A4A, 0x393955, 0x393955, 0x393955, 0x393955, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, + 0x44A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, + 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x444, 0x2C2C, 0x4455, + 0x3B3B3B3B, 0x4A4A4A4A, 0x3B3B3B3B, 0x4A4A4A4A, 0x4455, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, + 0x4A4A4A4A, 0x455, 0x393939, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x39394, 0x39394, + 0x392A39, 0x392A39, 0x393939, 0x444, 0x393939, 0x444, 0x3B3B3B, 0x4A4A4A, + 0x393955, 0x393955, 0x445, 0x445, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, + 0x2C2C, 0x5959, 0x3B3B, 0x4A4A, 0x2C2C, 0x5959, 0x3B3B, 0x4A4A, + 0x2C2C2C, 0x42C2C, 0x2C2C2C, 0x42C2C, 0x393939, 0x2C2C2C, 0x595959, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C, 0x5959, 0x3B3B, + 0x4A4A, 0x393939, 0x2A2A2A, 0x394, 0x394, 0x2A39, 0x2A39, 0x2A39, + 0x2A39, 0x2A39, 0x2A39, 0x2A39, 0x2A39, 0x39392A, 0x44439, 0x44439, + 0x4439, 0x39392A, 0x4439, 0x39392A, 0x4444, 0x2A4, 0x44, 0x439, + 0x42A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, + 0x44A4A, 0x42C2C, 0x43B3B, 0x44A4A, 0x455, 0x43939, 0x42A2A, 0x43939, + 0x444, 0x43939, 0x42A2A, 0x43939, 0x42A2A, 0x444, 0x43939, 0x42A2A, + 0x42C2C2C, 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x42C2C2C, 0x4595959, 0x43B3B3B, 0x44A4A4A, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, + 0x42E2C0, 0x42E590, 0x42E3B0, 0x42E4A0, 0x393939, 0x393939, 0x444, 0x393939, + 0x393939, 0x444, 0x444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, + 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, + 0x595959, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x2A2A2A, 0x393939, 0x2A2A2A, 0x2A2A2A, + 0x2A2A2A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, + 0x44A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x440, 0x2C2C2C, 0x42C2C, + 0x1F1F, 0x44, 0x55, 0x888, 0x777, 0x777, 0x888, 0x777, + 0x777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777, 0x73F7, + 0x43F4, 0x43F4, 0x0, 0x44, 0x44, 0x44, 0x85, 0x74, + 0x47, 0x58, 0x44, 0x55, 0x88, 0x77, 0x77, 0x44, + 0x54, 0x3F0, 0x3F0, 0x77, 0x77, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x84, 0x84, 0x84, + 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x84, + 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x777, + 0x777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777, 0x888, + 0x777, 0x777, 0x888, 0x777, 0x777, 0x88, 0x77, 0x77, + 0x73, 0x73, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, + 0x74, 0x74, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, + 0x75, 0x75, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, + 0x74, 0x74, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, + 0x75, 0x75, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, + 0x8888, 0x7777, 0x7777, 0x8888, 0x7777, 0x7777, 0x8888, 0x7777, + 0x7777, 0x8888, 0x7777, 0x7777, 0x888, 0x777, 0x777, 0x888, + 0x777, 0x777, 0x37, 0x48, 0x48, 0x48, 0x48, 0x47, + 0x47, 0x47, 0x47, 0x2E1, 0x2E1, 0x2E1, 0x2E1, 0x51, + 0x51, 0x51, 0x7F1F, 0x7F0F, 0x7F3F, 0x7F1F, 0x7F0F, 0x7F3F, + 0x88, 0x77, 0x77, 0x58, 0x58, 0x58, 0x58, 0x57, + 0x57, 0x57, 0x57, 0x448, 0x444, 0x555, 0x444, 0x555, + 0x0, 0x0, 0x0, 0x444, 0x555, 0x444, 0x555, 0x88, + 0x77, 0x33, 0x44, 0x55, 0x7F3F, 0x444, 0x444, 0x888, + 0x777, 0x777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777, + 0x888, 0x777, 0x777, 0x444, 0x555, 0x444, 0x555, 0x44, + 0x54, 0x4444, 0x7F3F, 0x7F3F, 0x7F3F, 0x7F3F, 0x7F3F, 0x7F3F, + 0x7F3F, 0x7F3F, 0x7F3F, 0x88, 0x88, 0x77, 0x77, 0x88, + 0x77, 0x77, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x3F4, 0x444, 0x455, + 0x455, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, 0x4444, + 0x4444, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, 0x88, + 0x77, 0x77, 0x88, 0x77, 0x77, 0x4453, 0x4453, 0x4453, + 0x4454, 0x4454, 0x4454, 0x4455, 0x4455, 0x4455, 0x4453, 0x4453, + 0x4453, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 907, (1U<<31) | 907, (1U<<31) | 907, (1U<<31) | 924, + (1U<<31) | 924, (1U<<31) | 924, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 882, (1U<<31) | 882, (1U<<31) | 882, + (1U<<31) | 898, (1U<<31) | 898, (1U<<31) | 898, (1U<<31) | 882, (1U<<31) | 882, (1U<<31) | 882, 0x453, 0x453, + 0x453, 0x454, 0x454, 0x454, 0x455, 0x455, 0x455, 0x453, + 0x453, 0x453, (1U<<31) | 987, (1U<<31) | 987, (1U<<31) | 987, (1U<<31) | 1001, (1U<<31) | 1001, (1U<<31) | 1001, + (1U<<31) | 1016, (1U<<31) | 1016, (1U<<31) | 1016, (1U<<31) | 987, (1U<<31) | 987, (1U<<31) | 987, (1U<<31) | 979, (1U<<31) | 979, + (1U<<31) | 979, (1U<<31) | 993, (1U<<31) | 993, (1U<<31) | 993, (1U<<31) | 979, (1U<<31) | 979, (1U<<31) | 979, 0x44453, + 0x44453, 0x44453, 0x44454, 0x44454, 0x44454, 0x44455, 0x44455, 0x44455, + 0x44453, 0x44453, 0x44453, (1U<<31) | 816, (1U<<31) | 816, (1U<<31) | 816, (1U<<31) | 834, (1U<<31) | 834, + (1U<<31) | 834, (1U<<31) | 853, (1U<<31) | 853, (1U<<31) | 853, (1U<<31) | 816, (1U<<31) | 816, (1U<<31) | 816, (1U<<31) | 806, + (1U<<31) | 806, (1U<<31) | 806, (1U<<31) | 824, (1U<<31) | 824, (1U<<31) | 824, (1U<<31) | 806, (1U<<31) | 806, (1U<<31) | 806, + 0x4453, 0x4453, 0x4453, 0x4454, 0x4454, 0x4454, 0x4455, 0x4455, + 0x4455, 0x4453, 0x4453, 0x4453, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 907, + (1U<<31) | 907, (1U<<31) | 907, (1U<<31) | 924, (1U<<31) | 924, (1U<<31) | 924, (1U<<31) | 891, (1U<<31) | 891, (1U<<31) | 891, + (1U<<31) | 882, (1U<<31) | 882, (1U<<31) | 882, (1U<<31) | 898, (1U<<31) | 898, (1U<<31) | 898, (1U<<31) | 882, (1U<<31) | 882, + (1U<<31) | 882, 0x44453, 0x44453, 0x44453, 0x44454, 0x44454, 0x44454, 0x44455, + 0x44455, 0x44455, 0x44453, 0x44453, 0x44453, (1U<<31) | 816, (1U<<31) | 816, (1U<<31) | 816, + (1U<<31) | 834, (1U<<31) | 834, (1U<<31) | 834, (1U<<31) | 853, (1U<<31) | 853, (1U<<31) | 853, (1U<<31) | 816, (1U<<31) | 816, + (1U<<31) | 816, (1U<<31) | 806, (1U<<31) | 806, (1U<<31) | 806, (1U<<31) | 824, (1U<<31) | 824, (1U<<31) | 824, (1U<<31) | 806, + (1U<<31) | 806, (1U<<31) | 806, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, + 0x34450, 0x34450, 0x34450, 0x44450, 0x44450, 0x44450, 0x54450, 0x54450, + 0x54450, 0x34450, 0x34450, 0x34450, 0x334450, 0x334450, 0x334450, 0x444450, + 0x444450, 0x444450, 0x554450, 0x554450, 0x554450, 0x334450, 0x334450, 0x334450, + 0x33334450, 0x33334450, 0x33334450, 0x44444450, 0x44444450, 0x44444450, 0x33334450, 0x33334450, + 0x33334450, 0x3450, 0x3450, 0x3450, 0x4450, 0x4450, 0x4450, 0x5450, + 0x5450, 0x5450, 0x3450, 0x3450, 0x3450, 0x33450, 0x33450, 0x33450, + 0x44450, 0x44450, 0x44450, 0x55450, 0x55450, 0x55450, 0x33450, 0x33450, + 0x33450, 0x3333450, 0x3333450, 0x3333450, 0x4444450, 0x4444450, 0x4444450, 0x3333450, + 0x3333450, 0x3333450, 0x344450, 0x344450, 0x344450, 0x444450, 0x444450, 0x444450, + 0x544450, 0x544450, 0x544450, 0x344450, 0x344450, 0x344450, 0x3344450, 0x3344450, + 0x3344450, 0x4444450, 0x4444450, 0x4444450, 0x5544450, 0x5544450, 0x5544450, 0x3344450, + 0x3344450, 0x3344450, (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 789, (1U<<31) | 789, (1U<<31) | 789, + (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 419, 0x34450, 0x34450, 0x34450, 0x44450, 0x44450, + 0x44450, 0x54450, 0x54450, 0x54450, 0x34450, 0x34450, 0x34450, 0x334450, + 0x334450, 0x334450, 0x444450, 0x444450, 0x444450, 0x554450, 0x554450, 0x554450, + 0x334450, 0x334450, 0x334450, 0x33334450, 0x33334450, 0x33334450, 0x44444450, 0x44444450, + 0x44444450, 0x33334450, 0x33334450, 0x33334450, 0x344450, 0x344450, 0x344450, 0x444450, + 0x444450, 0x444450, 0x544450, 0x544450, 0x544450, 0x344450, 0x344450, 0x344450, + 0x3344450, 0x3344450, 0x3344450, 0x4444450, 0x4444450, 0x4444450, 0x5544450, 0x5544450, + 0x5544450, 0x3344450, 0x3344450, 0x3344450, (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 789, + (1U<<31) | 789, (1U<<31) | 789, (1U<<31) | 419, (1U<<31) | 419, (1U<<31) | 419, 0x34450, 0x44450, 0x34450, + 0x334450, 0x444450, 0x334450, 0x33334450, 0x44444450, 0x33334450, 0x3450, 0x4450, + 0x3450, 0x33450, 0x44450, 0x33450, 0x3333450, 0x4444450, 0x3333450, 0x344450, + 0x444450, 0x344450, 0x3344450, 0x4444450, 0x3344450, (1U<<31) | 419, (1U<<31) | 789, (1U<<31) | 419, + 0x34450, 0x44450, 0x34450, 0x334450, 0x444450, 0x334450, 0x33334450, 0x44444450, + 0x33334450, 0x344450, 0x444450, 0x344450, 0x3344450, 0x4444450, 0x3344450, (1U<<31) | 419, + (1U<<31) | 789, (1U<<31) | 419, 0x55, (1U<<31) | 1286, (1U<<31) | 1274, (1U<<31) | 1274, (1U<<31) | 1204, (1U<<31) | 1193, + (1U<<31) | 1193, (1U<<31) | 1130, (1U<<31) | 931, (1U<<31) | 1120, (1U<<31) | 914, (1U<<31) | 1120, (1U<<31) | 914, (1U<<31) | 1330, + (1U<<31) | 1319, (1U<<31) | 1319, (1U<<31) | 1244, (1U<<31) | 1234, (1U<<31) | 1234, (1U<<31) | 1166, (1U<<31) | 1022, (1U<<31) | 1157, + (1U<<31) | 1007, (1U<<31) | 1157, (1U<<31) | 1007, (1U<<31) | 1476, (1U<<31) | 1461, (1U<<31) | 1461, (1U<<31) | 1286, (1U<<31) | 1274, + (1U<<31) | 1274, (1U<<31) | 1204, (1U<<31) | 861, (1U<<31) | 1193, (1U<<31) | 842, (1U<<31) | 1193, (1U<<31) | 842, (1U<<31) | 1532, + (1U<<31) | 1518, (1U<<31) | 1518, (1U<<31) | 1330, (1U<<31) | 1319, (1U<<31) | 1319, (1U<<31) | 1244, (1U<<31) | 931, (1U<<31) | 1234, + (1U<<31) | 914, (1U<<31) | 1234, (1U<<31) | 914, (1U<<31) | 1592, (1U<<31) | 1575, (1U<<31) | 1575, (1U<<31) | 1424, (1U<<31) | 1412, + (1U<<31) | 1412, (1U<<31) | 1330, (1U<<31) | 861, (1U<<31) | 1319, (1U<<31) | 842, (1U<<31) | 1319, (1U<<31) | 842, (1U<<31) | 1376, + (1U<<31) | 1363, (1U<<31) | 1363, (1U<<31) | 1286, (1U<<31) | 1274, (1U<<31) | 1274, (1U<<31) | 1424, (1U<<31) | 1412, (1U<<31) | 1412, + (1U<<31) | 1330, (1U<<31) | 1319, (1U<<31) | 1319, (1U<<31) | 1298, (1U<<31) | 1263, (1U<<31) | 1263, (1U<<31) | 1215, (1U<<31) | 1183, + (1U<<31) | 1183, (1U<<31) | 1140, (1U<<31) | 941, (1U<<31) | 1111, (1U<<31) | 898, (1U<<31) | 1111, (1U<<31) | 898, (1U<<31) | 1341, + (1U<<31) | 1309, (1U<<31) | 1309, (1U<<31) | 1254, (1U<<31) | 1225, (1U<<31) | 1225, (1U<<31) | 1175, (1U<<31) | 1031, (1U<<31) | 1149, + (1U<<31) | 993, (1U<<31) | 1149, (1U<<31) | 993, (1U<<31) | 1491, (1U<<31) | 1447, (1U<<31) | 1447, (1U<<31) | 1298, (1U<<31) | 1263, + (1U<<31) | 1263, (1U<<31) | 1215, (1U<<31) | 872, (1U<<31) | 1183, (1U<<31) | 824, (1U<<31) | 1183, (1U<<31) | 824, (1U<<31) | 1546, + (1U<<31) | 1505, (1U<<31) | 1505, (1U<<31) | 1341, (1U<<31) | 1309, (1U<<31) | 1309, (1U<<31) | 1254, (1U<<31) | 941, (1U<<31) | 1225, + (1U<<31) | 898, (1U<<31) | 1225, (1U<<31) | 898, (1U<<31) | 1609, (1U<<31) | 1559, (1U<<31) | 1559, (1U<<31) | 1436, (1U<<31) | 1401, + (1U<<31) | 1401, (1U<<31) | 1341, (1U<<31) | 872, (1U<<31) | 1309, (1U<<31) | 824, (1U<<31) | 1309, (1U<<31) | 824, (1U<<31) | 1389, + (1U<<31) | 1351, (1U<<31) | 1351, (1U<<31) | 1298, (1U<<31) | 1263, (1U<<31) | 1263, (1U<<31) | 1436, (1U<<31) | 1401, (1U<<31) | 1401, + (1U<<31) | 1341, (1U<<31) | 1309, (1U<<31) | 1309, (1U<<31) | 449, 0x3F5, (1U<<31) | 1244, (1U<<31) | 1234, (1U<<31) | 1234, + (1U<<31) | 1244, (1U<<31) | 1234, (1U<<31) | 1234, (1U<<31) | 1244, (1U<<31) | 1234, (1U<<31) | 1234, (1U<<31) | 1244, (1U<<31) | 1234, + (1U<<31) | 1234, (1U<<31) | 1254, (1U<<31) | 1225, (1U<<31) | 1225, (1U<<31) | 1254, (1U<<31) | 1225, (1U<<31) | 1225, (1U<<31) | 1254, + (1U<<31) | 1225, (1U<<31) | 1225, (1U<<31) | 1254, (1U<<31) | 1225, (1U<<31) | 1225, 0x88, 0x77, 0x77, + 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, + 0x48, 0x48, 0x48, 0x48, 0x47, 0x47, 0x47, 0x47, + 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x57, + 0x17F0F, 0x40, 0x1F1F1F, 0x41F1F, 0x40, 0x0, 0x442E0, 0x442E0, + 0x442E0, 0x442E0, 0x2E2C, 0x2E3B, 0x2E4A, 0x2E2C, 0x2E2C, 0x2E4A, + 0x2E4A, 0x3B, 0x4A0, 0x2E2C0, 0x2E3B0, 0x2E4A0, 0x2E4A0, 0x2E4A0, + 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x44A7A, 0x44A7A, 0x7A7A4A, + 0x7A7A44, 0x7A7A4A, 0x7A7A44, 0x2C2C2C, 0x2C2C44, 0x3B3B3B, 0x3B3B44, 0x4A4A4A, + 0x4A4A44, 0x7A7A4A, 0x7A7A44, 0x7A7A4A, 0x7A7A44, 0x2C2C2C, 0x2C2C44, 0x3B3B3B, + 0x3B3B44, 0x4A4A4A, 0x4A4A44, 0x2C2C2C, 0x2C2C44, 0x3B3B3B, 0x3B3B44, 0x4A4A4A, + 0x4A4A44, 0x47A4A, 0x47A4A, 0x7A7A, 0x7A7A, 0x7A7A7A7A, 0x7A7A7A, 0x2C2C2C, + 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x3B3B3B3B, 0x3B3B3B3B, 0x7A7A7A, + 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x3B3B3B3B, 0x4A2C2C4A, + 0x4A3B3B4A, 0x4A3B3B4A, 0x4A2C2C4A, 0x4A3B3B4A, 0x4A3B3B4A, 0x2C2C3B, 0x3B3B4A, 0x2C2C3B, + 0x3B3B4A, 0x2C2C3B, 0x3B3B4A, 0x2C2C3B, 0x3B3B4A, 0x7A7A7A7A, 0x2C4A4A4A, 0x4A4A3B, + 0x3B3B2C, 0x3B3B2C, 0x4A4A2C, 0x4A4A3B, 0x3B3B2C, 0x4A4A3B, 0x7A7A, 0x7A7A, + 0x7A7A, 0x7A7A, 0x7A7A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x7A7A, 0x4A4A4A4A, + 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x4A4A4A, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x4A4A4A, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, + 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x4A4A4A, 0x4A2C4A, 0x4A3B4A, 0x4A2C4A, + 0x4A4A4A, 0x3B4A, 0x2C3B, 0x3B4A, 0x3B4A, 0x2C3B, 0x3B4A, 0x2E0, + 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x1, + 0xF0, 0x0, 0x4442E0, (1U<<31) | 579, 0x40, 0x4, 0x5, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, (1U<<31) | 1809, 0x5, 0x42E, + 0x1F1F, 0x1F1F, (1U<<31) | 0, 0x2E4, 0x42E0, 0x42E4, 0x1F1F, (1U<<31) | 0, + 0x1F1F, (1U<<31) | 0, 0x2EE2E0, 0x2EE0, 0x2E0, 0x2E, 0x0, 0x1F1F, + (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, 0x2E2E0, 0x2E0, 0x42E2E2E0, 0x2E0, (1U<<31) | 9, + (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1802, (1U<<31) | 1802, + 0x595959, 0x595959, 0x595959, 0x595959, 0x5959, 0x25959, (1U<<31) | 49, (1U<<31) | 85, + (1U<<31) | 233, (1U<<31) | 267, (1U<<31) | 165, (1U<<31) | 211, (1U<<31) | 97, (1U<<31) | 121, (1U<<31) | 61, (1U<<31) | 73, + (1U<<31) | 245, (1U<<31) | 279, (1U<<31) | 177, (1U<<31) | 189, (1U<<31) | 109, (1U<<31) | 133, 0x4A2E4A, 0x4B2E4B, + 0x592E59, 0x5A2E5A, 0x4A4A2E0, 0x4B4B2E0, 0x59592E0, 0x5A5A2E0, 0x2E5A, 0x42D2D3C, + 0x2D2D, 0x4B4B, 0x3C3C, 0x4B4B3C, 0x3C3C2D, 0x4B4B3C, 0x3C3C2D, 0x2D2D2D, + 0x3C3C3C, 0x2D2D2D, 0x3C3C3C, 0x2D2D2D, 0x3C3C3C, 0x44A4A4A, 0x44B4B4B, 0x2D2D2D2D, + 0x43C3C3C, 0x2C2C, 0x2C2D, 0x4A4A, 0x4A4B, 0x5959, 0x595A, 0x3B3B, + 0x3B3C, 0x4B4B4B, 0x7B7B7B, 0x4B4B4B, 0x3C3C3C, 0x3C3C3C, 0x4B4B4B, 0x3C3C3C, + 0x3C3C3C, 0x2D2D3C, 0x3C3C4B, 0x2D2D2D, 0x4B4B4B, 0x3C3C3C, 0x2D2D2D, 0x4B4B4B, + 0x3C3C3C, 0x2D2D2D, 0x4B4B4B, 0x3C3C3C, 0x2D2D2D, 0x4B4B4B, 0x3C3C3C, 0x2D4, + 0x2C4B, 0x2C5A, 0x2C3C, 0x4A5A, 0x3B4B, 0x3B5A, 0x2C4B, 0x2C5A, + 0x2C3C, 0x4A5A, 0x3B4B, 0x3B5A, 0x4B4B5A, 0x3C3C3C, 0x3C3C3C, 0x3C3C3C, + 0x4B4B5A, 0x2D2D5A, 0x2D2D2D, 0x2D2D2D, 0x4B4B4B, 0x3C3C3C, 0x4A4B4B, 0x45A5A, + 0x45A5A, 0x595A5A, 0x3B3C3C, 0x44B4B, 0x45A5A, 0x43C3C, 0x4A4A4A, 0x4B4B4B, + 0x595959, 0x5A5A5A, 0x4A4B4B, 0x3B3C3C, 0x44B4B, 0x43C3C, 0x4A4A4A, 0x4B4B4B, + 0x4A4B4B, 0x45A5A, 0x45A5A, 0x595A5A, 0x3B3C3C, 0x44B4B, 0x45A5A, 0x43C3C, + 0x4A4A4A, 0x4B4B4B, 0x595959, 0x5A5A5A, 0x2D2D2D, 0x3C3C3C, 0x2D2D2D, 0x3C3C3C, + 0x898A, 0x7A7A, 0x7A7B, 0x2E5A, 0x25A59, 0x2595A5A, 0x25A5A5A, 0x894, + 0x895, 0x7A4, 0x7A5, 0x894, 0x895, 0x7A4, 0x7A5, 0x48989, + 0x47A7A, 0x58989, 0x57A7A, (1U<<31) | 471, (1U<<31) | 652, (1U<<31) | 460, (1U<<31) | 663, (1U<<31) | 515, + (1U<<31) | 482, (1U<<31) | 493, (1U<<31) | 504, 0x442E4B20, 0x442E4C30, 0x442E5B20, 0x442E5B20, 0x333, + 0x333, 0x33, 0x333, 0x334, 0x334, 0x333, 0x333, 0x333, + 0x34C4C4C, 0x28B8B8B, 0x37C7C7C, 0x25B5B5B, 0x4248B8B2, 0x4347C7C3, 0x34C4C4C, 0x25B5B5B, + 0x28B4B8B, 0x437C4C7C, 0x424B8B4B, 0x427B8B7B, 0x424B8B4B, 0x434C7C4C, 0x434C7C4C, 0x424B8B4B, + 0x424B8B4B, 0x434C7C4C, 0x434C7C4C, 0x28B4B8B, 0x437C4C7C, 0x34C2E4C, 0x28B2E8B, 0x37C2E7C, + 0x25B2E5B, 0x34C4C4C, 0x25B5B5B, (1U<<31) | 558, (1U<<31) | 684, (1U<<31) | 558, (1U<<31) | 684, 0x34C4C4C, + 0x25B5B5B, (1U<<31) | 429, (1U<<31) | 155, 0x34C44C, 0x25B55B, 0x25B55B, 0x34C4C3, 0x25B5B2, + (1U<<31) | 429, (1U<<31) | 155, (1U<<31) | 429, (1U<<31) | 155, (1U<<31) | 429, (1U<<31) | 155, (1U<<31) | 429, (1U<<31) | 155, + (1U<<31) | 145, (1U<<31) | 145, 0x34C4C3, 0x25B5B2, (1U<<31) | 548, (1U<<31) | 674, 0x34C2E0, 0x28B2E0, + 0x37C2E0, 0x25B2E0, 0x437C3C7C, 0x33C47C3C, (1U<<31) | 429, (1U<<31) | 301, (1U<<31) | 439, (1U<<31) | 155, + 0x2E5B, 0x4A4C, 0x44C, 0x595B, 0x55B, 0x2C4C, 0x2C5B, 0x4B5B, + 0x3C4C, 0x3B5B, 0x45B5B, 0x45B5B, 0x45B5B, 0x45B5B, 0x28B8B8B, 0x37C7C7C, + (1U<<31) | 257, (1U<<31) | 201, 0x428B8B8B, 0x437C7C7C, (1U<<31) | 537, (1U<<31) | 526, 0x4898989, 0x47A7A7A, + 0x28B8B8B, 0x37C7C7C, (1U<<31) | 257, (1U<<31) | 201, 0x428B8B8B, 0x437C7C7C, (1U<<31) | 537, (1U<<31) | 526, + (1U<<31) | 1083, (1U<<31) | 960, (1U<<31) | 1039, (1U<<31) | 1073, (1U<<31) | 1093, (1U<<31) | 950, (1U<<31) | 1049, (1U<<31) | 1063, + 0x442E4B20, 0x442E4C30, 0x442E5B20, 0x442E5B20, 0x8B8B, 0x7C7C, 0x898989, 0x7A7A7A, + 0x2E8B, 0x898B, 0x2E7C, 0x7A7C, 0x8A8A8A, 0x7B7B7B, 0x48A8A8A, 0x47B7B7B, + (1U<<31) | 1769, 0x7B7B7B7B, 0x28A8A8A, 0x27B7B7B, 0x8A7A, 0x8A4A, 0x7A8A, 0x7B4B, + 0x4A8A, 0x4B7B, 0x8A4A, 0x7B4B, 0x47B7B7B, 0x8A8A8A, 0x7B7B7B, 0x8A8A8A, + 0x7B7B7B, 0x2E2D, 0x892E89, 0x8A2E8A, 0x7A2E7A, 0x7B2E7B, 0x89892E0, 0x8A8A2E0, + 0x7A7A2E0, 0x7B7B2E0, 0x8A8A8A, 0x7B7B7B, 0x8A8A8A, 0x7B7B7B, 0x8A4, 0x7B4, + 0x5A5A4, 0x5A5A4, 0x5A5A4, 0x7B7B, 0x48A8A, 0x47B7B, 0x7B7B, 0x8A8A, + 0x7B7B, 0x2D2E0, 0x8A2E0, 0x7B2E0, 0x2E8A, 0x2E7B, 0x28A89, 0x27B7A, + 0x24B4A, 0x2898A8A, 0x27A7B7B, 0x24A4B4B, 0x28A8A8A, 0x27B7B7B, 0x24B4B4B, 0x598989, + 0x5A8A8A, 0x4A7A7A, 0x4B7B7B, 0x89894, 0x8A8A4, 0x7A7A4, 0x7B7B4, 0x89894, + 0x8A8A4, 0x7A7A4, 0x7B7B4, 0x89894, 0x8A8A4, 0x7A7A4, 0x7B7B4, 0x0, + 0x0, 0x444, 0x555, 0x444, 0x555, 0x444, 0x555, 0x444, + 0x555, (1U<<31) | 1756, (1U<<31) | 1769, (1U<<31) | 1778, 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, + 0x7A7A7A7A, (1U<<31) | 1756, (1U<<31) | 1769, (1U<<31) | 1778, 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, + (1U<<31) | 1769, (1U<<31) | 1778, 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, 0x7A7A7A7A, (1U<<31) | 1756, + (1U<<31) | 1769, (1U<<31) | 1778, 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, (1U<<31) | 1769, (1U<<31) | 1778, + 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, 0x7A7A7A7A, (1U<<31) | 1756, (1U<<31) | 1769, (1U<<31) | 1778, + 0x7A7A7A7A, 0x7B7B7B7B, 0x7C7C7C7C, (1U<<31) | 1756, 0x7A7A7A7A, 0x20, 0x0, 0x0, + (1U<<31) | 345, (1U<<31) | 1800, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 390, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1103, (1U<<31) | 970, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1787, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1107, (1U<<31) | 1107, (1U<<31) | 1107, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1107, (1U<<31) | 1107, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1107, (1U<<31) | 1107, (1U<<31) | 1107, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, + (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, (1U<<31) | 1805, 0x2595959, 0x4, 0x5, + 0x4, 0x5, 0x45, (1U<<31) | 695, (1U<<31) | 975, (1U<<31) | 1059, (1U<<31) | 695, (1U<<31) | 975, + (1U<<31) | 1059, 0x5, 0x2E5, 0x4A4A4A, 0x4A4A4A, 0x4A4A4A, 0x24A4A4A, 0x4A4A4A, + 0x4A4A4A, 0x4A4A4A4A, 0x898989, 0x2E0, 0x2898989, 0x2898989, 0x89894, 0x89894, + 0x89894, 0x89894, 0x89894, 0x89894, 0x4A89, 0x4A7A, 0x894A, 0x897A, + 0x7A4A, 0x7A89, 0x894, 0x895, 0x897A7A, 0x48989, 0x58989, 0x7A8989, + 0x894A, 0x7A4A, 0x894, 0x895, 0x898989, 0x0, 0x2E2C2C0, 0x898989, + 0x898989, 0x0, 0x898989, 0x898989, 0x894, 0x898989, 0x4A4A3B, 0x3B3B2C, + 0x3B3B2C, 0x2C2C2C, 0x3B3B3B, 0x2C2C2C, 0x3B3B3B, 0x0, 0x2C2C2C, 0x3B3B3B, + 0x3B3B4A, 0x3B3B3B, 0x2C2C2C, 0x3B3B3B, 0x2C2C2C, 0x2C4, 0x3B3B3B, 0x3B3B3B, + 0x4A4A59, 0x2C2C59, 0x24A4A, 0x23B3B, 0x23B3B, 0x4A4A4A, 0x45959, 0x45959, + 0x595959, 0x3B3B3B, 0x44A4A, 0x45959, 0x43B3B, 0x4A4A4A, 0x3B3B3B, 0x44A4A, + 0x43B3B, 0x4A4A4A, 0x45959, 0x45959, 0x595959, 0x3B3B3B, 0x44A4A, 0x45959, + 0x43B3B, 0x2C2C2C, 0x3B3B3B, 0x2C2C2C, 0x3B3B3B, 0x8989, 0x8989, 0x4A2E0, + 0x2C2E0, 0x892E0, 0x898989, 0x89894, 0x89894, 0x89894, 0x89894, 0x89894, + 0x89894, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x2E2C, + 0x442E0, 0x440, 0x4898989, 0x47A7A7A, (1U<<31) | 1756, 0x7A7A7A7A, 0x4898989, 0x47A7A7A, + 0x47A4, 0x47A7A7A, 0x2E59, 0x42C2C3B, 0x4A4A3B, 0x2C2C2C2C, 0x43B3B3B, 0x42C4, + 0x44A4, 0x4595, 0x3B3B, 0x2C2C2C, 0x4A4A4A, 0x4A4A4A, 0x3B3B3B, 0x2C2C2C, + 0x4A4A4A, 0x4A4A4A, 0x3B3B3B, 0x2C4A, 0x2C59, 0x2C3B, 0x4A59, 0x3B4A, + 0x3B59, 0x2C4A, 0x2C59, 0x2C3B, 0x4A59, 0x3B4A, 0x3B59, 0x4A4A59, + 0x59594, 0x59594, 0x59594, 0x48989, 0x47A7A, 0x4898989, 0x47A7A7A, 0x344, + 0x444, 0x244, 0x555, 0x242C42C4, 0x242C42C4, 0x242C42C4, 0x242C42C4, 0x242C42C4, + 0x242C42C4, (1U<<31) | 39, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, + 0x22C2C2C, 0x2C5959, 0x225959, 0x595959, 0x22595959, 0x892E0, 0x7A2E0, 0x7A7A7A, + 0x27A7A7A, 0x27A7A7A, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, + (1U<<31) | 1765, (1U<<31) | 1796, (1U<<31) | 1790, (1U<<31) | 1625, 0x47A7A, 0x57A7A, 0x7A4, 0x7A5, + (1U<<31) | 1765, (1U<<31) | 1625, 0x7A4, 0x7A5, 0x7A7A7A, 0x2E0, 0x7A7A7A, 0x7A7A7A, + 0x7A7A7A, 0x7A7A7A, 0x7A4, 0x7A7A7A, (1U<<31) | 391, 0x7A7A, 0x7A7A, 0x7A7A, + 0x7A7A, 0x0, 0x7A7A, 0x7A7A, 0x2E0, 0x7A2E0, 0x7A7A7A, 0x7A7A4, + 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, (1U<<31) | 1802, 0x2C2C, (1U<<31) | 1802, + 0x4A4A, (1U<<31) | 1802, 0x3B3B, (1U<<31) | 1805, 0x4A4A4A, (1U<<31) | 1805, 0x3B3B3B, (1U<<31) | 1805, + 0x3B3B3B, (1U<<31) | 1805, 0x4A4A4A, (1U<<31) | 1805, 0x3B3B3B, (1U<<31) | 1805, 0x3B3B3B, (1U<<31) | 1805, + 0x2C2C3B, (1U<<31) | 1805, 0x3B3B3B, (1U<<31) | 1805, 0x2C2C2C, (1U<<31) | 1805, 0x2C2C2C, (1U<<31) | 1805, + 0x4A4A4A, (1U<<31) | 1805, 0x3B3B3B, 0x444, 0x555, 0x3B7A, 0x3B7B, 0x47A3B, + 0x47B3B, 0x40, 0x50, 0x40, 0x50, 0x20, 0x4, 0x0, + 0x8989, 0x8A8A, 0x7A7A, 0x7B7B, 0x8989, 0x7A7A, 0x59595959, 0x5A5A5A5A, + 0x22C2C2C, 0x24A4A4A, 0x2595959, 0x22C2C2C, 0x24A4A4A, 0x2595959, 0x23B3B3B, 0x23B3B3B, + (1U<<31) | 257, (1U<<31) | 291, (1U<<31) | 201, (1U<<31) | 223, 0x2C4A, 0x2C59, 0x2C3B, 0x4A59, + 0x2C4A, 0x2C59, 0x2C3B, 0x4A59, 0x3B4A, 0x3B59, 0x3B4A, 0x3B59, + 0x2C3B, 0x4A59, 0x3B4A, 0x4A4A4A4A, 0x594A4A59, 0x594A4A59, 0x4A4A4A4A, 0x594A4A59, + 0x594A4A59, 0x4A3B3B4A, 0x3B3B3B3B, 0x4A3B3B4A, 0x3B3B3B3B, 0x4A3B3B4A, 0x4A3B3B4A, 0x2C2C2C2C, + 0x2C2C2C, 0x22C2C, 0x4A4A4A, 0x24A4A, 0x595959, 0x25959, 0x3B3B3B, 0x23B3B, + 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B, 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B, + 0x4, 0x44, 0x2E2E, 0x43F0, 0x0, 0x3F0, 0x40, 0x4444, + (1U<<31) | 799, 0x3F0, 0x3F0, 0x3F4, 0x3F0, 0x4, 0x4, 0x4, + 0x44, 0x43F, 0x7F3F, 0x3F4, 0x3F4, 0x3F4, 0x2E3F0, 0x2E3F0, + 0x2E3F0, 0x2E3F0, 0x2E3F0, 0x43F4, 0x3F4, 0x3F0, 0x3F0, 0x43F0, + 0x43F0, 0x43F4, 0x43F0, 0x3F4, 0x43F0, 0x7F3F0, 0x43F0, 0x2E3F0, + 0x440, 0x43F0, 0x43F0, 0x7F3F0, 0x40, 0x43F0, 0x2E3F0, 0x444, + 0x0, 0x3F0, 0x3F4, 0x3F4, 0x2E, 0x444, 0 +}; + +static const unsigned char IIT_LongEncodingTable[] = { + /* 0 */ 19, 15, 0, 1, 15, 0, 15, 0, 0, + /* 9 */ 0, 17, 15, 0, 0, + /* 14 */ 15, 0, 23, 0, 0, + /* 19 */ 19, 15, 1, 1, 15, 1, 15, 1, 1, 0, + /* 29 */ 0, 15, 3, 15, 7, 15, 8, 4, 1, 0, + /* 39 */ 12, 2, 12, 2, 4, 12, 2, 4, 2, 0, + /* 49 */ 10, 4, 10, 4, 14, 2, 10, 4, 10, 4, 2, 0, + /* 61 */ 10, 4, 10, 4, 14, 2, 9, 5, 10, 4, 2, 0, + /* 73 */ 10, 4, 10, 4, 14, 2, 10, 5, 10, 4, 2, 0, + /* 85 */ 11, 4, 11, 4, 14, 2, 11, 4, 11, 4, 2, 0, + /* 97 */ 9, 5, 9, 5, 14, 2, 10, 4, 9, 5, 2, 0, + /* 109 */ 9, 5, 9, 5, 14, 2, 9, 5, 9, 5, 2, 0, + /* 121 */ 10, 5, 10, 5, 14, 2, 10, 4, 10, 5, 2, 0, + /* 133 */ 10, 5, 10, 5, 14, 2, 10, 5, 10, 5, 2, 0, + /* 145 */ 11, 5, 12, 4, 12, 4, 11, 5, 2, 0, + /* 155 */ 11, 5, 11, 5, 11, 5, 11, 5, 2, 0, + /* 165 */ 10, 7, 10, 7, 14, 2, 10, 4, 10, 7, 2, 0, + /* 177 */ 10, 7, 10, 7, 14, 2, 9, 5, 10, 7, 2, 0, + /* 189 */ 10, 7, 10, 7, 14, 2, 10, 5, 10, 7, 2, 0, + /* 201 */ 10, 7, 10, 7, 10, 7, 10, 7, 2, 0, + /* 211 */ 11, 7, 11, 7, 14, 2, 11, 4, 11, 7, 2, 0, + /* 223 */ 11, 7, 11, 7, 11, 7, 11, 7, 2, 0, + /* 233 */ 9, 8, 9, 8, 14, 2, 10, 4, 9, 8, 2, 0, + /* 245 */ 9, 8, 9, 8, 14, 2, 9, 5, 9, 8, 2, 0, + /* 257 */ 9, 8, 9, 8, 9, 8, 9, 8, 2, 0, + /* 267 */ 10, 8, 10, 8, 14, 2, 10, 4, 10, 8, 2, 0, + /* 279 */ 10, 8, 10, 8, 14, 2, 10, 5, 10, 8, 2, 0, + /* 291 */ 10, 8, 10, 8, 10, 8, 10, 8, 2, 0, + /* 301 */ 11, 8, 11, 5, 11, 8, 11, 8, 2, 0, + /* 311 */ 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 0, + /* 326 */ 19, 4, 4, 14, 2, 0, + /* 332 */ 19, 5, 5, 14, 2, 0, + /* 338 */ 0, 14, 18, 5, 14, 2, 0, + /* 345 */ 0, 16, 16, 14, 2, 0, + /* 351 */ 15, 2, 15, 2, 12, 2, 12, 2, 12, 2, 12, 2, 15, 2, 0, + /* 366 */ 15, 2, 15, 2, 12, 2, 12, 2, 12, 2, 15, 2, 0, + /* 379 */ 15, 2, 15, 2, 12, 2, 12, 2, 15, 2, 0, + /* 390 */ 16, 16, 16, 2, 0, + /* 395 */ 15, 2, 23, 2, 0, + /* 400 */ 15, 2, 23, 2, 23, 2, 0, + /* 407 */ 15, 2, 24, 2, 0, + /* 412 */ 15, 2, 24, 2, 24, 2, 0, + /* 419 */ 0, 5, 4, 4, 4, 3, 3, 3, 3, 0, + /* 429 */ 12, 4, 12, 4, 12, 4, 12, 4, 3, 0, + /* 439 */ 12, 7, 12, 4, 12, 7, 12, 7, 3, 0, + /* 449 */ 5, 17, 15, 3, 0, + /* 454 */ 15, 0, 23, 0, 4, 0, + /* 460 */ 11, 5, 11, 5, 14, 2, 11, 4, 2, 4, 0, + /* 471 */ 11, 8, 11, 8, 14, 2, 11, 4, 2, 4, 0, + /* 482 */ 11, 4, 11, 4, 14, 2, 11, 5, 2, 4, 0, + /* 493 */ 11, 5, 11, 5, 14, 2, 11, 5, 2, 4, 0, + /* 504 */ 11, 7, 11, 7, 14, 2, 11, 5, 2, 4, 0, + /* 515 */ 11, 8, 11, 8, 14, 2, 11, 5, 2, 4, 0, + /* 526 */ 10, 7, 10, 7, 10, 7, 10, 7, 2, 4, 0, + /* 537 */ 9, 8, 9, 8, 9, 8, 9, 8, 2, 4, 0, + /* 548 */ 11, 8, 11, 8, 4, 11, 8, 2, 4, 0, + /* 558 */ 11, 8, 11, 8, 11, 8, 11, 8, 2, 4, 0, + /* 569 */ 15, 0, 15, 0, 14, 2, 14, 2, 4, 0, + /* 579 */ 15, 3, 15, 3, 14, 2, 14, 2, 4, 0, + /* 589 */ 21, 15, 2, 15, 2, 15, 2, 15, 2, 14, 2, 4, 0, + /* 602 */ 20, 15, 2, 15, 2, 15, 2, 14, 2, 4, 0, + /* 613 */ 19, 15, 2, 15, 2, 14, 2, 4, 0, + /* 622 */ 0, 14, 2, 15, 2, 15, 2, 15, 2, 4, 0, + /* 633 */ 0, 14, 2, 15, 2, 15, 2, 15, 2, 15, 2, 4, 0, + /* 646 */ 15, 2, 24, 2, 4, 0, + /* 652 */ 12, 4, 12, 4, 14, 2, 12, 4, 3, 4, 0, + /* 663 */ 12, 7, 12, 7, 14, 2, 12, 4, 3, 4, 0, + /* 674 */ 12, 7, 12, 7, 4, 12, 7, 3, 4, 0, + /* 684 */ 12, 7, 12, 7, 12, 7, 12, 7, 3, 4, 0, + /* 695 */ 19, 3, 4, 0, + /* 699 */ 0, 14, 2, 15, 2, 15, 2, 4, 4, 0, + /* 709 */ 19, 15, 2, 15, 2, 14, 2, 15, 2, 15, 2, 4, 4, 0, + /* 723 */ 0, 14, 2, 15, 2, 15, 2, 15, 2, 4, 4, 0, + /* 735 */ 20, 15, 2, 15, 2, 15, 2, 14, 2, 15, 2, 15, 2, 15, 2, 4, 4, 0, + /* 753 */ 0, 14, 2, 15, 2, 15, 2, 15, 2, 15, 2, 4, 4, 0, + /* 767 */ 21, 15, 2, 15, 2, 15, 2, 15, 2, 14, 2, 15, 2, 15, 2, 15, 2, 15, 2, 4, 4, 0, + /* 789 */ 0, 5, 4, 4, 4, 4, 4, 4, 4, 0, + /* 799 */ 19, 4, 4, 4, 4, 4, 0, + /* 806 */ 21, 3, 3, 3, 3, 5, 4, 4, 4, 0, + /* 816 */ 19, 3, 3, 5, 4, 4, 4, 0, + /* 824 */ 21, 4, 4, 4, 4, 5, 4, 4, 4, 0, + /* 834 */ 19, 4, 4, 5, 4, 4, 4, 0, + /* 842 */ 21, 4, 4, 4, 4, 5, 5, 4, 4, 4, 0, + /* 853 */ 19, 5, 5, 5, 4, 4, 4, 0, + /* 861 */ 21, 7, 7, 7, 7, 5, 5, 4, 4, 4, 0, + /* 872 */ 21, 7, 7, 7, 7, 5, 4, 4, 4, 0, + /* 882 */ 21, 3, 3, 3, 3, 5, 4, 4, 0, + /* 891 */ 19, 3, 3, 5, 4, 4, 0, + /* 898 */ 21, 4, 4, 4, 4, 5, 4, 4, 0, + /* 907 */ 19, 4, 4, 5, 4, 4, 0, + /* 914 */ 21, 4, 4, 4, 4, 5, 5, 4, 4, 0, + /* 924 */ 19, 5, 5, 5, 4, 4, 0, + /* 931 */ 21, 7, 7, 7, 7, 5, 5, 4, 4, 0, + /* 941 */ 21, 7, 7, 7, 7, 5, 4, 4, 0, + /* 950 */ 0, 14, 2, 2, 11, 5, 11, 4, 4, 0, + /* 960 */ 0, 14, 2, 3, 12, 4, 12, 4, 4, 0, + /* 970 */ 16, 16, 4, 4, 0, + /* 975 */ 19, 4, 4, 0, + /* 979 */ 21, 3, 3, 3, 3, 5, 4, 0, + /* 987 */ 19, 3, 3, 5, 4, 0, + /* 993 */ 21, 4, 4, 4, 4, 5, 4, 0, + /* 1001 */ 19, 4, 4, 5, 4, 0, + /* 1007 */ 21, 4, 4, 4, 4, 5, 5, 4, 0, + /* 1016 */ 19, 5, 5, 5, 4, 0, + /* 1022 */ 21, 7, 7, 7, 7, 5, 5, 4, 0, + /* 1031 */ 21, 7, 7, 7, 7, 5, 4, 0, + /* 1039 */ 0, 14, 2, 2, 11, 4, 11, 5, 4, 0, + /* 1049 */ 0, 14, 2, 2, 11, 5, 11, 5, 4, 0, + /* 1059 */ 19, 5, 4, 0, + /* 1063 */ 0, 14, 2, 2, 11, 5, 11, 7, 4, 0, + /* 1073 */ 0, 14, 2, 3, 12, 4, 12, 7, 4, 0, + /* 1083 */ 0, 14, 2, 2, 11, 4, 11, 8, 4, 0, + /* 1093 */ 0, 14, 2, 2, 11, 5, 11, 8, 4, 0, + /* 1103 */ 4, 16, 4, 0, + /* 1107 */ 16, 16, 4, 0, + /* 1111 */ 21, 4, 4, 4, 4, 5, 4, 7, 0, + /* 1120 */ 21, 4, 4, 4, 4, 5, 5, 4, 7, 0, + /* 1130 */ 21, 7, 7, 7, 7, 5, 5, 4, 7, 0, + /* 1140 */ 21, 7, 7, 7, 7, 5, 4, 7, 0, + /* 1149 */ 21, 4, 4, 4, 4, 5, 7, 0, + /* 1157 */ 21, 4, 4, 4, 4, 5, 5, 7, 0, + /* 1166 */ 21, 7, 7, 7, 7, 5, 5, 7, 0, + /* 1175 */ 21, 7, 7, 7, 7, 5, 7, 0, + /* 1183 */ 21, 4, 4, 4, 4, 5, 4, 7, 7, 0, + /* 1193 */ 21, 4, 4, 4, 4, 5, 5, 4, 7, 7, 0, + /* 1204 */ 21, 7, 7, 7, 7, 5, 5, 4, 7, 7, 0, + /* 1215 */ 21, 7, 7, 7, 7, 5, 4, 7, 7, 0, + /* 1225 */ 21, 4, 4, 4, 4, 5, 7, 7, 0, + /* 1234 */ 21, 4, 4, 4, 4, 5, 5, 7, 7, 0, + /* 1244 */ 21, 7, 7, 7, 7, 5, 5, 7, 7, 0, + /* 1254 */ 21, 7, 7, 7, 7, 5, 7, 7, 0, + /* 1263 */ 21, 4, 4, 4, 4, 5, 4, 7, 7, 7, 0, + /* 1274 */ 21, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 0, + /* 1286 */ 21, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 0, + /* 1298 */ 21, 7, 7, 7, 7, 5, 4, 7, 7, 7, 0, + /* 1309 */ 21, 4, 4, 4, 4, 5, 7, 7, 7, 0, + /* 1319 */ 21, 4, 4, 4, 4, 5, 5, 7, 7, 7, 0, + /* 1330 */ 21, 7, 7, 7, 7, 5, 5, 7, 7, 7, 0, + /* 1341 */ 21, 7, 7, 7, 7, 5, 7, 7, 7, 0, + /* 1351 */ 21, 4, 4, 4, 4, 5, 4, 7, 7, 7, 7, 0, + /* 1363 */ 21, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 7, 0, + /* 1376 */ 21, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 7, 0, + /* 1389 */ 21, 7, 7, 7, 7, 5, 4, 7, 7, 7, 7, 0, + /* 1401 */ 21, 4, 4, 4, 4, 5, 7, 7, 7, 7, 0, + /* 1412 */ 21, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 0, + /* 1424 */ 21, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 0, + /* 1436 */ 21, 7, 7, 7, 7, 5, 7, 7, 7, 7, 0, + /* 1447 */ 21, 4, 4, 4, 4, 5, 4, 7, 7, 7, 7, 7, 7, 0, + /* 1461 */ 21, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 7, 7, 7, 0, + /* 1476 */ 21, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 7, 7, 7, 0, + /* 1491 */ 21, 7, 7, 7, 7, 5, 4, 7, 7, 7, 7, 7, 7, 0, + /* 1505 */ 21, 4, 4, 4, 4, 5, 7, 7, 7, 7, 7, 7, 0, + /* 1518 */ 21, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7, 0, + /* 1532 */ 21, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 7, 7, 0, + /* 1546 */ 21, 7, 7, 7, 7, 5, 7, 7, 7, 7, 7, 7, 0, + /* 1559 */ 21, 4, 4, 4, 4, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, + /* 1575 */ 21, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, + /* 1592 */ 21, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, + /* 1609 */ 21, 7, 7, 7, 7, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, + /* 1625 */ 16, 10, 7, 0, + /* 1629 */ 0, 15, 2, 15, 2, 15, 2, 15, 7, 0, + /* 1639 */ 0, 15, 2, 15, 2, 15, 2, 15, 2, 15, 7, 0, + /* 1651 */ 21, 15, 2, 15, 2, 15, 2, 15, 2, 15, 7, 0, + /* 1663 */ 20, 15, 2, 15, 2, 15, 2, 15, 7, 0, + /* 1673 */ 19, 15, 2, 15, 2, 15, 7, 0, + /* 1681 */ 0, 15, 2, 15, 2, 15, 2, 5, 15, 7, 0, + /* 1692 */ 0, 15, 2, 15, 2, 15, 2, 15, 2, 5, 15, 7, 0, + /* 1705 */ 21, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 5, 15, 7, 0, + /* 1726 */ 20, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 15, 2, 5, 15, 7, 0, + /* 1743 */ 19, 15, 2, 15, 2, 15, 2, 15, 2, 5, 15, 7, 0, + /* 1756 */ 9, 8, 9, 8, 9, 8, 9, 8, 0, + /* 1765 */ 16, 9, 8, 0, + /* 1769 */ 10, 8, 10, 8, 10, 8, 10, 8, 0, + /* 1778 */ 11, 8, 11, 8, 11, 8, 11, 8, 0, + /* 1787 */ 4, 16, 0, + /* 1790 */ 10, 7, 10, 7, 16, 0, + /* 1796 */ 9, 8, 16, 0, + /* 1800 */ 0, 14, 16, 16, 0, + /* 1805 */ 16, 16, 16, 0, + /* 1809 */ 15, 0, 17, 0, + /* 1813 */ 0, 17, 5, 17, 0, + /* 1818 */ 0, 17, 17, 0, + /* 1822 */ 0, 5, 4, 14, 2, 4, 27, 0, + /* 1830 */ 5, 5, 4, 14, 2, 4, 27, 0, + /* 1838 */ 0, 5, 4, 27, 0, + 255 +}; + +#endif + +// Add parameter attributes that are not common to all intrinsics. +#ifdef GET_INTRINSIC_ATTRIBUTES +AttributeSet Intrinsic::getAttributes(LLVMContext &C, ID id) { + static const uint8_t IntrinsicsToAttributesMap[] = { + 1, // llvm.AMDGPU.div.fixup + 1, // llvm.AMDGPU.div.fmas + 1, // llvm.AMDGPU.div.scale + 1, // llvm.AMDGPU.rcp + 1, // llvm.AMDGPU.rsq + 1, // llvm.AMDGPU.rsq.clamped + 1, // llvm.AMDGPU.trig.preop + 2, // llvm.aarch64.clrex + 1, // llvm.aarch64.crc32b + 1, // llvm.aarch64.crc32cb + 1, // llvm.aarch64.crc32ch + 1, // llvm.aarch64.crc32cw + 1, // llvm.aarch64.crc32cx + 1, // llvm.aarch64.crc32h + 1, // llvm.aarch64.crc32w + 1, // llvm.aarch64.crc32x + 1, // llvm.aarch64.crypto.aesd + 1, // llvm.aarch64.crypto.aese + 1, // llvm.aarch64.crypto.aesimc + 1, // llvm.aarch64.crypto.aesmc + 1, // llvm.aarch64.crypto.sha1c + 1, // llvm.aarch64.crypto.sha1h + 1, // llvm.aarch64.crypto.sha1m + 1, // llvm.aarch64.crypto.sha1p + 1, // llvm.aarch64.crypto.sha1su0 + 1, // llvm.aarch64.crypto.sha1su1 + 1, // llvm.aarch64.crypto.sha256h + 1, // llvm.aarch64.crypto.sha256h2 + 1, // llvm.aarch64.crypto.sha256su0 + 1, // llvm.aarch64.crypto.sha256su1 + 2, // llvm.aarch64.dmb + 2, // llvm.aarch64.dsb + 2, // llvm.aarch64.hint + 2, // llvm.aarch64.isb + 2, // llvm.aarch64.ldaxp + 2, // llvm.aarch64.ldaxr + 2, // llvm.aarch64.ldxp + 2, // llvm.aarch64.ldxr + 1, // llvm.aarch64.neon.abs + 1, // llvm.aarch64.neon.addhn + 1, // llvm.aarch64.neon.addp + 1, // llvm.aarch64.neon.cls + 1, // llvm.aarch64.neon.fabd + 1, // llvm.aarch64.neon.facge + 1, // llvm.aarch64.neon.facgt + 1, // llvm.aarch64.neon.faddv + 1, // llvm.aarch64.neon.fcvtas + 1, // llvm.aarch64.neon.fcvtau + 1, // llvm.aarch64.neon.fcvtms + 1, // llvm.aarch64.neon.fcvtmu + 1, // llvm.aarch64.neon.fcvtns + 1, // llvm.aarch64.neon.fcvtnu + 1, // llvm.aarch64.neon.fcvtps + 1, // llvm.aarch64.neon.fcvtpu + 1, // llvm.aarch64.neon.fcvtxn + 1, // llvm.aarch64.neon.fcvtzs + 1, // llvm.aarch64.neon.fcvtzu + 1, // llvm.aarch64.neon.fmax + 1, // llvm.aarch64.neon.fmaxnm + 1, // llvm.aarch64.neon.fmaxnmp + 1, // llvm.aarch64.neon.fmaxnmv + 1, // llvm.aarch64.neon.fmaxp + 1, // llvm.aarch64.neon.fmaxv + 1, // llvm.aarch64.neon.fmin + 1, // llvm.aarch64.neon.fminnm + 1, // llvm.aarch64.neon.fminnmp + 1, // llvm.aarch64.neon.fminnmv + 1, // llvm.aarch64.neon.fminp + 1, // llvm.aarch64.neon.fminv + 1, // llvm.aarch64.neon.fmulx + 1, // llvm.aarch64.neon.frecpe + 1, // llvm.aarch64.neon.frecps + 1, // llvm.aarch64.neon.frecpx + 1, // llvm.aarch64.neon.frintn + 1, // llvm.aarch64.neon.frsqrte + 1, // llvm.aarch64.neon.frsqrts + 3, // llvm.aarch64.neon.ld1x2 + 3, // llvm.aarch64.neon.ld1x3 + 3, // llvm.aarch64.neon.ld1x4 + 3, // llvm.aarch64.neon.ld2 + 3, // llvm.aarch64.neon.ld2lane + 3, // llvm.aarch64.neon.ld2r + 3, // llvm.aarch64.neon.ld3 + 3, // llvm.aarch64.neon.ld3lane + 3, // llvm.aarch64.neon.ld3r + 3, // llvm.aarch64.neon.ld4 + 3, // llvm.aarch64.neon.ld4lane + 3, // llvm.aarch64.neon.ld4r + 1, // llvm.aarch64.neon.pmul + 1, // llvm.aarch64.neon.pmull + 1, // llvm.aarch64.neon.pmull64 + 1, // llvm.aarch64.neon.raddhn + 1, // llvm.aarch64.neon.rbit + 1, // llvm.aarch64.neon.rshrn + 1, // llvm.aarch64.neon.rsubhn + 1, // llvm.aarch64.neon.sabd + 1, // llvm.aarch64.neon.saddlp + 1, // llvm.aarch64.neon.saddlv + 1, // llvm.aarch64.neon.saddv + 1, // llvm.aarch64.neon.scalar.sqxtn + 1, // llvm.aarch64.neon.scalar.sqxtun + 1, // llvm.aarch64.neon.scalar.uqxtn + 1, // llvm.aarch64.neon.shadd + 1, // llvm.aarch64.neon.shll + 1, // llvm.aarch64.neon.shsub + 1, // llvm.aarch64.neon.smax + 1, // llvm.aarch64.neon.smaxp + 1, // llvm.aarch64.neon.smaxv + 1, // llvm.aarch64.neon.smin + 1, // llvm.aarch64.neon.sminp + 1, // llvm.aarch64.neon.sminv + 1, // llvm.aarch64.neon.smull + 1, // llvm.aarch64.neon.sqabs + 1, // llvm.aarch64.neon.sqadd + 1, // llvm.aarch64.neon.sqdmulh + 1, // llvm.aarch64.neon.sqdmull + 1, // llvm.aarch64.neon.sqdmulls.scalar + 1, // llvm.aarch64.neon.sqneg + 1, // llvm.aarch64.neon.sqrdmulh + 1, // llvm.aarch64.neon.sqrshl + 1, // llvm.aarch64.neon.sqrshrn + 1, // llvm.aarch64.neon.sqrshrun + 1, // llvm.aarch64.neon.sqshl + 1, // llvm.aarch64.neon.sqshlu + 1, // llvm.aarch64.neon.sqshrn + 1, // llvm.aarch64.neon.sqshrun + 1, // llvm.aarch64.neon.sqsub + 1, // llvm.aarch64.neon.sqxtn + 1, // llvm.aarch64.neon.sqxtun + 1, // llvm.aarch64.neon.srhadd + 1, // llvm.aarch64.neon.srshl + 1, // llvm.aarch64.neon.sshl + 1, // llvm.aarch64.neon.sshll + 4, // llvm.aarch64.neon.st1x2 + 5, // llvm.aarch64.neon.st1x3 + 6, // llvm.aarch64.neon.st1x4 + 4, // llvm.aarch64.neon.st2 + 5, // llvm.aarch64.neon.st2lane + 5, // llvm.aarch64.neon.st3 + 6, // llvm.aarch64.neon.st3lane + 6, // llvm.aarch64.neon.st4 + 7, // llvm.aarch64.neon.st4lane + 1, // llvm.aarch64.neon.subhn + 1, // llvm.aarch64.neon.suqadd + 1, // llvm.aarch64.neon.tbl1 + 1, // llvm.aarch64.neon.tbl2 + 1, // llvm.aarch64.neon.tbl3 + 1, // llvm.aarch64.neon.tbl4 + 1, // llvm.aarch64.neon.tbx1 + 1, // llvm.aarch64.neon.tbx2 + 1, // llvm.aarch64.neon.tbx3 + 1, // llvm.aarch64.neon.tbx4 + 1, // llvm.aarch64.neon.uabd + 1, // llvm.aarch64.neon.uaddlp + 1, // llvm.aarch64.neon.uaddlv + 1, // llvm.aarch64.neon.uaddv + 1, // llvm.aarch64.neon.uhadd + 1, // llvm.aarch64.neon.uhsub + 1, // llvm.aarch64.neon.umax + 1, // llvm.aarch64.neon.umaxp + 1, // llvm.aarch64.neon.umaxv + 1, // llvm.aarch64.neon.umin + 1, // llvm.aarch64.neon.uminp + 1, // llvm.aarch64.neon.uminv + 1, // llvm.aarch64.neon.umull + 1, // llvm.aarch64.neon.uqadd + 1, // llvm.aarch64.neon.uqrshl + 1, // llvm.aarch64.neon.uqrshrn + 1, // llvm.aarch64.neon.uqshl + 1, // llvm.aarch64.neon.uqshrn + 1, // llvm.aarch64.neon.uqsub + 1, // llvm.aarch64.neon.uqxtn + 1, // llvm.aarch64.neon.urecpe + 1, // llvm.aarch64.neon.urhadd + 1, // llvm.aarch64.neon.urshl + 1, // llvm.aarch64.neon.ursqrte + 1, // llvm.aarch64.neon.ushl + 1, // llvm.aarch64.neon.ushll + 1, // llvm.aarch64.neon.usqadd + 1, // llvm.aarch64.neon.vcopy.lane + 1, // llvm.aarch64.neon.vcvtfp2fxs + 1, // llvm.aarch64.neon.vcvtfp2fxu + 1, // llvm.aarch64.neon.vcvtfp2hf + 1, // llvm.aarch64.neon.vcvtfxs2fp + 1, // llvm.aarch64.neon.vcvtfxu2fp + 1, // llvm.aarch64.neon.vcvthf2fp + 1, // llvm.aarch64.neon.vsli + 1, // llvm.aarch64.neon.vsri + 1, // llvm.aarch64.rbit + 1, // llvm.aarch64.sdiv + 1, // llvm.aarch64.sisd.fabd + 1, // llvm.aarch64.sisd.fcvtxn + 2, // llvm.aarch64.stlxp + 2, // llvm.aarch64.stlxr + 2, // llvm.aarch64.stxp + 2, // llvm.aarch64.stxr + 1, // llvm.aarch64.udiv + 3, // llvm.adjust.trampoline + 2, // llvm.annotation + 2, // llvm.arm.cdp + 2, // llvm.arm.cdp2 + 2, // llvm.arm.clrex + 1, // llvm.arm.crc32b + 1, // llvm.arm.crc32cb + 1, // llvm.arm.crc32ch + 1, // llvm.arm.crc32cw + 1, // llvm.arm.crc32h + 1, // llvm.arm.crc32w + 2, // llvm.arm.dmb + 2, // llvm.arm.dsb + 1, // llvm.arm.get.fpscr + 2, // llvm.arm.hint + 2, // llvm.arm.isb + 2, // llvm.arm.ldaex + 2, // llvm.arm.ldaexd + 2, // llvm.arm.ldrex + 2, // llvm.arm.ldrexd + 2, // llvm.arm.mcr + 2, // llvm.arm.mcr2 + 2, // llvm.arm.mcrr + 2, // llvm.arm.mcrr2 + 2, // llvm.arm.mrc + 2, // llvm.arm.mrc2 + 1, // llvm.arm.neon.aesd + 1, // llvm.arm.neon.aese + 1, // llvm.arm.neon.aesimc + 1, // llvm.arm.neon.aesmc + 1, // llvm.arm.neon.sha1c + 1, // llvm.arm.neon.sha1h + 1, // llvm.arm.neon.sha1m + 1, // llvm.arm.neon.sha1p + 1, // llvm.arm.neon.sha1su0 + 1, // llvm.arm.neon.sha1su1 + 1, // llvm.arm.neon.sha256h + 1, // llvm.arm.neon.sha256h2 + 1, // llvm.arm.neon.sha256su0 + 1, // llvm.arm.neon.sha256su1 + 1, // llvm.arm.neon.vabds + 1, // llvm.arm.neon.vabdu + 1, // llvm.arm.neon.vabs + 1, // llvm.arm.neon.vacge + 1, // llvm.arm.neon.vacgt + 1, // llvm.arm.neon.vbsl + 1, // llvm.arm.neon.vcls + 1, // llvm.arm.neon.vclz + 1, // llvm.arm.neon.vcnt + 1, // llvm.arm.neon.vcvtas + 1, // llvm.arm.neon.vcvtau + 1, // llvm.arm.neon.vcvtfp2fxs + 1, // llvm.arm.neon.vcvtfp2fxu + 1, // llvm.arm.neon.vcvtfp2hf + 1, // llvm.arm.neon.vcvtfxs2fp + 1, // llvm.arm.neon.vcvtfxu2fp + 1, // llvm.arm.neon.vcvthf2fp + 1, // llvm.arm.neon.vcvtms + 1, // llvm.arm.neon.vcvtmu + 1, // llvm.arm.neon.vcvtns + 1, // llvm.arm.neon.vcvtnu + 1, // llvm.arm.neon.vcvtps + 1, // llvm.arm.neon.vcvtpu + 1, // llvm.arm.neon.vhadds + 1, // llvm.arm.neon.vhaddu + 1, // llvm.arm.neon.vhsubs + 1, // llvm.arm.neon.vhsubu + 3, // llvm.arm.neon.vld1 + 3, // llvm.arm.neon.vld2 + 3, // llvm.arm.neon.vld2lane + 3, // llvm.arm.neon.vld3 + 3, // llvm.arm.neon.vld3lane + 3, // llvm.arm.neon.vld4 + 3, // llvm.arm.neon.vld4lane + 1, // llvm.arm.neon.vmaxnm + 1, // llvm.arm.neon.vmaxs + 1, // llvm.arm.neon.vmaxu + 1, // llvm.arm.neon.vminnm + 1, // llvm.arm.neon.vmins + 1, // llvm.arm.neon.vminu + 1, // llvm.arm.neon.vmullp + 1, // llvm.arm.neon.vmulls + 1, // llvm.arm.neon.vmullu + 1, // llvm.arm.neon.vmulp + 1, // llvm.arm.neon.vpadals + 1, // llvm.arm.neon.vpadalu + 1, // llvm.arm.neon.vpadd + 1, // llvm.arm.neon.vpaddls + 1, // llvm.arm.neon.vpaddlu + 1, // llvm.arm.neon.vpmaxs + 1, // llvm.arm.neon.vpmaxu + 1, // llvm.arm.neon.vpmins + 1, // llvm.arm.neon.vpminu + 1, // llvm.arm.neon.vqabs + 1, // llvm.arm.neon.vqadds + 1, // llvm.arm.neon.vqaddu + 1, // llvm.arm.neon.vqdmulh + 1, // llvm.arm.neon.vqdmull + 1, // llvm.arm.neon.vqmovns + 1, // llvm.arm.neon.vqmovnsu + 1, // llvm.arm.neon.vqmovnu + 1, // llvm.arm.neon.vqneg + 1, // llvm.arm.neon.vqrdmulh + 1, // llvm.arm.neon.vqrshiftns + 1, // llvm.arm.neon.vqrshiftnsu + 1, // llvm.arm.neon.vqrshiftnu + 1, // llvm.arm.neon.vqrshifts + 1, // llvm.arm.neon.vqrshiftu + 1, // llvm.arm.neon.vqshiftns + 1, // llvm.arm.neon.vqshiftnsu + 1, // llvm.arm.neon.vqshiftnu + 1, // llvm.arm.neon.vqshifts + 1, // llvm.arm.neon.vqshiftsu + 1, // llvm.arm.neon.vqshiftu + 1, // llvm.arm.neon.vqsubs + 1, // llvm.arm.neon.vqsubu + 1, // llvm.arm.neon.vraddhn + 1, // llvm.arm.neon.vrecpe + 1, // llvm.arm.neon.vrecps + 1, // llvm.arm.neon.vrhadds + 1, // llvm.arm.neon.vrhaddu + 1, // llvm.arm.neon.vrinta + 1, // llvm.arm.neon.vrintm + 1, // llvm.arm.neon.vrintn + 1, // llvm.arm.neon.vrintp + 1, // llvm.arm.neon.vrintx + 1, // llvm.arm.neon.vrintz + 1, // llvm.arm.neon.vrshiftn + 1, // llvm.arm.neon.vrshifts + 1, // llvm.arm.neon.vrshiftu + 1, // llvm.arm.neon.vrsqrte + 1, // llvm.arm.neon.vrsqrts + 1, // llvm.arm.neon.vrsubhn + 1, // llvm.arm.neon.vshiftins + 1, // llvm.arm.neon.vshifts + 1, // llvm.arm.neon.vshiftu + 2, // llvm.arm.neon.vst1 + 2, // llvm.arm.neon.vst2 + 2, // llvm.arm.neon.vst2lane + 2, // llvm.arm.neon.vst3 + 2, // llvm.arm.neon.vst3lane + 2, // llvm.arm.neon.vst4 + 2, // llvm.arm.neon.vst4lane + 1, // llvm.arm.neon.vtbl1 + 1, // llvm.arm.neon.vtbl2 + 1, // llvm.arm.neon.vtbl3 + 1, // llvm.arm.neon.vtbl4 + 1, // llvm.arm.neon.vtbx1 + 1, // llvm.arm.neon.vtbx2 + 1, // llvm.arm.neon.vtbx3 + 1, // llvm.arm.neon.vtbx4 + 1, // llvm.arm.qadd + 1, // llvm.arm.qsub + 1, // llvm.arm.rbit + 2, // llvm.arm.set.fpscr + 1, // llvm.arm.ssat + 2, // llvm.arm.stlex + 2, // llvm.arm.stlexd + 2, // llvm.arm.strex + 2, // llvm.arm.strexd + 1, // llvm.arm.thread.pointer + 2, // llvm.arm.undefined + 1, // llvm.arm.usat + 1, // llvm.arm.vcvtr + 1, // llvm.arm.vcvtru + 1, // llvm.bswap + 1, // llvm.ceil + 2, // llvm.clear_cache + 1, // llvm.convert.from.fp16 + 1, // llvm.convert.to.fp16 + 2, // llvm.convertff + 2, // llvm.convertfsi + 2, // llvm.convertfui + 2, // llvm.convertsif + 2, // llvm.convertss + 2, // llvm.convertsu + 2, // llvm.convertuif + 2, // llvm.convertus + 2, // llvm.convertuu + 1, // llvm.copysign + 1, // llvm.cos + 1, // llvm.ctlz + 1, // llvm.ctpop + 1, // llvm.cttz + 8, // llvm.cuda.syncthreads + 1, // llvm.dbg.declare + 1, // llvm.dbg.value + 2, // llvm.debugtrap + 1, // llvm.donothing + 2, // llvm.eh.dwarf.cfa + 2, // llvm.eh.return.i32 + 2, // llvm.eh.return.i64 + 1, // llvm.eh.sjlj.callsite + 2, // llvm.eh.sjlj.functioncontext + 9, // llvm.eh.sjlj.longjmp + 1, // llvm.eh.sjlj.lsda + 2, // llvm.eh.sjlj.setjmp + 1, // llvm.eh.typeid.for + 2, // llvm.eh.unwind.init + 1, // llvm.exp + 1, // llvm.exp2 + 1, // llvm.expect + 2, // llvm.experimental.patchpoint.i64 + 2, // llvm.experimental.patchpoint.void + 10, // llvm.experimental.stackmap + 1, // llvm.fabs + 1, // llvm.floor + 2, // llvm.flt.rounds + 1, // llvm.fma + 1, // llvm.fmuladd + 1, // llvm.frameaddress + 3, // llvm.gcread + 2, // llvm.gcroot + 11, // llvm.gcwrite + 1, // llvm.hexagon.A2.abs + 1, // llvm.hexagon.A2.absp + 1, // llvm.hexagon.A2.abssat + 1, // llvm.hexagon.A2.add + 1, // llvm.hexagon.A2.addh.h16.hh + 1, // llvm.hexagon.A2.addh.h16.hl + 1, // llvm.hexagon.A2.addh.h16.lh + 1, // llvm.hexagon.A2.addh.h16.ll + 1, // llvm.hexagon.A2.addh.h16.sat.hh + 1, // llvm.hexagon.A2.addh.h16.sat.hl + 1, // llvm.hexagon.A2.addh.h16.sat.lh + 1, // llvm.hexagon.A2.addh.h16.sat.ll + 1, // llvm.hexagon.A2.addh.l16.hl + 1, // llvm.hexagon.A2.addh.l16.ll + 1, // llvm.hexagon.A2.addh.l16.sat.hl + 1, // llvm.hexagon.A2.addh.l16.sat.ll + 1, // llvm.hexagon.A2.addi + 1, // llvm.hexagon.A2.addp + 1, // llvm.hexagon.A2.addpsat + 1, // llvm.hexagon.A2.addsat + 1, // llvm.hexagon.A2.addsp + 1, // llvm.hexagon.A2.and + 1, // llvm.hexagon.A2.andir + 1, // llvm.hexagon.A2.andp + 1, // llvm.hexagon.A2.aslh + 1, // llvm.hexagon.A2.asrh + 1, // llvm.hexagon.A2.combine.hh + 1, // llvm.hexagon.A2.combine.hl + 1, // llvm.hexagon.A2.combine.lh + 1, // llvm.hexagon.A2.combine.ll + 1, // llvm.hexagon.A2.combineii + 1, // llvm.hexagon.A2.combinew + 1, // llvm.hexagon.A2.max + 1, // llvm.hexagon.A2.maxp + 1, // llvm.hexagon.A2.maxu + 1, // llvm.hexagon.A2.maxup + 1, // llvm.hexagon.A2.min + 1, // llvm.hexagon.A2.minp + 1, // llvm.hexagon.A2.minu + 1, // llvm.hexagon.A2.minup + 1, // llvm.hexagon.A2.neg + 1, // llvm.hexagon.A2.negp + 1, // llvm.hexagon.A2.negsat + 1, // llvm.hexagon.A2.not + 1, // llvm.hexagon.A2.notp + 1, // llvm.hexagon.A2.or + 1, // llvm.hexagon.A2.orir + 1, // llvm.hexagon.A2.orp + 1, // llvm.hexagon.A2.roundsat + 1, // llvm.hexagon.A2.sat + 1, // llvm.hexagon.A2.satb + 1, // llvm.hexagon.A2.sath + 1, // llvm.hexagon.A2.satub + 1, // llvm.hexagon.A2.satuh + 1, // llvm.hexagon.A2.sub + 1, // llvm.hexagon.A2.subh.h16.hh + 1, // llvm.hexagon.A2.subh.h16.hl + 1, // llvm.hexagon.A2.subh.h16.lh + 1, // llvm.hexagon.A2.subh.h16.ll + 1, // llvm.hexagon.A2.subh.h16.sat.hh + 1, // llvm.hexagon.A2.subh.h16.sat.hl + 1, // llvm.hexagon.A2.subh.h16.sat.lh + 1, // llvm.hexagon.A2.subh.h16.sat.ll + 1, // llvm.hexagon.A2.subh.l16.hl + 1, // llvm.hexagon.A2.subh.l16.ll + 1, // llvm.hexagon.A2.subh.l16.sat.hl + 1, // llvm.hexagon.A2.subh.l16.sat.ll + 1, // llvm.hexagon.A2.subp + 1, // llvm.hexagon.A2.subri + 1, // llvm.hexagon.A2.subsat + 1, // llvm.hexagon.A2.svaddh + 1, // llvm.hexagon.A2.svaddhs + 1, // llvm.hexagon.A2.svadduhs + 1, // llvm.hexagon.A2.svavgh + 1, // llvm.hexagon.A2.svavghs + 1, // llvm.hexagon.A2.svnavgh + 1, // llvm.hexagon.A2.svsubh + 1, // llvm.hexagon.A2.svsubhs + 1, // llvm.hexagon.A2.svsubuhs + 1, // llvm.hexagon.A2.swiz + 1, // llvm.hexagon.A2.sxtb + 1, // llvm.hexagon.A2.sxth + 1, // llvm.hexagon.A2.sxtw + 1, // llvm.hexagon.A2.tfr + 1, // llvm.hexagon.A2.tfrih + 1, // llvm.hexagon.A2.tfril + 1, // llvm.hexagon.A2.tfrp + 1, // llvm.hexagon.A2.tfrpi + 1, // llvm.hexagon.A2.tfrsi + 1, // llvm.hexagon.A2.vabsh + 1, // llvm.hexagon.A2.vabshsat + 1, // llvm.hexagon.A2.vabsw + 1, // llvm.hexagon.A2.vabswsat + 1, // llvm.hexagon.A2.vaddb.map + 1, // llvm.hexagon.A2.vaddh + 1, // llvm.hexagon.A2.vaddhs + 1, // llvm.hexagon.A2.vaddub + 1, // llvm.hexagon.A2.vaddubs + 1, // llvm.hexagon.A2.vadduhs + 1, // llvm.hexagon.A2.vaddw + 1, // llvm.hexagon.A2.vaddws + 1, // llvm.hexagon.A2.vavgh + 1, // llvm.hexagon.A2.vavghcr + 1, // llvm.hexagon.A2.vavghr + 1, // llvm.hexagon.A2.vavgub + 1, // llvm.hexagon.A2.vavgubr + 1, // llvm.hexagon.A2.vavguh + 1, // llvm.hexagon.A2.vavguhr + 1, // llvm.hexagon.A2.vavguw + 1, // llvm.hexagon.A2.vavguwr + 1, // llvm.hexagon.A2.vavgw + 1, // llvm.hexagon.A2.vavgwcr + 1, // llvm.hexagon.A2.vavgwr + 1, // llvm.hexagon.A2.vcmpbeq + 1, // llvm.hexagon.A2.vcmpbgtu + 1, // llvm.hexagon.A2.vcmpheq + 1, // llvm.hexagon.A2.vcmphgt + 1, // llvm.hexagon.A2.vcmphgtu + 1, // llvm.hexagon.A2.vcmpweq + 1, // llvm.hexagon.A2.vcmpwgt + 1, // llvm.hexagon.A2.vcmpwgtu + 1, // llvm.hexagon.A2.vconj + 1, // llvm.hexagon.A2.vmaxb + 1, // llvm.hexagon.A2.vmaxh + 1, // llvm.hexagon.A2.vmaxub + 1, // llvm.hexagon.A2.vmaxuh + 1, // llvm.hexagon.A2.vmaxuw + 1, // llvm.hexagon.A2.vmaxw + 1, // llvm.hexagon.A2.vminb + 1, // llvm.hexagon.A2.vminh + 1, // llvm.hexagon.A2.vminub + 1, // llvm.hexagon.A2.vminuh + 1, // llvm.hexagon.A2.vminuw + 1, // llvm.hexagon.A2.vminw + 1, // llvm.hexagon.A2.vnavgh + 1, // llvm.hexagon.A2.vnavghcr + 1, // llvm.hexagon.A2.vnavghr + 1, // llvm.hexagon.A2.vnavgw + 1, // llvm.hexagon.A2.vnavgwcr + 1, // llvm.hexagon.A2.vnavgwr + 1, // llvm.hexagon.A2.vraddub + 1, // llvm.hexagon.A2.vraddub.acc + 1, // llvm.hexagon.A2.vrsadub + 1, // llvm.hexagon.A2.vrsadub.acc + 1, // llvm.hexagon.A2.vsubb.map + 1, // llvm.hexagon.A2.vsubh + 1, // llvm.hexagon.A2.vsubhs + 1, // llvm.hexagon.A2.vsubub + 1, // llvm.hexagon.A2.vsububs + 1, // llvm.hexagon.A2.vsubuhs + 1, // llvm.hexagon.A2.vsubw + 1, // llvm.hexagon.A2.vsubws + 1, // llvm.hexagon.A2.xor + 1, // llvm.hexagon.A2.xorp + 1, // llvm.hexagon.A2.zxtb + 1, // llvm.hexagon.A2.zxth + 1, // llvm.hexagon.A4.andn + 1, // llvm.hexagon.A4.andnp + 1, // llvm.hexagon.A4.bitsplit + 1, // llvm.hexagon.A4.bitspliti + 1, // llvm.hexagon.A4.boundscheck + 1, // llvm.hexagon.A4.cmpbeq + 1, // llvm.hexagon.A4.cmpbeqi + 1, // llvm.hexagon.A4.cmpbgt + 1, // llvm.hexagon.A4.cmpbgti + 1, // llvm.hexagon.A4.cmpbgtu + 1, // llvm.hexagon.A4.cmpbgtui + 1, // llvm.hexagon.A4.cmpheq + 1, // llvm.hexagon.A4.cmpheqi + 1, // llvm.hexagon.A4.cmphgt + 1, // llvm.hexagon.A4.cmphgti + 1, // llvm.hexagon.A4.cmphgtu + 1, // llvm.hexagon.A4.cmphgtui + 1, // llvm.hexagon.A4.combineir + 1, // llvm.hexagon.A4.combineri + 1, // llvm.hexagon.A4.cround.ri + 1, // llvm.hexagon.A4.cround.rr + 1, // llvm.hexagon.A4.modwrapu + 1, // llvm.hexagon.A4.orn + 1, // llvm.hexagon.A4.ornp + 1, // llvm.hexagon.A4.rcmpeq + 1, // llvm.hexagon.A4.rcmpeqi + 1, // llvm.hexagon.A4.rcmpneq + 1, // llvm.hexagon.A4.rcmpneqi + 1, // llvm.hexagon.A4.round.ri + 1, // llvm.hexagon.A4.round.ri.sat + 1, // llvm.hexagon.A4.round.rr + 1, // llvm.hexagon.A4.round.rr.sat + 1, // llvm.hexagon.A4.tlbmatch + 1, // llvm.hexagon.A4.vcmpbeq.any + 1, // llvm.hexagon.A4.vcmpbeqi + 1, // llvm.hexagon.A4.vcmpbgt + 1, // llvm.hexagon.A4.vcmpbgti + 1, // llvm.hexagon.A4.vcmpbgtui + 1, // llvm.hexagon.A4.vcmpheqi + 1, // llvm.hexagon.A4.vcmphgti + 1, // llvm.hexagon.A4.vcmphgtui + 1, // llvm.hexagon.A4.vcmpweqi + 1, // llvm.hexagon.A4.vcmpwgti + 1, // llvm.hexagon.A4.vcmpwgtui + 1, // llvm.hexagon.A4.vrmaxh + 1, // llvm.hexagon.A4.vrmaxuh + 1, // llvm.hexagon.A4.vrmaxuw + 1, // llvm.hexagon.A4.vrmaxw + 1, // llvm.hexagon.A4.vrminh + 1, // llvm.hexagon.A4.vrminuh + 1, // llvm.hexagon.A4.vrminuw + 1, // llvm.hexagon.A4.vrminw + 1, // llvm.hexagon.A5.vaddhubs + 1, // llvm.hexagon.C2.all8 + 1, // llvm.hexagon.C2.and + 1, // llvm.hexagon.C2.andn + 1, // llvm.hexagon.C2.any8 + 1, // llvm.hexagon.C2.bitsclr + 1, // llvm.hexagon.C2.bitsclri + 1, // llvm.hexagon.C2.bitsset + 1, // llvm.hexagon.C2.cmpeq + 1, // llvm.hexagon.C2.cmpeqi + 1, // llvm.hexagon.C2.cmpeqp + 1, // llvm.hexagon.C2.cmpgei + 1, // llvm.hexagon.C2.cmpgeui + 1, // llvm.hexagon.C2.cmpgt + 1, // llvm.hexagon.C2.cmpgti + 1, // llvm.hexagon.C2.cmpgtp + 1, // llvm.hexagon.C2.cmpgtu + 1, // llvm.hexagon.C2.cmpgtui + 1, // llvm.hexagon.C2.cmpgtup + 1, // llvm.hexagon.C2.cmplt + 1, // llvm.hexagon.C2.cmpltu + 1, // llvm.hexagon.C2.mask + 1, // llvm.hexagon.C2.mux + 1, // llvm.hexagon.C2.muxii + 1, // llvm.hexagon.C2.muxir + 1, // llvm.hexagon.C2.muxri + 1, // llvm.hexagon.C2.not + 1, // llvm.hexagon.C2.or + 1, // llvm.hexagon.C2.orn + 1, // llvm.hexagon.C2.pxfer.map + 1, // llvm.hexagon.C2.tfrpr + 1, // llvm.hexagon.C2.tfrrp + 1, // llvm.hexagon.C2.vitpack + 1, // llvm.hexagon.C2.vmux + 1, // llvm.hexagon.C2.xor + 1, // llvm.hexagon.C4.and.and + 1, // llvm.hexagon.C4.and.andn + 1, // llvm.hexagon.C4.and.or + 1, // llvm.hexagon.C4.and.orn + 1, // llvm.hexagon.C4.cmplte + 1, // llvm.hexagon.C4.cmpltei + 1, // llvm.hexagon.C4.cmplteu + 1, // llvm.hexagon.C4.cmplteui + 1, // llvm.hexagon.C4.cmpneq + 1, // llvm.hexagon.C4.cmpneqi + 1, // llvm.hexagon.C4.fastcorner9 + 1, // llvm.hexagon.C4.fastcorner9.not + 1, // llvm.hexagon.C4.nbitsclr + 1, // llvm.hexagon.C4.nbitsclri + 1, // llvm.hexagon.C4.nbitsset + 1, // llvm.hexagon.C4.or.and + 1, // llvm.hexagon.C4.or.andn + 1, // llvm.hexagon.C4.or.or + 1, // llvm.hexagon.C4.or.orn + 1, // llvm.hexagon.F2.conv.d2df + 1, // llvm.hexagon.F2.conv.d2sf + 1, // llvm.hexagon.F2.conv.df2d + 1, // llvm.hexagon.F2.conv.df2d.chop + 1, // llvm.hexagon.F2.conv.df2sf + 1, // llvm.hexagon.F2.conv.df2ud + 1, // llvm.hexagon.F2.conv.df2ud.chop + 1, // llvm.hexagon.F2.conv.df2uw + 1, // llvm.hexagon.F2.conv.df2uw.chop + 1, // llvm.hexagon.F2.conv.df2w + 1, // llvm.hexagon.F2.conv.df2w.chop + 1, // llvm.hexagon.F2.conv.sf2d + 1, // llvm.hexagon.F2.conv.sf2d.chop + 1, // llvm.hexagon.F2.conv.sf2df + 1, // llvm.hexagon.F2.conv.sf2ud + 1, // llvm.hexagon.F2.conv.sf2ud.chop + 1, // llvm.hexagon.F2.conv.sf2uw + 1, // llvm.hexagon.F2.conv.sf2uw.chop + 1, // llvm.hexagon.F2.conv.sf2w + 1, // llvm.hexagon.F2.conv.sf2w.chop + 1, // llvm.hexagon.F2.conv.ud2df + 1, // llvm.hexagon.F2.conv.ud2sf + 1, // llvm.hexagon.F2.conv.uw2df + 1, // llvm.hexagon.F2.conv.uw2sf + 1, // llvm.hexagon.F2.conv.w2df + 1, // llvm.hexagon.F2.conv.w2sf + 1, // llvm.hexagon.F2.dfadd + 1, // llvm.hexagon.F2.dfclass + 1, // llvm.hexagon.F2.dfcmpeq + 1, // llvm.hexagon.F2.dfcmpge + 1, // llvm.hexagon.F2.dfcmpgt + 1, // llvm.hexagon.F2.dfcmpuo + 1, // llvm.hexagon.F2.dffixupd + 1, // llvm.hexagon.F2.dffixupn + 1, // llvm.hexagon.F2.dffixupr + 1, // llvm.hexagon.F2.dffma + 1, // llvm.hexagon.F2.dffma.lib + 1, // llvm.hexagon.F2.dffma.sc + 1, // llvm.hexagon.F2.dffms + 1, // llvm.hexagon.F2.dffms.lib + 1, // llvm.hexagon.F2.dfimm.n + 1, // llvm.hexagon.F2.dfimm.p + 1, // llvm.hexagon.F2.dfmax + 1, // llvm.hexagon.F2.dfmin + 1, // llvm.hexagon.F2.dfmpy + 1, // llvm.hexagon.F2.dfsub + 1, // llvm.hexagon.F2.sfadd + 1, // llvm.hexagon.F2.sfclass + 1, // llvm.hexagon.F2.sfcmpeq + 1, // llvm.hexagon.F2.sfcmpge + 1, // llvm.hexagon.F2.sfcmpgt + 1, // llvm.hexagon.F2.sfcmpuo + 1, // llvm.hexagon.F2.sffixupd + 1, // llvm.hexagon.F2.sffixupn + 1, // llvm.hexagon.F2.sffixupr + 1, // llvm.hexagon.F2.sffma + 1, // llvm.hexagon.F2.sffma.lib + 1, // llvm.hexagon.F2.sffma.sc + 1, // llvm.hexagon.F2.sffms + 1, // llvm.hexagon.F2.sffms.lib + 1, // llvm.hexagon.F2.sfimm.n + 1, // llvm.hexagon.F2.sfimm.p + 1, // llvm.hexagon.F2.sfmax + 1, // llvm.hexagon.F2.sfmin + 1, // llvm.hexagon.F2.sfmpy + 1, // llvm.hexagon.F2.sfsub + 1, // llvm.hexagon.M2.acci + 1, // llvm.hexagon.M2.accii + 1, // llvm.hexagon.M2.cmaci.s0 + 1, // llvm.hexagon.M2.cmacr.s0 + 1, // llvm.hexagon.M2.cmacs.s0 + 1, // llvm.hexagon.M2.cmacs.s1 + 1, // llvm.hexagon.M2.cmacsc.s0 + 1, // llvm.hexagon.M2.cmacsc.s1 + 1, // llvm.hexagon.M2.cmpyi.s0 + 1, // llvm.hexagon.M2.cmpyr.s0 + 1, // llvm.hexagon.M2.cmpyrs.s0 + 1, // llvm.hexagon.M2.cmpyrs.s1 + 1, // llvm.hexagon.M2.cmpyrsc.s0 + 1, // llvm.hexagon.M2.cmpyrsc.s1 + 1, // llvm.hexagon.M2.cmpys.s0 + 1, // llvm.hexagon.M2.cmpys.s1 + 1, // llvm.hexagon.M2.cmpysc.s0 + 1, // llvm.hexagon.M2.cmpysc.s1 + 1, // llvm.hexagon.M2.cnacs.s0 + 1, // llvm.hexagon.M2.cnacs.s1 + 1, // llvm.hexagon.M2.cnacsc.s0 + 1, // llvm.hexagon.M2.cnacsc.s1 + 1, // llvm.hexagon.M2.dpmpyss.acc.s0 + 1, // llvm.hexagon.M2.dpmpyss.nac.s0 + 1, // llvm.hexagon.M2.dpmpyss.rnd.s0 + 1, // llvm.hexagon.M2.dpmpyss.s0 + 1, // llvm.hexagon.M2.dpmpyuu.acc.s0 + 1, // llvm.hexagon.M2.dpmpyuu.nac.s0 + 1, // llvm.hexagon.M2.dpmpyuu.s0 + 1, // llvm.hexagon.M2.hmmpyh.rs1 + 1, // llvm.hexagon.M2.hmmpyh.s1 + 1, // llvm.hexagon.M2.hmmpyl.rs1 + 1, // llvm.hexagon.M2.hmmpyl.s1 + 1, // llvm.hexagon.M2.maci + 1, // llvm.hexagon.M2.macsin + 1, // llvm.hexagon.M2.macsip + 1, // llvm.hexagon.M2.mmachs.rs0 + 1, // llvm.hexagon.M2.mmachs.rs1 + 1, // llvm.hexagon.M2.mmachs.s0 + 1, // llvm.hexagon.M2.mmachs.s1 + 1, // llvm.hexagon.M2.mmacls.rs0 + 1, // llvm.hexagon.M2.mmacls.rs1 + 1, // llvm.hexagon.M2.mmacls.s0 + 1, // llvm.hexagon.M2.mmacls.s1 + 1, // llvm.hexagon.M2.mmacuhs.rs0 + 1, // llvm.hexagon.M2.mmacuhs.rs1 + 1, // llvm.hexagon.M2.mmacuhs.s0 + 1, // llvm.hexagon.M2.mmacuhs.s1 + 1, // llvm.hexagon.M2.mmaculs.rs0 + 1, // llvm.hexagon.M2.mmaculs.rs1 + 1, // llvm.hexagon.M2.mmaculs.s0 + 1, // llvm.hexagon.M2.mmaculs.s1 + 1, // llvm.hexagon.M2.mmpyh.rs0 + 1, // llvm.hexagon.M2.mmpyh.rs1 + 1, // llvm.hexagon.M2.mmpyh.s0 + 1, // llvm.hexagon.M2.mmpyh.s1 + 1, // llvm.hexagon.M2.mmpyl.rs0 + 1, // llvm.hexagon.M2.mmpyl.rs1 + 1, // llvm.hexagon.M2.mmpyl.s0 + 1, // llvm.hexagon.M2.mmpyl.s1 + 1, // llvm.hexagon.M2.mmpyuh.rs0 + 1, // llvm.hexagon.M2.mmpyuh.rs1 + 1, // llvm.hexagon.M2.mmpyuh.s0 + 1, // llvm.hexagon.M2.mmpyuh.s1 + 1, // llvm.hexagon.M2.mmpyul.rs0 + 1, // llvm.hexagon.M2.mmpyul.rs1 + 1, // llvm.hexagon.M2.mmpyul.s0 + 1, // llvm.hexagon.M2.mmpyul.s1 + 1, // llvm.hexagon.M2.mpy.acc.hh.s0 + 1, // llvm.hexagon.M2.mpy.acc.hh.s1 + 1, // llvm.hexagon.M2.mpy.acc.hl.s0 + 1, // llvm.hexagon.M2.mpy.acc.hl.s1 + 1, // llvm.hexagon.M2.mpy.acc.lh.s0 + 1, // llvm.hexagon.M2.mpy.acc.lh.s1 + 1, // llvm.hexagon.M2.mpy.acc.ll.s0 + 1, // llvm.hexagon.M2.mpy.acc.ll.s1 + 1, // llvm.hexagon.M2.mpy.acc.sat.hh.s0 + 1, // llvm.hexagon.M2.mpy.acc.sat.hh.s1 + 1, // llvm.hexagon.M2.mpy.acc.sat.hl.s0 + 1, // llvm.hexagon.M2.mpy.acc.sat.hl.s1 + 1, // llvm.hexagon.M2.mpy.acc.sat.lh.s0 + 1, // llvm.hexagon.M2.mpy.acc.sat.lh.s1 + 1, // llvm.hexagon.M2.mpy.acc.sat.ll.s0 + 1, // llvm.hexagon.M2.mpy.acc.sat.ll.s1 + 1, // llvm.hexagon.M2.mpy.hh.s0 + 1, // llvm.hexagon.M2.mpy.hh.s1 + 1, // llvm.hexagon.M2.mpy.hl.s0 + 1, // llvm.hexagon.M2.mpy.hl.s1 + 1, // llvm.hexagon.M2.mpy.lh.s0 + 1, // llvm.hexagon.M2.mpy.lh.s1 + 1, // llvm.hexagon.M2.mpy.ll.s0 + 1, // llvm.hexagon.M2.mpy.ll.s1 + 1, // llvm.hexagon.M2.mpy.nac.hh.s0 + 1, // llvm.hexagon.M2.mpy.nac.hh.s1 + 1, // llvm.hexagon.M2.mpy.nac.hl.s0 + 1, // llvm.hexagon.M2.mpy.nac.hl.s1 + 1, // llvm.hexagon.M2.mpy.nac.lh.s0 + 1, // llvm.hexagon.M2.mpy.nac.lh.s1 + 1, // llvm.hexagon.M2.mpy.nac.ll.s0 + 1, // llvm.hexagon.M2.mpy.nac.ll.s1 + 1, // llvm.hexagon.M2.mpy.nac.sat.hh.s0 + 1, // llvm.hexagon.M2.mpy.nac.sat.hh.s1 + 1, // llvm.hexagon.M2.mpy.nac.sat.hl.s0 + 1, // llvm.hexagon.M2.mpy.nac.sat.hl.s1 + 1, // llvm.hexagon.M2.mpy.nac.sat.lh.s0 + 1, // llvm.hexagon.M2.mpy.nac.sat.lh.s1 + 1, // llvm.hexagon.M2.mpy.nac.sat.ll.s0 + 1, // llvm.hexagon.M2.mpy.nac.sat.ll.s1 + 1, // llvm.hexagon.M2.mpy.rnd.hh.s0 + 1, // llvm.hexagon.M2.mpy.rnd.hh.s1 + 1, // llvm.hexagon.M2.mpy.rnd.hl.s0 + 1, // llvm.hexagon.M2.mpy.rnd.hl.s1 + 1, // llvm.hexagon.M2.mpy.rnd.lh.s0 + 1, // llvm.hexagon.M2.mpy.rnd.lh.s1 + 1, // llvm.hexagon.M2.mpy.rnd.ll.s0 + 1, // llvm.hexagon.M2.mpy.rnd.ll.s1 + 1, // llvm.hexagon.M2.mpy.sat.hh.s0 + 1, // llvm.hexagon.M2.mpy.sat.hh.s1 + 1, // llvm.hexagon.M2.mpy.sat.hl.s0 + 1, // llvm.hexagon.M2.mpy.sat.hl.s1 + 1, // llvm.hexagon.M2.mpy.sat.lh.s0 + 1, // llvm.hexagon.M2.mpy.sat.lh.s1 + 1, // llvm.hexagon.M2.mpy.sat.ll.s0 + 1, // llvm.hexagon.M2.mpy.sat.ll.s1 + 1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s0 + 1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s1 + 1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s0 + 1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s1 + 1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s0 + 1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s1 + 1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s0 + 1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s1 + 1, // llvm.hexagon.M2.mpy.up + 1, // llvm.hexagon.M2.mpy.up.s1 + 1, // llvm.hexagon.M2.mpy.up.s1.sat + 1, // llvm.hexagon.M2.mpyd.acc.hh.s0 + 1, // llvm.hexagon.M2.mpyd.acc.hh.s1 + 1, // llvm.hexagon.M2.mpyd.acc.hl.s0 + 1, // llvm.hexagon.M2.mpyd.acc.hl.s1 + 1, // llvm.hexagon.M2.mpyd.acc.lh.s0 + 1, // llvm.hexagon.M2.mpyd.acc.lh.s1 + 1, // llvm.hexagon.M2.mpyd.acc.ll.s0 + 1, // llvm.hexagon.M2.mpyd.acc.ll.s1 + 1, // llvm.hexagon.M2.mpyd.hh.s0 + 1, // llvm.hexagon.M2.mpyd.hh.s1 + 1, // llvm.hexagon.M2.mpyd.hl.s0 + 1, // llvm.hexagon.M2.mpyd.hl.s1 + 1, // llvm.hexagon.M2.mpyd.lh.s0 + 1, // llvm.hexagon.M2.mpyd.lh.s1 + 1, // llvm.hexagon.M2.mpyd.ll.s0 + 1, // llvm.hexagon.M2.mpyd.ll.s1 + 1, // llvm.hexagon.M2.mpyd.nac.hh.s0 + 1, // llvm.hexagon.M2.mpyd.nac.hh.s1 + 1, // llvm.hexagon.M2.mpyd.nac.hl.s0 + 1, // llvm.hexagon.M2.mpyd.nac.hl.s1 + 1, // llvm.hexagon.M2.mpyd.nac.lh.s0 + 1, // llvm.hexagon.M2.mpyd.nac.lh.s1 + 1, // llvm.hexagon.M2.mpyd.nac.ll.s0 + 1, // llvm.hexagon.M2.mpyd.nac.ll.s1 + 1, // llvm.hexagon.M2.mpyd.rnd.hh.s0 + 1, // llvm.hexagon.M2.mpyd.rnd.hh.s1 + 1, // llvm.hexagon.M2.mpyd.rnd.hl.s0 + 1, // llvm.hexagon.M2.mpyd.rnd.hl.s1 + 1, // llvm.hexagon.M2.mpyd.rnd.lh.s0 + 1, // llvm.hexagon.M2.mpyd.rnd.lh.s1 + 1, // llvm.hexagon.M2.mpyd.rnd.ll.s0 + 1, // llvm.hexagon.M2.mpyd.rnd.ll.s1 + 1, // llvm.hexagon.M2.mpyi + 1, // llvm.hexagon.M2.mpysmi + 1, // llvm.hexagon.M2.mpysu.up + 1, // llvm.hexagon.M2.mpyu.acc.hh.s0 + 1, // llvm.hexagon.M2.mpyu.acc.hh.s1 + 1, // llvm.hexagon.M2.mpyu.acc.hl.s0 + 1, // llvm.hexagon.M2.mpyu.acc.hl.s1 + 1, // llvm.hexagon.M2.mpyu.acc.lh.s0 + 1, // llvm.hexagon.M2.mpyu.acc.lh.s1 + 1, // llvm.hexagon.M2.mpyu.acc.ll.s0 + 1, // llvm.hexagon.M2.mpyu.acc.ll.s1 + 1, // llvm.hexagon.M2.mpyu.hh.s0 + 1, // llvm.hexagon.M2.mpyu.hh.s1 + 1, // llvm.hexagon.M2.mpyu.hl.s0 + 1, // llvm.hexagon.M2.mpyu.hl.s1 + 1, // llvm.hexagon.M2.mpyu.lh.s0 + 1, // llvm.hexagon.M2.mpyu.lh.s1 + 1, // llvm.hexagon.M2.mpyu.ll.s0 + 1, // llvm.hexagon.M2.mpyu.ll.s1 + 1, // llvm.hexagon.M2.mpyu.nac.hh.s0 + 1, // llvm.hexagon.M2.mpyu.nac.hh.s1 + 1, // llvm.hexagon.M2.mpyu.nac.hl.s0 + 1, // llvm.hexagon.M2.mpyu.nac.hl.s1 + 1, // llvm.hexagon.M2.mpyu.nac.lh.s0 + 1, // llvm.hexagon.M2.mpyu.nac.lh.s1 + 1, // llvm.hexagon.M2.mpyu.nac.ll.s0 + 1, // llvm.hexagon.M2.mpyu.nac.ll.s1 + 1, // llvm.hexagon.M2.mpyu.up + 1, // llvm.hexagon.M2.mpyud.acc.hh.s0 + 1, // llvm.hexagon.M2.mpyud.acc.hh.s1 + 1, // llvm.hexagon.M2.mpyud.acc.hl.s0 + 1, // llvm.hexagon.M2.mpyud.acc.hl.s1 + 1, // llvm.hexagon.M2.mpyud.acc.lh.s0 + 1, // llvm.hexagon.M2.mpyud.acc.lh.s1 + 1, // llvm.hexagon.M2.mpyud.acc.ll.s0 + 1, // llvm.hexagon.M2.mpyud.acc.ll.s1 + 1, // llvm.hexagon.M2.mpyud.hh.s0 + 1, // llvm.hexagon.M2.mpyud.hh.s1 + 1, // llvm.hexagon.M2.mpyud.hl.s0 + 1, // llvm.hexagon.M2.mpyud.hl.s1 + 1, // llvm.hexagon.M2.mpyud.lh.s0 + 1, // llvm.hexagon.M2.mpyud.lh.s1 + 1, // llvm.hexagon.M2.mpyud.ll.s0 + 1, // llvm.hexagon.M2.mpyud.ll.s1 + 1, // llvm.hexagon.M2.mpyud.nac.hh.s0 + 1, // llvm.hexagon.M2.mpyud.nac.hh.s1 + 1, // llvm.hexagon.M2.mpyud.nac.hl.s0 + 1, // llvm.hexagon.M2.mpyud.nac.hl.s1 + 1, // llvm.hexagon.M2.mpyud.nac.lh.s0 + 1, // llvm.hexagon.M2.mpyud.nac.lh.s1 + 1, // llvm.hexagon.M2.mpyud.nac.ll.s0 + 1, // llvm.hexagon.M2.mpyud.nac.ll.s1 + 1, // llvm.hexagon.M2.mpyui + 1, // llvm.hexagon.M2.nacci + 1, // llvm.hexagon.M2.naccii + 1, // llvm.hexagon.M2.subacc + 1, // llvm.hexagon.M2.vabsdiffh + 1, // llvm.hexagon.M2.vabsdiffw + 1, // llvm.hexagon.M2.vcmac.s0.sat.i + 1, // llvm.hexagon.M2.vcmac.s0.sat.r + 1, // llvm.hexagon.M2.vcmpy.s0.sat.i + 1, // llvm.hexagon.M2.vcmpy.s0.sat.r + 1, // llvm.hexagon.M2.vcmpy.s1.sat.i + 1, // llvm.hexagon.M2.vcmpy.s1.sat.r + 1, // llvm.hexagon.M2.vdmacs.s0 + 1, // llvm.hexagon.M2.vdmacs.s1 + 1, // llvm.hexagon.M2.vdmpyrs.s0 + 1, // llvm.hexagon.M2.vdmpyrs.s1 + 1, // llvm.hexagon.M2.vdmpys.s0 + 1, // llvm.hexagon.M2.vdmpys.s1 + 1, // llvm.hexagon.M2.vmac2 + 1, // llvm.hexagon.M2.vmac2es + 1, // llvm.hexagon.M2.vmac2es.s0 + 1, // llvm.hexagon.M2.vmac2es.s1 + 1, // llvm.hexagon.M2.vmac2s.s0 + 1, // llvm.hexagon.M2.vmac2s.s1 + 1, // llvm.hexagon.M2.vmac2su.s0 + 1, // llvm.hexagon.M2.vmac2su.s1 + 1, // llvm.hexagon.M2.vmpy2es.s0 + 1, // llvm.hexagon.M2.vmpy2es.s1 + 1, // llvm.hexagon.M2.vmpy2s.s0 + 1, // llvm.hexagon.M2.vmpy2s.s0pack + 1, // llvm.hexagon.M2.vmpy2s.s1 + 1, // llvm.hexagon.M2.vmpy2s.s1pack + 1, // llvm.hexagon.M2.vmpy2su.s0 + 1, // llvm.hexagon.M2.vmpy2su.s1 + 1, // llvm.hexagon.M2.vraddh + 1, // llvm.hexagon.M2.vradduh + 1, // llvm.hexagon.M2.vrcmaci.s0 + 1, // llvm.hexagon.M2.vrcmaci.s0c + 1, // llvm.hexagon.M2.vrcmacr.s0 + 1, // llvm.hexagon.M2.vrcmacr.s0c + 1, // llvm.hexagon.M2.vrcmpyi.s0 + 1, // llvm.hexagon.M2.vrcmpyi.s0c + 1, // llvm.hexagon.M2.vrcmpyr.s0 + 1, // llvm.hexagon.M2.vrcmpyr.s0c + 1, // llvm.hexagon.M2.vrcmpys.acc.s1 + 1, // llvm.hexagon.M2.vrcmpys.s1 + 1, // llvm.hexagon.M2.vrcmpys.s1rp + 1, // llvm.hexagon.M2.vrmac.s0 + 1, // llvm.hexagon.M2.vrmpy.s0 + 1, // llvm.hexagon.M2.xor.xacc + 1, // llvm.hexagon.M4.and.and + 1, // llvm.hexagon.M4.and.andn + 1, // llvm.hexagon.M4.and.or + 1, // llvm.hexagon.M4.and.xor + 1, // llvm.hexagon.M4.cmpyi.wh + 1, // llvm.hexagon.M4.cmpyi.whc + 1, // llvm.hexagon.M4.cmpyr.wh + 1, // llvm.hexagon.M4.cmpyr.whc + 1, // llvm.hexagon.M4.mac.up.s1.sat + 1, // llvm.hexagon.M4.mpyri.addi + 1, // llvm.hexagon.M4.mpyri.addr + 1, // llvm.hexagon.M4.mpyri.addr.u2 + 1, // llvm.hexagon.M4.mpyrr.addi + 1, // llvm.hexagon.M4.mpyrr.addr + 1, // llvm.hexagon.M4.nac.up.s1.sat + 1, // llvm.hexagon.M4.or.and + 1, // llvm.hexagon.M4.or.andn + 1, // llvm.hexagon.M4.or.or + 1, // llvm.hexagon.M4.or.xor + 1, // llvm.hexagon.M4.pmpyw + 1, // llvm.hexagon.M4.pmpyw.acc + 1, // llvm.hexagon.M4.vpmpyh + 1, // llvm.hexagon.M4.vpmpyh.acc + 1, // llvm.hexagon.M4.vrmpyeh.acc.s0 + 1, // llvm.hexagon.M4.vrmpyeh.acc.s1 + 1, // llvm.hexagon.M4.vrmpyeh.s0 + 1, // llvm.hexagon.M4.vrmpyeh.s1 + 1, // llvm.hexagon.M4.vrmpyoh.acc.s0 + 1, // llvm.hexagon.M4.vrmpyoh.acc.s1 + 1, // llvm.hexagon.M4.vrmpyoh.s0 + 1, // llvm.hexagon.M4.vrmpyoh.s1 + 1, // llvm.hexagon.M4.xor.and + 1, // llvm.hexagon.M4.xor.andn + 1, // llvm.hexagon.M4.xor.or + 1, // llvm.hexagon.M4.xor.xacc + 1, // llvm.hexagon.M5.vdmacbsu + 1, // llvm.hexagon.M5.vdmpybsu + 1, // llvm.hexagon.M5.vmacbsu + 1, // llvm.hexagon.M5.vmacbuu + 1, // llvm.hexagon.M5.vmpybsu + 1, // llvm.hexagon.M5.vmpybuu + 1, // llvm.hexagon.M5.vrmacbsu + 1, // llvm.hexagon.M5.vrmacbuu + 1, // llvm.hexagon.M5.vrmpybsu + 1, // llvm.hexagon.M5.vrmpybuu + 1, // llvm.hexagon.S2.addasl.rrri + 1, // llvm.hexagon.S2.asl.i.p + 1, // llvm.hexagon.S2.asl.i.p.acc + 1, // llvm.hexagon.S2.asl.i.p.and + 1, // llvm.hexagon.S2.asl.i.p.nac + 1, // llvm.hexagon.S2.asl.i.p.or + 1, // llvm.hexagon.S2.asl.i.p.xacc + 1, // llvm.hexagon.S2.asl.i.r + 1, // llvm.hexagon.S2.asl.i.r.acc + 1, // llvm.hexagon.S2.asl.i.r.and + 1, // llvm.hexagon.S2.asl.i.r.nac + 1, // llvm.hexagon.S2.asl.i.r.or + 1, // llvm.hexagon.S2.asl.i.r.sat + 1, // llvm.hexagon.S2.asl.i.r.xacc + 1, // llvm.hexagon.S2.asl.i.vh + 1, // llvm.hexagon.S2.asl.i.vw + 1, // llvm.hexagon.S2.asl.r.p + 1, // llvm.hexagon.S2.asl.r.p.acc + 1, // llvm.hexagon.S2.asl.r.p.and + 1, // llvm.hexagon.S2.asl.r.p.nac + 1, // llvm.hexagon.S2.asl.r.p.or + 1, // llvm.hexagon.S2.asl.r.p.xor + 1, // llvm.hexagon.S2.asl.r.r + 1, // llvm.hexagon.S2.asl.r.r.acc + 1, // llvm.hexagon.S2.asl.r.r.and + 1, // llvm.hexagon.S2.asl.r.r.nac + 1, // llvm.hexagon.S2.asl.r.r.or + 1, // llvm.hexagon.S2.asl.r.r.sat + 1, // llvm.hexagon.S2.asl.r.vh + 1, // llvm.hexagon.S2.asl.r.vw + 1, // llvm.hexagon.S2.asr.i.p + 1, // llvm.hexagon.S2.asr.i.p.acc + 1, // llvm.hexagon.S2.asr.i.p.and + 1, // llvm.hexagon.S2.asr.i.p.nac + 1, // llvm.hexagon.S2.asr.i.p.or + 1, // llvm.hexagon.S2.asr.i.p.rnd + 1, // llvm.hexagon.S2.asr.i.p.rnd.goodsyntax + 1, // llvm.hexagon.S2.asr.i.r + 1, // llvm.hexagon.S2.asr.i.r.acc + 1, // llvm.hexagon.S2.asr.i.r.and + 1, // llvm.hexagon.S2.asr.i.r.nac + 1, // llvm.hexagon.S2.asr.i.r.or + 1, // llvm.hexagon.S2.asr.i.r.rnd + 1, // llvm.hexagon.S2.asr.i.r.rnd.goodsyntax + 1, // llvm.hexagon.S2.asr.i.svw.trun + 1, // llvm.hexagon.S2.asr.i.vh + 1, // llvm.hexagon.S2.asr.i.vw + 1, // llvm.hexagon.S2.asr.r.p + 1, // llvm.hexagon.S2.asr.r.p.acc + 1, // llvm.hexagon.S2.asr.r.p.and + 1, // llvm.hexagon.S2.asr.r.p.nac + 1, // llvm.hexagon.S2.asr.r.p.or + 1, // llvm.hexagon.S2.asr.r.p.xor + 1, // llvm.hexagon.S2.asr.r.r + 1, // llvm.hexagon.S2.asr.r.r.acc + 1, // llvm.hexagon.S2.asr.r.r.and + 1, // llvm.hexagon.S2.asr.r.r.nac + 1, // llvm.hexagon.S2.asr.r.r.or + 1, // llvm.hexagon.S2.asr.r.r.sat + 1, // llvm.hexagon.S2.asr.r.svw.trun + 1, // llvm.hexagon.S2.asr.r.vh + 1, // llvm.hexagon.S2.asr.r.vw + 1, // llvm.hexagon.S2.brev + 1, // llvm.hexagon.S2.brevp + 1, // llvm.hexagon.S2.cl0 + 1, // llvm.hexagon.S2.cl0p + 1, // llvm.hexagon.S2.cl1 + 1, // llvm.hexagon.S2.cl1p + 1, // llvm.hexagon.S2.clb + 1, // llvm.hexagon.S2.clbnorm + 1, // llvm.hexagon.S2.clbp + 1, // llvm.hexagon.S2.clrbit.i + 1, // llvm.hexagon.S2.clrbit.r + 1, // llvm.hexagon.S2.ct0 + 1, // llvm.hexagon.S2.ct0p + 1, // llvm.hexagon.S2.ct1 + 1, // llvm.hexagon.S2.ct1p + 1, // llvm.hexagon.S2.deinterleave + 1, // llvm.hexagon.S2.extractu + 1, // llvm.hexagon.S2.extractu.rp + 1, // llvm.hexagon.S2.extractup + 1, // llvm.hexagon.S2.extractup.rp + 1, // llvm.hexagon.S2.insert + 1, // llvm.hexagon.S2.insert.rp + 1, // llvm.hexagon.S2.insertp + 1, // llvm.hexagon.S2.insertp.rp + 1, // llvm.hexagon.S2.interleave + 1, // llvm.hexagon.S2.lfsp + 1, // llvm.hexagon.S2.lsl.r.p + 1, // llvm.hexagon.S2.lsl.r.p.acc + 1, // llvm.hexagon.S2.lsl.r.p.and + 1, // llvm.hexagon.S2.lsl.r.p.nac + 1, // llvm.hexagon.S2.lsl.r.p.or + 1, // llvm.hexagon.S2.lsl.r.p.xor + 1, // llvm.hexagon.S2.lsl.r.r + 1, // llvm.hexagon.S2.lsl.r.r.acc + 1, // llvm.hexagon.S2.lsl.r.r.and + 1, // llvm.hexagon.S2.lsl.r.r.nac + 1, // llvm.hexagon.S2.lsl.r.r.or + 1, // llvm.hexagon.S2.lsl.r.vh + 1, // llvm.hexagon.S2.lsl.r.vw + 1, // llvm.hexagon.S2.lsr.i.p + 1, // llvm.hexagon.S2.lsr.i.p.acc + 1, // llvm.hexagon.S2.lsr.i.p.and + 1, // llvm.hexagon.S2.lsr.i.p.nac + 1, // llvm.hexagon.S2.lsr.i.p.or + 1, // llvm.hexagon.S2.lsr.i.p.xacc + 1, // llvm.hexagon.S2.lsr.i.r + 1, // llvm.hexagon.S2.lsr.i.r.acc + 1, // llvm.hexagon.S2.lsr.i.r.and + 1, // llvm.hexagon.S2.lsr.i.r.nac + 1, // llvm.hexagon.S2.lsr.i.r.or + 1, // llvm.hexagon.S2.lsr.i.r.xacc + 1, // llvm.hexagon.S2.lsr.i.vh + 1, // llvm.hexagon.S2.lsr.i.vw + 1, // llvm.hexagon.S2.lsr.r.p + 1, // llvm.hexagon.S2.lsr.r.p.acc + 1, // llvm.hexagon.S2.lsr.r.p.and + 1, // llvm.hexagon.S2.lsr.r.p.nac + 1, // llvm.hexagon.S2.lsr.r.p.or + 1, // llvm.hexagon.S2.lsr.r.p.xor + 1, // llvm.hexagon.S2.lsr.r.r + 1, // llvm.hexagon.S2.lsr.r.r.acc + 1, // llvm.hexagon.S2.lsr.r.r.and + 1, // llvm.hexagon.S2.lsr.r.r.nac + 1, // llvm.hexagon.S2.lsr.r.r.or + 1, // llvm.hexagon.S2.lsr.r.vh + 1, // llvm.hexagon.S2.lsr.r.vw + 1, // llvm.hexagon.S2.packhl + 1, // llvm.hexagon.S2.parityp + 1, // llvm.hexagon.S2.setbit.i + 1, // llvm.hexagon.S2.setbit.r + 1, // llvm.hexagon.S2.shuffeb + 1, // llvm.hexagon.S2.shuffeh + 1, // llvm.hexagon.S2.shuffob + 1, // llvm.hexagon.S2.shuffoh + 1, // llvm.hexagon.S2.svsathb + 1, // llvm.hexagon.S2.svsathub + 1, // llvm.hexagon.S2.tableidxb.goodsyntax + 1, // llvm.hexagon.S2.tableidxd.goodsyntax + 1, // llvm.hexagon.S2.tableidxh.goodsyntax + 1, // llvm.hexagon.S2.tableidxw.goodsyntax + 1, // llvm.hexagon.S2.togglebit.i + 1, // llvm.hexagon.S2.togglebit.r + 1, // llvm.hexagon.S2.tstbit.i + 1, // llvm.hexagon.S2.tstbit.r + 1, // llvm.hexagon.S2.valignib + 1, // llvm.hexagon.S2.valignrb + 1, // llvm.hexagon.S2.vcnegh + 1, // llvm.hexagon.S2.vcrotate + 1, // llvm.hexagon.S2.vrcnegh + 1, // llvm.hexagon.S2.vrndpackwh + 1, // llvm.hexagon.S2.vrndpackwhs + 1, // llvm.hexagon.S2.vsathb + 1, // llvm.hexagon.S2.vsathb.nopack + 1, // llvm.hexagon.S2.vsathub + 1, // llvm.hexagon.S2.vsathub.nopack + 1, // llvm.hexagon.S2.vsatwh + 1, // llvm.hexagon.S2.vsatwh.nopack + 1, // llvm.hexagon.S2.vsatwuh + 1, // llvm.hexagon.S2.vsatwuh.nopack + 1, // llvm.hexagon.S2.vsplatrb + 1, // llvm.hexagon.S2.vsplatrh + 1, // llvm.hexagon.S2.vspliceib + 1, // llvm.hexagon.S2.vsplicerb + 1, // llvm.hexagon.S2.vsxtbh + 1, // llvm.hexagon.S2.vsxthw + 1, // llvm.hexagon.S2.vtrunehb + 1, // llvm.hexagon.S2.vtrunewh + 1, // llvm.hexagon.S2.vtrunohb + 1, // llvm.hexagon.S2.vtrunowh + 1, // llvm.hexagon.S2.vzxtbh + 1, // llvm.hexagon.S2.vzxthw + 1, // llvm.hexagon.S4.addaddi + 1, // llvm.hexagon.S4.addi.asl.ri + 1, // llvm.hexagon.S4.addi.lsr.ri + 1, // llvm.hexagon.S4.andi.asl.ri + 1, // llvm.hexagon.S4.andi.lsr.ri + 1, // llvm.hexagon.S4.clbaddi + 1, // llvm.hexagon.S4.clbpaddi + 1, // llvm.hexagon.S4.clbpnorm + 1, // llvm.hexagon.S4.extract + 1, // llvm.hexagon.S4.extract.rp + 1, // llvm.hexagon.S4.extractp + 1, // llvm.hexagon.S4.extractp.rp + 1, // llvm.hexagon.S4.lsli + 1, // llvm.hexagon.S4.ntstbit.i + 1, // llvm.hexagon.S4.ntstbit.r + 1, // llvm.hexagon.S4.or.andi + 1, // llvm.hexagon.S4.or.andix + 1, // llvm.hexagon.S4.or.ori + 1, // llvm.hexagon.S4.ori.asl.ri + 1, // llvm.hexagon.S4.ori.lsr.ri + 1, // llvm.hexagon.S4.parity + 1, // llvm.hexagon.S4.subaddi + 1, // llvm.hexagon.S4.subi.asl.ri + 1, // llvm.hexagon.S4.subi.lsr.ri + 1, // llvm.hexagon.S4.vrcrotate + 1, // llvm.hexagon.S4.vrcrotate.acc + 1, // llvm.hexagon.S4.vxaddsubh + 1, // llvm.hexagon.S4.vxaddsubhr + 1, // llvm.hexagon.S4.vxaddsubw + 1, // llvm.hexagon.S4.vxsubaddh + 1, // llvm.hexagon.S4.vxsubaddhr + 1, // llvm.hexagon.S4.vxsubaddw + 1, // llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax + 1, // llvm.hexagon.S5.asrhub.sat + 1, // llvm.hexagon.S5.popcountp + 1, // llvm.hexagon.S5.vasrhrnd.goodsyntax + 1, // llvm.hexagon.SI.to.SXTHI.asrh + 2, // llvm.hexagon.circ.ldd + 12, // llvm.init.trampoline + 4, // llvm.invariant.end + 13, // llvm.invariant.start + 13, // llvm.lifetime.end + 13, // llvm.lifetime.start + 1, // llvm.log + 1, // llvm.log10 + 1, // llvm.log2 + 9, // llvm.longjmp + 14, // llvm.memcpy + 14, // llvm.memmove + 12, // llvm.memset + 2, // llvm.mips.absq.s.ph + 2, // llvm.mips.absq.s.qb + 2, // llvm.mips.absq.s.w + 1, // llvm.mips.add.a.b + 1, // llvm.mips.add.a.d + 1, // llvm.mips.add.a.h + 1, // llvm.mips.add.a.w + 1, // llvm.mips.addq.ph + 1, // llvm.mips.addq.s.ph + 2, // llvm.mips.addq.s.w + 1, // llvm.mips.addqh.ph + 1, // llvm.mips.addqh.r.ph + 1, // llvm.mips.addqh.r.w + 1, // llvm.mips.addqh.w + 1, // llvm.mips.adds.a.b + 1, // llvm.mips.adds.a.d + 1, // llvm.mips.adds.a.h + 1, // llvm.mips.adds.a.w + 1, // llvm.mips.adds.s.b + 1, // llvm.mips.adds.s.d + 1, // llvm.mips.adds.s.h + 1, // llvm.mips.adds.s.w + 1, // llvm.mips.adds.u.b + 1, // llvm.mips.adds.u.d + 1, // llvm.mips.adds.u.h + 1, // llvm.mips.adds.u.w + 2, // llvm.mips.addsc + 2, // llvm.mips.addu.ph + 1, // llvm.mips.addu.qb + 2, // llvm.mips.addu.s.ph + 1, // llvm.mips.addu.s.qb + 1, // llvm.mips.adduh.qb + 1, // llvm.mips.adduh.r.qb + 1, // llvm.mips.addv.b + 1, // llvm.mips.addv.d + 1, // llvm.mips.addv.h + 1, // llvm.mips.addv.w + 1, // llvm.mips.addvi.b + 1, // llvm.mips.addvi.d + 1, // llvm.mips.addvi.h + 1, // llvm.mips.addvi.w + 2, // llvm.mips.addwc + 1, // llvm.mips.and.v + 1, // llvm.mips.andi.b + 1, // llvm.mips.append + 1, // llvm.mips.asub.s.b + 1, // llvm.mips.asub.s.d + 1, // llvm.mips.asub.s.h + 1, // llvm.mips.asub.s.w + 1, // llvm.mips.asub.u.b + 1, // llvm.mips.asub.u.d + 1, // llvm.mips.asub.u.h + 1, // llvm.mips.asub.u.w + 1, // llvm.mips.ave.s.b + 1, // llvm.mips.ave.s.d + 1, // llvm.mips.ave.s.h + 1, // llvm.mips.ave.s.w + 1, // llvm.mips.ave.u.b + 1, // llvm.mips.ave.u.d + 1, // llvm.mips.ave.u.h + 1, // llvm.mips.ave.u.w + 1, // llvm.mips.aver.s.b + 1, // llvm.mips.aver.s.d + 1, // llvm.mips.aver.s.h + 1, // llvm.mips.aver.s.w + 1, // llvm.mips.aver.u.b + 1, // llvm.mips.aver.u.d + 1, // llvm.mips.aver.u.h + 1, // llvm.mips.aver.u.w + 1, // llvm.mips.balign + 1, // llvm.mips.bclr.b + 1, // llvm.mips.bclr.d + 1, // llvm.mips.bclr.h + 1, // llvm.mips.bclr.w + 1, // llvm.mips.bclri.b + 1, // llvm.mips.bclri.d + 1, // llvm.mips.bclri.h + 1, // llvm.mips.bclri.w + 1, // llvm.mips.binsl.b + 1, // llvm.mips.binsl.d + 1, // llvm.mips.binsl.h + 1, // llvm.mips.binsl.w + 1, // llvm.mips.binsli.b + 1, // llvm.mips.binsli.d + 1, // llvm.mips.binsli.h + 1, // llvm.mips.binsli.w + 1, // llvm.mips.binsr.b + 1, // llvm.mips.binsr.d + 1, // llvm.mips.binsr.h + 1, // llvm.mips.binsr.w + 1, // llvm.mips.binsri.b + 1, // llvm.mips.binsri.d + 1, // llvm.mips.binsri.h + 1, // llvm.mips.binsri.w + 1, // llvm.mips.bitrev + 1, // llvm.mips.bmnz.v + 1, // llvm.mips.bmnzi.b + 1, // llvm.mips.bmz.v + 1, // llvm.mips.bmzi.b + 1, // llvm.mips.bneg.b + 1, // llvm.mips.bneg.d + 1, // llvm.mips.bneg.h + 1, // llvm.mips.bneg.w + 1, // llvm.mips.bnegi.b + 1, // llvm.mips.bnegi.d + 1, // llvm.mips.bnegi.h + 1, // llvm.mips.bnegi.w + 1, // llvm.mips.bnz.b + 1, // llvm.mips.bnz.d + 1, // llvm.mips.bnz.h + 1, // llvm.mips.bnz.v + 1, // llvm.mips.bnz.w + 3, // llvm.mips.bposge32 + 1, // llvm.mips.bsel.v + 1, // llvm.mips.bseli.b + 1, // llvm.mips.bset.b + 1, // llvm.mips.bset.d + 1, // llvm.mips.bset.h + 1, // llvm.mips.bset.w + 1, // llvm.mips.bseti.b + 1, // llvm.mips.bseti.d + 1, // llvm.mips.bseti.h + 1, // llvm.mips.bseti.w + 1, // llvm.mips.bz.b + 1, // llvm.mips.bz.d + 1, // llvm.mips.bz.h + 1, // llvm.mips.bz.v + 1, // llvm.mips.bz.w + 1, // llvm.mips.ceq.b + 1, // llvm.mips.ceq.d + 1, // llvm.mips.ceq.h + 1, // llvm.mips.ceq.w + 1, // llvm.mips.ceqi.b + 1, // llvm.mips.ceqi.d + 1, // llvm.mips.ceqi.h + 1, // llvm.mips.ceqi.w + 2, // llvm.mips.cfcmsa + 1, // llvm.mips.cle.s.b + 1, // llvm.mips.cle.s.d + 1, // llvm.mips.cle.s.h + 1, // llvm.mips.cle.s.w + 1, // llvm.mips.cle.u.b + 1, // llvm.mips.cle.u.d + 1, // llvm.mips.cle.u.h + 1, // llvm.mips.cle.u.w + 1, // llvm.mips.clei.s.b + 1, // llvm.mips.clei.s.d + 1, // llvm.mips.clei.s.h + 1, // llvm.mips.clei.s.w + 1, // llvm.mips.clei.u.b + 1, // llvm.mips.clei.u.d + 1, // llvm.mips.clei.u.h + 1, // llvm.mips.clei.u.w + 1, // llvm.mips.clt.s.b + 1, // llvm.mips.clt.s.d + 1, // llvm.mips.clt.s.h + 1, // llvm.mips.clt.s.w + 1, // llvm.mips.clt.u.b + 1, // llvm.mips.clt.u.d + 1, // llvm.mips.clt.u.h + 1, // llvm.mips.clt.u.w + 1, // llvm.mips.clti.s.b + 1, // llvm.mips.clti.s.d + 1, // llvm.mips.clti.s.h + 1, // llvm.mips.clti.s.w + 1, // llvm.mips.clti.u.b + 1, // llvm.mips.clti.u.d + 1, // llvm.mips.clti.u.h + 1, // llvm.mips.clti.u.w + 2, // llvm.mips.cmp.eq.ph + 2, // llvm.mips.cmp.le.ph + 2, // llvm.mips.cmp.lt.ph + 2, // llvm.mips.cmpgdu.eq.qb + 2, // llvm.mips.cmpgdu.le.qb + 2, // llvm.mips.cmpgdu.lt.qb + 2, // llvm.mips.cmpgu.eq.qb + 2, // llvm.mips.cmpgu.le.qb + 2, // llvm.mips.cmpgu.lt.qb + 2, // llvm.mips.cmpu.eq.qb + 2, // llvm.mips.cmpu.le.qb + 2, // llvm.mips.cmpu.lt.qb + 1, // llvm.mips.copy.s.b + 1, // llvm.mips.copy.s.d + 1, // llvm.mips.copy.s.h + 1, // llvm.mips.copy.s.w + 1, // llvm.mips.copy.u.b + 1, // llvm.mips.copy.u.d + 1, // llvm.mips.copy.u.h + 1, // llvm.mips.copy.u.w + 2, // llvm.mips.ctcmsa + 1, // llvm.mips.div.s.b + 1, // llvm.mips.div.s.d + 1, // llvm.mips.div.s.h + 1, // llvm.mips.div.s.w + 1, // llvm.mips.div.u.b + 1, // llvm.mips.div.u.d + 1, // llvm.mips.div.u.h + 1, // llvm.mips.div.u.w + 1, // llvm.mips.dlsa + 1, // llvm.mips.dotp.s.d + 1, // llvm.mips.dotp.s.h + 1, // llvm.mips.dotp.s.w + 1, // llvm.mips.dotp.u.d + 1, // llvm.mips.dotp.u.h + 1, // llvm.mips.dotp.u.w + 1, // llvm.mips.dpa.w.ph + 1, // llvm.mips.dpadd.s.d + 1, // llvm.mips.dpadd.s.h + 1, // llvm.mips.dpadd.s.w + 1, // llvm.mips.dpadd.u.d + 1, // llvm.mips.dpadd.u.h + 1, // llvm.mips.dpadd.u.w + 2, // llvm.mips.dpaq.s.w.ph + 2, // llvm.mips.dpaq.sa.l.w + 2, // llvm.mips.dpaqx.s.w.ph + 2, // llvm.mips.dpaqx.sa.w.ph + 1, // llvm.mips.dpau.h.qbl + 1, // llvm.mips.dpau.h.qbr + 1, // llvm.mips.dpax.w.ph + 1, // llvm.mips.dps.w.ph + 2, // llvm.mips.dpsq.s.w.ph + 2, // llvm.mips.dpsq.sa.l.w + 2, // llvm.mips.dpsqx.s.w.ph + 2, // llvm.mips.dpsqx.sa.w.ph + 1, // llvm.mips.dpsu.h.qbl + 1, // llvm.mips.dpsu.h.qbr + 1, // llvm.mips.dpsub.s.d + 1, // llvm.mips.dpsub.s.h + 1, // llvm.mips.dpsub.s.w + 1, // llvm.mips.dpsub.u.d + 1, // llvm.mips.dpsub.u.h + 1, // llvm.mips.dpsub.u.w + 1, // llvm.mips.dpsx.w.ph + 2, // llvm.mips.extp + 2, // llvm.mips.extpdp + 2, // llvm.mips.extr.r.w + 2, // llvm.mips.extr.rs.w + 2, // llvm.mips.extr.s.h + 2, // llvm.mips.extr.w + 1, // llvm.mips.fadd.d + 1, // llvm.mips.fadd.w + 1, // llvm.mips.fcaf.d + 1, // llvm.mips.fcaf.w + 1, // llvm.mips.fceq.d + 1, // llvm.mips.fceq.w + 1, // llvm.mips.fclass.d + 1, // llvm.mips.fclass.w + 1, // llvm.mips.fcle.d + 1, // llvm.mips.fcle.w + 1, // llvm.mips.fclt.d + 1, // llvm.mips.fclt.w + 1, // llvm.mips.fcne.d + 1, // llvm.mips.fcne.w + 1, // llvm.mips.fcor.d + 1, // llvm.mips.fcor.w + 1, // llvm.mips.fcueq.d + 1, // llvm.mips.fcueq.w + 1, // llvm.mips.fcule.d + 1, // llvm.mips.fcule.w + 1, // llvm.mips.fcult.d + 1, // llvm.mips.fcult.w + 1, // llvm.mips.fcun.d + 1, // llvm.mips.fcun.w + 1, // llvm.mips.fcune.d + 1, // llvm.mips.fcune.w + 1, // llvm.mips.fdiv.d + 1, // llvm.mips.fdiv.w + 1, // llvm.mips.fexdo.h + 1, // llvm.mips.fexdo.w + 1, // llvm.mips.fexp2.d + 1, // llvm.mips.fexp2.w + 1, // llvm.mips.fexupl.d + 1, // llvm.mips.fexupl.w + 1, // llvm.mips.fexupr.d + 1, // llvm.mips.fexupr.w + 1, // llvm.mips.ffint.s.d + 1, // llvm.mips.ffint.s.w + 1, // llvm.mips.ffint.u.d + 1, // llvm.mips.ffint.u.w + 1, // llvm.mips.ffql.d + 1, // llvm.mips.ffql.w + 1, // llvm.mips.ffqr.d + 1, // llvm.mips.ffqr.w + 1, // llvm.mips.fill.b + 1, // llvm.mips.fill.d + 1, // llvm.mips.fill.h + 1, // llvm.mips.fill.w + 1, // llvm.mips.flog2.d + 1, // llvm.mips.flog2.w + 1, // llvm.mips.fmadd.d + 1, // llvm.mips.fmadd.w + 1, // llvm.mips.fmax.a.d + 1, // llvm.mips.fmax.a.w + 1, // llvm.mips.fmax.d + 1, // llvm.mips.fmax.w + 1, // llvm.mips.fmin.a.d + 1, // llvm.mips.fmin.a.w + 1, // llvm.mips.fmin.d + 1, // llvm.mips.fmin.w + 1, // llvm.mips.fmsub.d + 1, // llvm.mips.fmsub.w + 1, // llvm.mips.fmul.d + 1, // llvm.mips.fmul.w + 1, // llvm.mips.frcp.d + 1, // llvm.mips.frcp.w + 1, // llvm.mips.frint.d + 1, // llvm.mips.frint.w + 1, // llvm.mips.frsqrt.d + 1, // llvm.mips.frsqrt.w + 1, // llvm.mips.fsaf.d + 1, // llvm.mips.fsaf.w + 1, // llvm.mips.fseq.d + 1, // llvm.mips.fseq.w + 1, // llvm.mips.fsle.d + 1, // llvm.mips.fsle.w + 1, // llvm.mips.fslt.d + 1, // llvm.mips.fslt.w + 1, // llvm.mips.fsne.d + 1, // llvm.mips.fsne.w + 1, // llvm.mips.fsor.d + 1, // llvm.mips.fsor.w + 1, // llvm.mips.fsqrt.d + 1, // llvm.mips.fsqrt.w + 1, // llvm.mips.fsub.d + 1, // llvm.mips.fsub.w + 1, // llvm.mips.fsueq.d + 1, // llvm.mips.fsueq.w + 1, // llvm.mips.fsule.d + 1, // llvm.mips.fsule.w + 1, // llvm.mips.fsult.d + 1, // llvm.mips.fsult.w + 1, // llvm.mips.fsun.d + 1, // llvm.mips.fsun.w + 1, // llvm.mips.fsune.d + 1, // llvm.mips.fsune.w + 1, // llvm.mips.ftint.s.d + 1, // llvm.mips.ftint.s.w + 1, // llvm.mips.ftint.u.d + 1, // llvm.mips.ftint.u.w + 1, // llvm.mips.ftq.h + 1, // llvm.mips.ftq.w + 1, // llvm.mips.ftrunc.s.d + 1, // llvm.mips.ftrunc.s.w + 1, // llvm.mips.ftrunc.u.d + 1, // llvm.mips.ftrunc.u.w + 1, // llvm.mips.hadd.s.d + 1, // llvm.mips.hadd.s.h + 1, // llvm.mips.hadd.s.w + 1, // llvm.mips.hadd.u.d + 1, // llvm.mips.hadd.u.h + 1, // llvm.mips.hadd.u.w + 1, // llvm.mips.hsub.s.d + 1, // llvm.mips.hsub.s.h + 1, // llvm.mips.hsub.s.w + 1, // llvm.mips.hsub.u.d + 1, // llvm.mips.hsub.u.h + 1, // llvm.mips.hsub.u.w + 1, // llvm.mips.ilvev.b + 1, // llvm.mips.ilvev.d + 1, // llvm.mips.ilvev.h + 1, // llvm.mips.ilvev.w + 1, // llvm.mips.ilvl.b + 1, // llvm.mips.ilvl.d + 1, // llvm.mips.ilvl.h + 1, // llvm.mips.ilvl.w + 1, // llvm.mips.ilvod.b + 1, // llvm.mips.ilvod.d + 1, // llvm.mips.ilvod.h + 1, // llvm.mips.ilvod.w + 1, // llvm.mips.ilvr.b + 1, // llvm.mips.ilvr.d + 1, // llvm.mips.ilvr.h + 1, // llvm.mips.ilvr.w + 1, // llvm.mips.insert.b + 1, // llvm.mips.insert.d + 1, // llvm.mips.insert.h + 1, // llvm.mips.insert.w + 3, // llvm.mips.insv + 1, // llvm.mips.insve.b + 1, // llvm.mips.insve.d + 1, // llvm.mips.insve.h + 1, // llvm.mips.insve.w + 3, // llvm.mips.lbux + 3, // llvm.mips.ld.b + 3, // llvm.mips.ld.d + 3, // llvm.mips.ld.h + 3, // llvm.mips.ld.w + 1, // llvm.mips.ldi.b + 1, // llvm.mips.ldi.d + 1, // llvm.mips.ldi.h + 1, // llvm.mips.ldi.w + 3, // llvm.mips.lhx + 1, // llvm.mips.lsa + 3, // llvm.mips.lwx + 1, // llvm.mips.madd + 1, // llvm.mips.madd.q.h + 1, // llvm.mips.madd.q.w + 1, // llvm.mips.maddr.q.h + 1, // llvm.mips.maddr.q.w + 1, // llvm.mips.maddu + 1, // llvm.mips.maddv.b + 1, // llvm.mips.maddv.d + 1, // llvm.mips.maddv.h + 1, // llvm.mips.maddv.w + 2, // llvm.mips.maq.s.w.phl + 2, // llvm.mips.maq.s.w.phr + 2, // llvm.mips.maq.sa.w.phl + 2, // llvm.mips.maq.sa.w.phr + 1, // llvm.mips.max.a.b + 1, // llvm.mips.max.a.d + 1, // llvm.mips.max.a.h + 1, // llvm.mips.max.a.w + 1, // llvm.mips.max.s.b + 1, // llvm.mips.max.s.d + 1, // llvm.mips.max.s.h + 1, // llvm.mips.max.s.w + 1, // llvm.mips.max.u.b + 1, // llvm.mips.max.u.d + 1, // llvm.mips.max.u.h + 1, // llvm.mips.max.u.w + 1, // llvm.mips.maxi.s.b + 1, // llvm.mips.maxi.s.d + 1, // llvm.mips.maxi.s.h + 1, // llvm.mips.maxi.s.w + 1, // llvm.mips.maxi.u.b + 1, // llvm.mips.maxi.u.d + 1, // llvm.mips.maxi.u.h + 1, // llvm.mips.maxi.u.w + 1, // llvm.mips.min.a.b + 1, // llvm.mips.min.a.d + 1, // llvm.mips.min.a.h + 1, // llvm.mips.min.a.w + 1, // llvm.mips.min.s.b + 1, // llvm.mips.min.s.d + 1, // llvm.mips.min.s.h + 1, // llvm.mips.min.s.w + 1, // llvm.mips.min.u.b + 1, // llvm.mips.min.u.d + 1, // llvm.mips.min.u.h + 1, // llvm.mips.min.u.w + 1, // llvm.mips.mini.s.b + 1, // llvm.mips.mini.s.d + 1, // llvm.mips.mini.s.h + 1, // llvm.mips.mini.s.w + 1, // llvm.mips.mini.u.b + 1, // llvm.mips.mini.u.d + 1, // llvm.mips.mini.u.h + 1, // llvm.mips.mini.u.w + 1, // llvm.mips.mod.s.b + 1, // llvm.mips.mod.s.d + 1, // llvm.mips.mod.s.h + 1, // llvm.mips.mod.s.w + 1, // llvm.mips.mod.u.b + 1, // llvm.mips.mod.u.d + 1, // llvm.mips.mod.u.h + 1, // llvm.mips.mod.u.w + 1, // llvm.mips.modsub + 1, // llvm.mips.move.v + 1, // llvm.mips.msub + 1, // llvm.mips.msub.q.h + 1, // llvm.mips.msub.q.w + 1, // llvm.mips.msubr.q.h + 1, // llvm.mips.msubr.q.w + 1, // llvm.mips.msubu + 1, // llvm.mips.msubv.b + 1, // llvm.mips.msubv.d + 1, // llvm.mips.msubv.h + 1, // llvm.mips.msubv.w + 2, // llvm.mips.mthlip + 2, // llvm.mips.mul.ph + 1, // llvm.mips.mul.q.h + 1, // llvm.mips.mul.q.w + 2, // llvm.mips.mul.s.ph + 2, // llvm.mips.muleq.s.w.phl + 2, // llvm.mips.muleq.s.w.phr + 2, // llvm.mips.muleu.s.ph.qbl + 2, // llvm.mips.muleu.s.ph.qbr + 2, // llvm.mips.mulq.rs.ph + 2, // llvm.mips.mulq.rs.w + 2, // llvm.mips.mulq.s.ph + 2, // llvm.mips.mulq.s.w + 1, // llvm.mips.mulr.q.h + 1, // llvm.mips.mulr.q.w + 1, // llvm.mips.mulsa.w.ph + 2, // llvm.mips.mulsaq.s.w.ph + 1, // llvm.mips.mult + 1, // llvm.mips.multu + 1, // llvm.mips.mulv.b + 1, // llvm.mips.mulv.d + 1, // llvm.mips.mulv.h + 1, // llvm.mips.mulv.w + 1, // llvm.mips.nloc.b + 1, // llvm.mips.nloc.d + 1, // llvm.mips.nloc.h + 1, // llvm.mips.nloc.w + 1, // llvm.mips.nlzc.b + 1, // llvm.mips.nlzc.d + 1, // llvm.mips.nlzc.h + 1, // llvm.mips.nlzc.w + 1, // llvm.mips.nor.v + 1, // llvm.mips.nori.b + 1, // llvm.mips.or.v + 1, // llvm.mips.ori.b + 1, // llvm.mips.packrl.ph + 1, // llvm.mips.pckev.b + 1, // llvm.mips.pckev.d + 1, // llvm.mips.pckev.h + 1, // llvm.mips.pckev.w + 1, // llvm.mips.pckod.b + 1, // llvm.mips.pckod.d + 1, // llvm.mips.pckod.h + 1, // llvm.mips.pckod.w + 1, // llvm.mips.pcnt.b + 1, // llvm.mips.pcnt.d + 1, // llvm.mips.pcnt.h + 1, // llvm.mips.pcnt.w + 3, // llvm.mips.pick.ph + 3, // llvm.mips.pick.qb + 1, // llvm.mips.preceq.w.phl + 1, // llvm.mips.preceq.w.phr + 1, // llvm.mips.precequ.ph.qbl + 1, // llvm.mips.precequ.ph.qbla + 1, // llvm.mips.precequ.ph.qbr + 1, // llvm.mips.precequ.ph.qbra + 1, // llvm.mips.preceu.ph.qbl + 1, // llvm.mips.preceu.ph.qbla + 1, // llvm.mips.preceu.ph.qbr + 1, // llvm.mips.preceu.ph.qbra + 2, // llvm.mips.precr.qb.ph + 1, // llvm.mips.precr.sra.ph.w + 1, // llvm.mips.precr.sra.r.ph.w + 1, // llvm.mips.precrq.ph.w + 1, // llvm.mips.precrq.qb.ph + 2, // llvm.mips.precrq.rs.ph.w + 2, // llvm.mips.precrqu.s.qb.ph + 1, // llvm.mips.prepend + 1, // llvm.mips.raddu.w.qb + 3, // llvm.mips.rddsp + 1, // llvm.mips.repl.ph + 1, // llvm.mips.repl.qb + 1, // llvm.mips.sat.s.b + 1, // llvm.mips.sat.s.d + 1, // llvm.mips.sat.s.h + 1, // llvm.mips.sat.s.w + 1, // llvm.mips.sat.u.b + 1, // llvm.mips.sat.u.d + 1, // llvm.mips.sat.u.h + 1, // llvm.mips.sat.u.w + 1, // llvm.mips.shf.b + 1, // llvm.mips.shf.h + 1, // llvm.mips.shf.w + 1, // llvm.mips.shilo + 2, // llvm.mips.shll.ph + 2, // llvm.mips.shll.qb + 2, // llvm.mips.shll.s.ph + 2, // llvm.mips.shll.s.w + 1, // llvm.mips.shra.ph + 1, // llvm.mips.shra.qb + 1, // llvm.mips.shra.r.ph + 1, // llvm.mips.shra.r.qb + 1, // llvm.mips.shra.r.w + 1, // llvm.mips.shrl.ph + 1, // llvm.mips.shrl.qb + 1, // llvm.mips.sld.b + 1, // llvm.mips.sld.d + 1, // llvm.mips.sld.h + 1, // llvm.mips.sld.w + 1, // llvm.mips.sldi.b + 1, // llvm.mips.sldi.d + 1, // llvm.mips.sldi.h + 1, // llvm.mips.sldi.w + 1, // llvm.mips.sll.b + 1, // llvm.mips.sll.d + 1, // llvm.mips.sll.h + 1, // llvm.mips.sll.w + 1, // llvm.mips.slli.b + 1, // llvm.mips.slli.d + 1, // llvm.mips.slli.h + 1, // llvm.mips.slli.w + 1, // llvm.mips.splat.b + 1, // llvm.mips.splat.d + 1, // llvm.mips.splat.h + 1, // llvm.mips.splat.w + 1, // llvm.mips.splati.b + 1, // llvm.mips.splati.d + 1, // llvm.mips.splati.h + 1, // llvm.mips.splati.w + 1, // llvm.mips.sra.b + 1, // llvm.mips.sra.d + 1, // llvm.mips.sra.h + 1, // llvm.mips.sra.w + 1, // llvm.mips.srai.b + 1, // llvm.mips.srai.d + 1, // llvm.mips.srai.h + 1, // llvm.mips.srai.w + 1, // llvm.mips.srar.b + 1, // llvm.mips.srar.d + 1, // llvm.mips.srar.h + 1, // llvm.mips.srar.w + 1, // llvm.mips.srari.b + 1, // llvm.mips.srari.d + 1, // llvm.mips.srari.h + 1, // llvm.mips.srari.w + 1, // llvm.mips.srl.b + 1, // llvm.mips.srl.d + 1, // llvm.mips.srl.h + 1, // llvm.mips.srl.w + 1, // llvm.mips.srli.b + 1, // llvm.mips.srli.d + 1, // llvm.mips.srli.h + 1, // llvm.mips.srli.w + 1, // llvm.mips.srlr.b + 1, // llvm.mips.srlr.d + 1, // llvm.mips.srlr.h + 1, // llvm.mips.srlr.w + 1, // llvm.mips.srlri.b + 1, // llvm.mips.srlri.d + 1, // llvm.mips.srlri.h + 1, // llvm.mips.srlri.w + 2, // llvm.mips.st.b + 2, // llvm.mips.st.d + 2, // llvm.mips.st.h + 2, // llvm.mips.st.w + 1, // llvm.mips.subq.ph + 1, // llvm.mips.subq.s.ph + 2, // llvm.mips.subq.s.w + 1, // llvm.mips.subqh.ph + 1, // llvm.mips.subqh.r.ph + 1, // llvm.mips.subqh.r.w + 1, // llvm.mips.subqh.w + 1, // llvm.mips.subs.s.b + 1, // llvm.mips.subs.s.d + 1, // llvm.mips.subs.s.h + 1, // llvm.mips.subs.s.w + 1, // llvm.mips.subs.u.b + 1, // llvm.mips.subs.u.d + 1, // llvm.mips.subs.u.h + 1, // llvm.mips.subs.u.w + 1, // llvm.mips.subsus.u.b + 1, // llvm.mips.subsus.u.d + 1, // llvm.mips.subsus.u.h + 1, // llvm.mips.subsus.u.w + 1, // llvm.mips.subsuu.s.b + 1, // llvm.mips.subsuu.s.d + 1, // llvm.mips.subsuu.s.h + 1, // llvm.mips.subsuu.s.w + 2, // llvm.mips.subu.ph + 1, // llvm.mips.subu.qb + 2, // llvm.mips.subu.s.ph + 1, // llvm.mips.subu.s.qb + 1, // llvm.mips.subuh.qb + 1, // llvm.mips.subuh.r.qb + 1, // llvm.mips.subv.b + 1, // llvm.mips.subv.d + 1, // llvm.mips.subv.h + 1, // llvm.mips.subv.w + 1, // llvm.mips.subvi.b + 1, // llvm.mips.subvi.d + 1, // llvm.mips.subvi.h + 1, // llvm.mips.subvi.w + 1, // llvm.mips.vshf.b + 1, // llvm.mips.vshf.d + 1, // llvm.mips.vshf.h + 1, // llvm.mips.vshf.w + 2, // llvm.mips.wrdsp + 1, // llvm.mips.xor.v + 1, // llvm.mips.xori.b + 1, // llvm.nearbyint + 1, // llvm.nvvm.abs.i + 1, // llvm.nvvm.abs.ll + 1, // llvm.nvvm.add.rm.d + 1, // llvm.nvvm.add.rm.f + 1, // llvm.nvvm.add.rm.ftz.f + 1, // llvm.nvvm.add.rn.d + 1, // llvm.nvvm.add.rn.f + 1, // llvm.nvvm.add.rn.ftz.f + 1, // llvm.nvvm.add.rp.d + 1, // llvm.nvvm.add.rp.f + 1, // llvm.nvvm.add.rp.ftz.f + 1, // llvm.nvvm.add.rz.d + 1, // llvm.nvvm.add.rz.f + 1, // llvm.nvvm.add.rz.ftz.f + 12, // llvm.nvvm.atomic.load.add.f32 + 12, // llvm.nvvm.atomic.load.dec.32 + 12, // llvm.nvvm.atomic.load.inc.32 + 8, // llvm.nvvm.barrier0 + 8, // llvm.nvvm.barrier0.and + 8, // llvm.nvvm.barrier0.or + 8, // llvm.nvvm.barrier0.popc + 1, // llvm.nvvm.bitcast.d2ll + 1, // llvm.nvvm.bitcast.f2i + 1, // llvm.nvvm.bitcast.i2f + 1, // llvm.nvvm.bitcast.ll2d + 1, // llvm.nvvm.brev32 + 1, // llvm.nvvm.brev64 + 1, // llvm.nvvm.ceil.d + 1, // llvm.nvvm.ceil.f + 1, // llvm.nvvm.ceil.ftz.f + 1, // llvm.nvvm.clz.i + 1, // llvm.nvvm.clz.ll + 2, // llvm.nvvm.compiler.error + 2, // llvm.nvvm.compiler.warn + 1, // llvm.nvvm.cos.approx.f + 1, // llvm.nvvm.cos.approx.ftz.f + 1, // llvm.nvvm.d2f.rm + 1, // llvm.nvvm.d2f.rm.ftz + 1, // llvm.nvvm.d2f.rn + 1, // llvm.nvvm.d2f.rn.ftz + 1, // llvm.nvvm.d2f.rp + 1, // llvm.nvvm.d2f.rp.ftz + 1, // llvm.nvvm.d2f.rz + 1, // llvm.nvvm.d2f.rz.ftz + 1, // llvm.nvvm.d2i.hi + 1, // llvm.nvvm.d2i.lo + 1, // llvm.nvvm.d2i.rm + 1, // llvm.nvvm.d2i.rn + 1, // llvm.nvvm.d2i.rp + 1, // llvm.nvvm.d2i.rz + 1, // llvm.nvvm.d2ll.rm + 1, // llvm.nvvm.d2ll.rn + 1, // llvm.nvvm.d2ll.rp + 1, // llvm.nvvm.d2ll.rz + 1, // llvm.nvvm.d2ui.rm + 1, // llvm.nvvm.d2ui.rn + 1, // llvm.nvvm.d2ui.rp + 1, // llvm.nvvm.d2ui.rz + 1, // llvm.nvvm.d2ull.rm + 1, // llvm.nvvm.d2ull.rn + 1, // llvm.nvvm.d2ull.rp + 1, // llvm.nvvm.d2ull.rz + 1, // llvm.nvvm.div.approx.f + 1, // llvm.nvvm.div.approx.ftz.f + 1, // llvm.nvvm.div.rm.d + 1, // llvm.nvvm.div.rm.f + 1, // llvm.nvvm.div.rm.ftz.f + 1, // llvm.nvvm.div.rn.d + 1, // llvm.nvvm.div.rn.f + 1, // llvm.nvvm.div.rn.ftz.f + 1, // llvm.nvvm.div.rp.d + 1, // llvm.nvvm.div.rp.f + 1, // llvm.nvvm.div.rp.ftz.f + 1, // llvm.nvvm.div.rz.d + 1, // llvm.nvvm.div.rz.f + 1, // llvm.nvvm.div.rz.ftz.f + 1, // llvm.nvvm.ex2.approx.d + 1, // llvm.nvvm.ex2.approx.f + 1, // llvm.nvvm.ex2.approx.ftz.f + 1, // llvm.nvvm.f2h.rn + 1, // llvm.nvvm.f2h.rn.ftz + 1, // llvm.nvvm.f2i.rm + 1, // llvm.nvvm.f2i.rm.ftz + 1, // llvm.nvvm.f2i.rn + 1, // llvm.nvvm.f2i.rn.ftz + 1, // llvm.nvvm.f2i.rp + 1, // llvm.nvvm.f2i.rp.ftz + 1, // llvm.nvvm.f2i.rz + 1, // llvm.nvvm.f2i.rz.ftz + 1, // llvm.nvvm.f2ll.rm + 1, // llvm.nvvm.f2ll.rm.ftz + 1, // llvm.nvvm.f2ll.rn + 1, // llvm.nvvm.f2ll.rn.ftz + 1, // llvm.nvvm.f2ll.rp + 1, // llvm.nvvm.f2ll.rp.ftz + 1, // llvm.nvvm.f2ll.rz + 1, // llvm.nvvm.f2ll.rz.ftz + 1, // llvm.nvvm.f2ui.rm + 1, // llvm.nvvm.f2ui.rm.ftz + 1, // llvm.nvvm.f2ui.rn + 1, // llvm.nvvm.f2ui.rn.ftz + 1, // llvm.nvvm.f2ui.rp + 1, // llvm.nvvm.f2ui.rp.ftz + 1, // llvm.nvvm.f2ui.rz + 1, // llvm.nvvm.f2ui.rz.ftz + 1, // llvm.nvvm.f2ull.rm + 1, // llvm.nvvm.f2ull.rm.ftz + 1, // llvm.nvvm.f2ull.rn + 1, // llvm.nvvm.f2ull.rn.ftz + 1, // llvm.nvvm.f2ull.rp + 1, // llvm.nvvm.f2ull.rp.ftz + 1, // llvm.nvvm.f2ull.rz + 1, // llvm.nvvm.f2ull.rz.ftz + 1, // llvm.nvvm.fabs.d + 1, // llvm.nvvm.fabs.f + 1, // llvm.nvvm.fabs.ftz.f + 1, // llvm.nvvm.floor.d + 1, // llvm.nvvm.floor.f + 1, // llvm.nvvm.floor.ftz.f + 1, // llvm.nvvm.fma.rm.d + 1, // llvm.nvvm.fma.rm.f + 1, // llvm.nvvm.fma.rm.ftz.f + 1, // llvm.nvvm.fma.rn.d + 1, // llvm.nvvm.fma.rn.f + 1, // llvm.nvvm.fma.rn.ftz.f + 1, // llvm.nvvm.fma.rp.d + 1, // llvm.nvvm.fma.rp.f + 1, // llvm.nvvm.fma.rp.ftz.f + 1, // llvm.nvvm.fma.rz.d + 1, // llvm.nvvm.fma.rz.f + 1, // llvm.nvvm.fma.rz.ftz.f + 1, // llvm.nvvm.fmax.d + 1, // llvm.nvvm.fmax.f + 1, // llvm.nvvm.fmax.ftz.f + 1, // llvm.nvvm.fmin.d + 1, // llvm.nvvm.fmin.f + 1, // llvm.nvvm.fmin.ftz.f + 1, // llvm.nvvm.h2f + 1, // llvm.nvvm.i2d.rm + 1, // llvm.nvvm.i2d.rn + 1, // llvm.nvvm.i2d.rp + 1, // llvm.nvvm.i2d.rz + 1, // llvm.nvvm.i2f.rm + 1, // llvm.nvvm.i2f.rn + 1, // llvm.nvvm.i2f.rp + 1, // llvm.nvvm.i2f.rz + 1, // llvm.nvvm.isspacep.const + 1, // llvm.nvvm.isspacep.global + 1, // llvm.nvvm.isspacep.local + 1, // llvm.nvvm.isspacep.shared + 1, // llvm.nvvm.istypep.sampler + 1, // llvm.nvvm.istypep.surface + 1, // llvm.nvvm.istypep.texture + 15, // llvm.nvvm.ldg.global.f + 15, // llvm.nvvm.ldg.global.i + 15, // llvm.nvvm.ldg.global.p + 15, // llvm.nvvm.ldu.global.f + 15, // llvm.nvvm.ldu.global.i + 15, // llvm.nvvm.ldu.global.p + 1, // llvm.nvvm.lg2.approx.d + 1, // llvm.nvvm.lg2.approx.f + 1, // llvm.nvvm.lg2.approx.ftz.f + 1, // llvm.nvvm.ll2d.rm + 1, // llvm.nvvm.ll2d.rn + 1, // llvm.nvvm.ll2d.rp + 1, // llvm.nvvm.ll2d.rz + 1, // llvm.nvvm.ll2f.rm + 1, // llvm.nvvm.ll2f.rn + 1, // llvm.nvvm.ll2f.rp + 1, // llvm.nvvm.ll2f.rz + 1, // llvm.nvvm.lohi.i2d + 1, // llvm.nvvm.max.i + 1, // llvm.nvvm.max.ll + 1, // llvm.nvvm.max.ui + 1, // llvm.nvvm.max.ull + 2, // llvm.nvvm.membar.cta + 2, // llvm.nvvm.membar.gl + 2, // llvm.nvvm.membar.sys + 1, // llvm.nvvm.min.i + 1, // llvm.nvvm.min.ll + 1, // llvm.nvvm.min.ui + 1, // llvm.nvvm.min.ull + 1, // llvm.nvvm.move.double + 1, // llvm.nvvm.move.float + 1, // llvm.nvvm.move.i16 + 1, // llvm.nvvm.move.i32 + 1, // llvm.nvvm.move.i64 + 16, // llvm.nvvm.move.ptr + 1, // llvm.nvvm.mul24.i + 1, // llvm.nvvm.mul24.ui + 1, // llvm.nvvm.mul.rm.d + 1, // llvm.nvvm.mul.rm.f + 1, // llvm.nvvm.mul.rm.ftz.f + 1, // llvm.nvvm.mul.rn.d + 1, // llvm.nvvm.mul.rn.f + 1, // llvm.nvvm.mul.rn.ftz.f + 1, // llvm.nvvm.mul.rp.d + 1, // llvm.nvvm.mul.rp.f + 1, // llvm.nvvm.mul.rp.ftz.f + 1, // llvm.nvvm.mul.rz.d + 1, // llvm.nvvm.mul.rz.f + 1, // llvm.nvvm.mul.rz.ftz.f + 1, // llvm.nvvm.mulhi.i + 1, // llvm.nvvm.mulhi.ll + 1, // llvm.nvvm.mulhi.ui + 1, // llvm.nvvm.mulhi.ull + 1, // llvm.nvvm.popc.i + 1, // llvm.nvvm.popc.ll + 1, // llvm.nvvm.prmt + 1, // llvm.nvvm.ptr.constant.to.gen + 1, // llvm.nvvm.ptr.gen.to.constant + 1, // llvm.nvvm.ptr.gen.to.global + 1, // llvm.nvvm.ptr.gen.to.local + 1, // llvm.nvvm.ptr.gen.to.param + 1, // llvm.nvvm.ptr.gen.to.shared + 1, // llvm.nvvm.ptr.global.to.gen + 1, // llvm.nvvm.ptr.local.to.gen + 1, // llvm.nvvm.ptr.shared.to.gen + 1, // llvm.nvvm.rcp.approx.ftz.d + 1, // llvm.nvvm.rcp.rm.d + 1, // llvm.nvvm.rcp.rm.f + 1, // llvm.nvvm.rcp.rm.ftz.f + 1, // llvm.nvvm.rcp.rn.d + 1, // llvm.nvvm.rcp.rn.f + 1, // llvm.nvvm.rcp.rn.ftz.f + 1, // llvm.nvvm.rcp.rp.d + 1, // llvm.nvvm.rcp.rp.f + 1, // llvm.nvvm.rcp.rp.ftz.f + 1, // llvm.nvvm.rcp.rz.d + 1, // llvm.nvvm.rcp.rz.f + 1, // llvm.nvvm.rcp.rz.ftz.f + 1, // llvm.nvvm.read.ptx.sreg.ctaid.x + 1, // llvm.nvvm.read.ptx.sreg.ctaid.y + 1, // llvm.nvvm.read.ptx.sreg.ctaid.z + 1, // llvm.nvvm.read.ptx.sreg.envreg0 + 1, // llvm.nvvm.read.ptx.sreg.envreg1 + 1, // llvm.nvvm.read.ptx.sreg.envreg10 + 1, // llvm.nvvm.read.ptx.sreg.envreg11 + 1, // llvm.nvvm.read.ptx.sreg.envreg12 + 1, // llvm.nvvm.read.ptx.sreg.envreg13 + 1, // llvm.nvvm.read.ptx.sreg.envreg14 + 1, // llvm.nvvm.read.ptx.sreg.envreg15 + 1, // llvm.nvvm.read.ptx.sreg.envreg16 + 1, // llvm.nvvm.read.ptx.sreg.envreg17 + 1, // llvm.nvvm.read.ptx.sreg.envreg18 + 1, // llvm.nvvm.read.ptx.sreg.envreg19 + 1, // llvm.nvvm.read.ptx.sreg.envreg2 + 1, // llvm.nvvm.read.ptx.sreg.envreg20 + 1, // llvm.nvvm.read.ptx.sreg.envreg21 + 1, // llvm.nvvm.read.ptx.sreg.envreg22 + 1, // llvm.nvvm.read.ptx.sreg.envreg23 + 1, // llvm.nvvm.read.ptx.sreg.envreg24 + 1, // llvm.nvvm.read.ptx.sreg.envreg25 + 1, // llvm.nvvm.read.ptx.sreg.envreg26 + 1, // llvm.nvvm.read.ptx.sreg.envreg27 + 1, // llvm.nvvm.read.ptx.sreg.envreg28 + 1, // llvm.nvvm.read.ptx.sreg.envreg29 + 1, // llvm.nvvm.read.ptx.sreg.envreg3 + 1, // llvm.nvvm.read.ptx.sreg.envreg30 + 1, // llvm.nvvm.read.ptx.sreg.envreg31 + 1, // llvm.nvvm.read.ptx.sreg.envreg4 + 1, // llvm.nvvm.read.ptx.sreg.envreg5 + 1, // llvm.nvvm.read.ptx.sreg.envreg6 + 1, // llvm.nvvm.read.ptx.sreg.envreg7 + 1, // llvm.nvvm.read.ptx.sreg.envreg8 + 1, // llvm.nvvm.read.ptx.sreg.envreg9 + 1, // llvm.nvvm.read.ptx.sreg.nctaid.x + 1, // llvm.nvvm.read.ptx.sreg.nctaid.y + 1, // llvm.nvvm.read.ptx.sreg.nctaid.z + 1, // llvm.nvvm.read.ptx.sreg.ntid.x + 1, // llvm.nvvm.read.ptx.sreg.ntid.y + 1, // llvm.nvvm.read.ptx.sreg.ntid.z + 1, // llvm.nvvm.read.ptx.sreg.tid.x + 1, // llvm.nvvm.read.ptx.sreg.tid.y + 1, // llvm.nvvm.read.ptx.sreg.tid.z + 1, // llvm.nvvm.read.ptx.sreg.warpsize + 1, // llvm.nvvm.reflect + 1, // llvm.nvvm.rotate.b32 + 1, // llvm.nvvm.rotate.b64 + 1, // llvm.nvvm.rotate.right.b64 + 1, // llvm.nvvm.round.d + 1, // llvm.nvvm.round.f + 1, // llvm.nvvm.round.ftz.f + 1, // llvm.nvvm.rsqrt.approx.d + 1, // llvm.nvvm.rsqrt.approx.f + 1, // llvm.nvvm.rsqrt.approx.ftz.f + 1, // llvm.nvvm.sad.i + 1, // llvm.nvvm.sad.ui + 1, // llvm.nvvm.saturate.d + 1, // llvm.nvvm.saturate.f + 1, // llvm.nvvm.saturate.ftz.f + 1, // llvm.nvvm.sin.approx.f + 1, // llvm.nvvm.sin.approx.ftz.f + 1, // llvm.nvvm.sqrt.approx.f + 1, // llvm.nvvm.sqrt.approx.ftz.f + 1, // llvm.nvvm.sqrt.f + 1, // llvm.nvvm.sqrt.rm.d + 1, // llvm.nvvm.sqrt.rm.f + 1, // llvm.nvvm.sqrt.rm.ftz.f + 1, // llvm.nvvm.sqrt.rn.d + 1, // llvm.nvvm.sqrt.rn.f + 1, // llvm.nvvm.sqrt.rn.ftz.f + 1, // llvm.nvvm.sqrt.rp.d + 1, // llvm.nvvm.sqrt.rp.f + 1, // llvm.nvvm.sqrt.rp.ftz.f + 1, // llvm.nvvm.sqrt.rz.d + 1, // llvm.nvvm.sqrt.rz.f + 1, // llvm.nvvm.sqrt.rz.ftz.f + 2, // llvm.nvvm.suld.1d.array.i16.clamp + 2, // llvm.nvvm.suld.1d.array.i16.trap + 2, // llvm.nvvm.suld.1d.array.i16.zero + 2, // llvm.nvvm.suld.1d.array.i32.clamp + 2, // llvm.nvvm.suld.1d.array.i32.trap + 2, // llvm.nvvm.suld.1d.array.i32.zero + 2, // llvm.nvvm.suld.1d.array.i64.clamp + 2, // llvm.nvvm.suld.1d.array.i64.trap + 2, // llvm.nvvm.suld.1d.array.i64.zero + 2, // llvm.nvvm.suld.1d.array.i8.clamp + 2, // llvm.nvvm.suld.1d.array.i8.trap + 2, // llvm.nvvm.suld.1d.array.i8.zero + 2, // llvm.nvvm.suld.1d.array.v2i16.clamp + 2, // llvm.nvvm.suld.1d.array.v2i16.trap + 2, // llvm.nvvm.suld.1d.array.v2i16.zero + 2, // llvm.nvvm.suld.1d.array.v2i32.clamp + 2, // llvm.nvvm.suld.1d.array.v2i32.trap + 2, // llvm.nvvm.suld.1d.array.v2i32.zero + 2, // llvm.nvvm.suld.1d.array.v2i64.clamp + 2, // llvm.nvvm.suld.1d.array.v2i64.trap + 2, // llvm.nvvm.suld.1d.array.v2i64.zero + 2, // llvm.nvvm.suld.1d.array.v2i8.clamp + 2, // llvm.nvvm.suld.1d.array.v2i8.trap + 2, // llvm.nvvm.suld.1d.array.v2i8.zero + 2, // llvm.nvvm.suld.1d.array.v4i16.clamp + 2, // llvm.nvvm.suld.1d.array.v4i16.trap + 2, // llvm.nvvm.suld.1d.array.v4i16.zero + 2, // llvm.nvvm.suld.1d.array.v4i32.clamp + 2, // llvm.nvvm.suld.1d.array.v4i32.trap + 2, // llvm.nvvm.suld.1d.array.v4i32.zero + 2, // llvm.nvvm.suld.1d.array.v4i8.clamp + 2, // llvm.nvvm.suld.1d.array.v4i8.trap + 2, // llvm.nvvm.suld.1d.array.v4i8.zero + 2, // llvm.nvvm.suld.1d.i16.clamp + 2, // llvm.nvvm.suld.1d.i16.trap + 2, // llvm.nvvm.suld.1d.i16.zero + 2, // llvm.nvvm.suld.1d.i32.clamp + 2, // llvm.nvvm.suld.1d.i32.trap + 2, // llvm.nvvm.suld.1d.i32.zero + 2, // llvm.nvvm.suld.1d.i64.clamp + 2, // llvm.nvvm.suld.1d.i64.trap + 2, // llvm.nvvm.suld.1d.i64.zero + 2, // llvm.nvvm.suld.1d.i8.clamp + 2, // llvm.nvvm.suld.1d.i8.trap + 2, // llvm.nvvm.suld.1d.i8.zero + 2, // llvm.nvvm.suld.1d.v2i16.clamp + 2, // llvm.nvvm.suld.1d.v2i16.trap + 2, // llvm.nvvm.suld.1d.v2i16.zero + 2, // llvm.nvvm.suld.1d.v2i32.clamp + 2, // llvm.nvvm.suld.1d.v2i32.trap + 2, // llvm.nvvm.suld.1d.v2i32.zero + 2, // llvm.nvvm.suld.1d.v2i64.clamp + 2, // llvm.nvvm.suld.1d.v2i64.trap + 2, // llvm.nvvm.suld.1d.v2i64.zero + 2, // llvm.nvvm.suld.1d.v2i8.clamp + 2, // llvm.nvvm.suld.1d.v2i8.trap + 2, // llvm.nvvm.suld.1d.v2i8.zero + 2, // llvm.nvvm.suld.1d.v4i16.clamp + 2, // llvm.nvvm.suld.1d.v4i16.trap + 2, // llvm.nvvm.suld.1d.v4i16.zero + 2, // llvm.nvvm.suld.1d.v4i32.clamp + 2, // llvm.nvvm.suld.1d.v4i32.trap + 2, // llvm.nvvm.suld.1d.v4i32.zero + 2, // llvm.nvvm.suld.1d.v4i8.clamp + 2, // llvm.nvvm.suld.1d.v4i8.trap + 2, // llvm.nvvm.suld.1d.v4i8.zero + 2, // llvm.nvvm.suld.2d.array.i16.clamp + 2, // llvm.nvvm.suld.2d.array.i16.trap + 2, // llvm.nvvm.suld.2d.array.i16.zero + 2, // llvm.nvvm.suld.2d.array.i32.clamp + 2, // llvm.nvvm.suld.2d.array.i32.trap + 2, // llvm.nvvm.suld.2d.array.i32.zero + 2, // llvm.nvvm.suld.2d.array.i64.clamp + 2, // llvm.nvvm.suld.2d.array.i64.trap + 2, // llvm.nvvm.suld.2d.array.i64.zero + 2, // llvm.nvvm.suld.2d.array.i8.clamp + 2, // llvm.nvvm.suld.2d.array.i8.trap + 2, // llvm.nvvm.suld.2d.array.i8.zero + 2, // llvm.nvvm.suld.2d.array.v2i16.clamp + 2, // llvm.nvvm.suld.2d.array.v2i16.trap + 2, // llvm.nvvm.suld.2d.array.v2i16.zero + 2, // llvm.nvvm.suld.2d.array.v2i32.clamp + 2, // llvm.nvvm.suld.2d.array.v2i32.trap + 2, // llvm.nvvm.suld.2d.array.v2i32.zero + 2, // llvm.nvvm.suld.2d.array.v2i64.clamp + 2, // llvm.nvvm.suld.2d.array.v2i64.trap + 2, // llvm.nvvm.suld.2d.array.v2i64.zero + 2, // llvm.nvvm.suld.2d.array.v2i8.clamp + 2, // llvm.nvvm.suld.2d.array.v2i8.trap + 2, // llvm.nvvm.suld.2d.array.v2i8.zero + 2, // llvm.nvvm.suld.2d.array.v4i16.clamp + 2, // llvm.nvvm.suld.2d.array.v4i16.trap + 2, // llvm.nvvm.suld.2d.array.v4i16.zero + 2, // llvm.nvvm.suld.2d.array.v4i32.clamp + 2, // llvm.nvvm.suld.2d.array.v4i32.trap + 2, // llvm.nvvm.suld.2d.array.v4i32.zero + 2, // llvm.nvvm.suld.2d.array.v4i8.clamp + 2, // llvm.nvvm.suld.2d.array.v4i8.trap + 2, // llvm.nvvm.suld.2d.array.v4i8.zero + 2, // llvm.nvvm.suld.2d.i16.clamp + 2, // llvm.nvvm.suld.2d.i16.trap + 2, // llvm.nvvm.suld.2d.i16.zero + 2, // llvm.nvvm.suld.2d.i32.clamp + 2, // llvm.nvvm.suld.2d.i32.trap + 2, // llvm.nvvm.suld.2d.i32.zero + 2, // llvm.nvvm.suld.2d.i64.clamp + 2, // llvm.nvvm.suld.2d.i64.trap + 2, // llvm.nvvm.suld.2d.i64.zero + 2, // llvm.nvvm.suld.2d.i8.clamp + 2, // llvm.nvvm.suld.2d.i8.trap + 2, // llvm.nvvm.suld.2d.i8.zero + 2, // llvm.nvvm.suld.2d.v2i16.clamp + 2, // llvm.nvvm.suld.2d.v2i16.trap + 2, // llvm.nvvm.suld.2d.v2i16.zero + 2, // llvm.nvvm.suld.2d.v2i32.clamp + 2, // llvm.nvvm.suld.2d.v2i32.trap + 2, // llvm.nvvm.suld.2d.v2i32.zero + 2, // llvm.nvvm.suld.2d.v2i64.clamp + 2, // llvm.nvvm.suld.2d.v2i64.trap + 2, // llvm.nvvm.suld.2d.v2i64.zero + 2, // llvm.nvvm.suld.2d.v2i8.clamp + 2, // llvm.nvvm.suld.2d.v2i8.trap + 2, // llvm.nvvm.suld.2d.v2i8.zero + 2, // llvm.nvvm.suld.2d.v4i16.clamp + 2, // llvm.nvvm.suld.2d.v4i16.trap + 2, // llvm.nvvm.suld.2d.v4i16.zero + 2, // llvm.nvvm.suld.2d.v4i32.clamp + 2, // llvm.nvvm.suld.2d.v4i32.trap + 2, // llvm.nvvm.suld.2d.v4i32.zero + 2, // llvm.nvvm.suld.2d.v4i8.clamp + 2, // llvm.nvvm.suld.2d.v4i8.trap + 2, // llvm.nvvm.suld.2d.v4i8.zero + 2, // llvm.nvvm.suld.3d.i16.clamp + 2, // llvm.nvvm.suld.3d.i16.trap + 2, // llvm.nvvm.suld.3d.i16.zero + 2, // llvm.nvvm.suld.3d.i32.clamp + 2, // llvm.nvvm.suld.3d.i32.trap + 2, // llvm.nvvm.suld.3d.i32.zero + 2, // llvm.nvvm.suld.3d.i64.clamp + 2, // llvm.nvvm.suld.3d.i64.trap + 2, // llvm.nvvm.suld.3d.i64.zero + 2, // llvm.nvvm.suld.3d.i8.clamp + 2, // llvm.nvvm.suld.3d.i8.trap + 2, // llvm.nvvm.suld.3d.i8.zero + 2, // llvm.nvvm.suld.3d.v2i16.clamp + 2, // llvm.nvvm.suld.3d.v2i16.trap + 2, // llvm.nvvm.suld.3d.v2i16.zero + 2, // llvm.nvvm.suld.3d.v2i32.clamp + 2, // llvm.nvvm.suld.3d.v2i32.trap + 2, // llvm.nvvm.suld.3d.v2i32.zero + 2, // llvm.nvvm.suld.3d.v2i64.clamp + 2, // llvm.nvvm.suld.3d.v2i64.trap + 2, // llvm.nvvm.suld.3d.v2i64.zero + 2, // llvm.nvvm.suld.3d.v2i8.clamp + 2, // llvm.nvvm.suld.3d.v2i8.trap + 2, // llvm.nvvm.suld.3d.v2i8.zero + 2, // llvm.nvvm.suld.3d.v4i16.clamp + 2, // llvm.nvvm.suld.3d.v4i16.trap + 2, // llvm.nvvm.suld.3d.v4i16.zero + 2, // llvm.nvvm.suld.3d.v4i32.clamp + 2, // llvm.nvvm.suld.3d.v4i32.trap + 2, // llvm.nvvm.suld.3d.v4i32.zero + 2, // llvm.nvvm.suld.3d.v4i8.clamp + 2, // llvm.nvvm.suld.3d.v4i8.trap + 2, // llvm.nvvm.suld.3d.v4i8.zero + 1, // llvm.nvvm.suq.array.size + 1, // llvm.nvvm.suq.channel.data.type + 1, // llvm.nvvm.suq.channel.order + 1, // llvm.nvvm.suq.depth + 1, // llvm.nvvm.suq.height + 1, // llvm.nvvm.suq.width + 2, // llvm.nvvm.sust.b.1d.array.i16.clamp + 2, // llvm.nvvm.sust.b.1d.array.i16.trap + 2, // llvm.nvvm.sust.b.1d.array.i16.zero + 2, // llvm.nvvm.sust.b.1d.array.i32.clamp + 2, // llvm.nvvm.sust.b.1d.array.i32.trap + 2, // llvm.nvvm.sust.b.1d.array.i32.zero + 2, // llvm.nvvm.sust.b.1d.array.i64.clamp + 2, // llvm.nvvm.sust.b.1d.array.i64.trap + 2, // llvm.nvvm.sust.b.1d.array.i64.zero + 2, // llvm.nvvm.sust.b.1d.array.i8.clamp + 2, // llvm.nvvm.sust.b.1d.array.i8.trap + 2, // llvm.nvvm.sust.b.1d.array.i8.zero + 2, // llvm.nvvm.sust.b.1d.array.v2i16.clamp + 2, // llvm.nvvm.sust.b.1d.array.v2i16.trap + 2, // llvm.nvvm.sust.b.1d.array.v2i16.zero + 2, // llvm.nvvm.sust.b.1d.array.v2i32.clamp + 2, // llvm.nvvm.sust.b.1d.array.v2i32.trap + 2, // llvm.nvvm.sust.b.1d.array.v2i32.zero + 2, // llvm.nvvm.sust.b.1d.array.v2i64.clamp + 2, // llvm.nvvm.sust.b.1d.array.v2i64.trap + 2, // llvm.nvvm.sust.b.1d.array.v2i64.zero + 2, // llvm.nvvm.sust.b.1d.array.v2i8.clamp + 2, // llvm.nvvm.sust.b.1d.array.v2i8.trap + 2, // llvm.nvvm.sust.b.1d.array.v2i8.zero + 2, // llvm.nvvm.sust.b.1d.array.v4i16.clamp + 2, // llvm.nvvm.sust.b.1d.array.v4i16.trap + 2, // llvm.nvvm.sust.b.1d.array.v4i16.zero + 2, // llvm.nvvm.sust.b.1d.array.v4i32.clamp + 2, // llvm.nvvm.sust.b.1d.array.v4i32.trap + 2, // llvm.nvvm.sust.b.1d.array.v4i32.zero + 2, // llvm.nvvm.sust.b.1d.array.v4i8.clamp + 2, // llvm.nvvm.sust.b.1d.array.v4i8.trap + 2, // llvm.nvvm.sust.b.1d.array.v4i8.zero + 2, // llvm.nvvm.sust.b.1d.i16.clamp + 2, // llvm.nvvm.sust.b.1d.i16.trap + 2, // llvm.nvvm.sust.b.1d.i16.zero + 2, // llvm.nvvm.sust.b.1d.i32.clamp + 2, // llvm.nvvm.sust.b.1d.i32.trap + 2, // llvm.nvvm.sust.b.1d.i32.zero + 2, // llvm.nvvm.sust.b.1d.i64.clamp + 2, // llvm.nvvm.sust.b.1d.i64.trap + 2, // llvm.nvvm.sust.b.1d.i64.zero + 2, // llvm.nvvm.sust.b.1d.i8.clamp + 2, // llvm.nvvm.sust.b.1d.i8.trap + 2, // llvm.nvvm.sust.b.1d.i8.zero + 2, // llvm.nvvm.sust.b.1d.v2i16.clamp + 2, // llvm.nvvm.sust.b.1d.v2i16.trap + 2, // llvm.nvvm.sust.b.1d.v2i16.zero + 2, // llvm.nvvm.sust.b.1d.v2i32.clamp + 2, // llvm.nvvm.sust.b.1d.v2i32.trap + 2, // llvm.nvvm.sust.b.1d.v2i32.zero + 2, // llvm.nvvm.sust.b.1d.v2i64.clamp + 2, // llvm.nvvm.sust.b.1d.v2i64.trap + 2, // llvm.nvvm.sust.b.1d.v2i64.zero + 2, // llvm.nvvm.sust.b.1d.v2i8.clamp + 2, // llvm.nvvm.sust.b.1d.v2i8.trap + 2, // llvm.nvvm.sust.b.1d.v2i8.zero + 2, // llvm.nvvm.sust.b.1d.v4i16.clamp + 2, // llvm.nvvm.sust.b.1d.v4i16.trap + 2, // llvm.nvvm.sust.b.1d.v4i16.zero + 2, // llvm.nvvm.sust.b.1d.v4i32.clamp + 2, // llvm.nvvm.sust.b.1d.v4i32.trap + 2, // llvm.nvvm.sust.b.1d.v4i32.zero + 2, // llvm.nvvm.sust.b.1d.v4i8.clamp + 2, // llvm.nvvm.sust.b.1d.v4i8.trap + 2, // llvm.nvvm.sust.b.1d.v4i8.zero + 2, // llvm.nvvm.sust.b.2d.array.i16.clamp + 2, // llvm.nvvm.sust.b.2d.array.i16.trap + 2, // llvm.nvvm.sust.b.2d.array.i16.zero + 2, // llvm.nvvm.sust.b.2d.array.i32.clamp + 2, // llvm.nvvm.sust.b.2d.array.i32.trap + 2, // llvm.nvvm.sust.b.2d.array.i32.zero + 2, // llvm.nvvm.sust.b.2d.array.i64.clamp + 2, // llvm.nvvm.sust.b.2d.array.i64.trap + 2, // llvm.nvvm.sust.b.2d.array.i64.zero + 2, // llvm.nvvm.sust.b.2d.array.i8.clamp + 2, // llvm.nvvm.sust.b.2d.array.i8.trap + 2, // llvm.nvvm.sust.b.2d.array.i8.zero + 2, // llvm.nvvm.sust.b.2d.array.v2i16.clamp + 2, // llvm.nvvm.sust.b.2d.array.v2i16.trap + 2, // llvm.nvvm.sust.b.2d.array.v2i16.zero + 2, // llvm.nvvm.sust.b.2d.array.v2i32.clamp + 2, // llvm.nvvm.sust.b.2d.array.v2i32.trap + 2, // llvm.nvvm.sust.b.2d.array.v2i32.zero + 2, // llvm.nvvm.sust.b.2d.array.v2i64.clamp + 2, // llvm.nvvm.sust.b.2d.array.v2i64.trap + 2, // llvm.nvvm.sust.b.2d.array.v2i64.zero + 2, // llvm.nvvm.sust.b.2d.array.v2i8.clamp + 2, // llvm.nvvm.sust.b.2d.array.v2i8.trap + 2, // llvm.nvvm.sust.b.2d.array.v2i8.zero + 2, // llvm.nvvm.sust.b.2d.array.v4i16.clamp + 2, // llvm.nvvm.sust.b.2d.array.v4i16.trap + 2, // llvm.nvvm.sust.b.2d.array.v4i16.zero + 2, // llvm.nvvm.sust.b.2d.array.v4i32.clamp + 2, // llvm.nvvm.sust.b.2d.array.v4i32.trap + 2, // llvm.nvvm.sust.b.2d.array.v4i32.zero + 2, // llvm.nvvm.sust.b.2d.array.v4i8.clamp + 2, // llvm.nvvm.sust.b.2d.array.v4i8.trap + 2, // llvm.nvvm.sust.b.2d.array.v4i8.zero + 2, // llvm.nvvm.sust.b.2d.i16.clamp + 2, // llvm.nvvm.sust.b.2d.i16.trap + 2, // llvm.nvvm.sust.b.2d.i16.zero + 2, // llvm.nvvm.sust.b.2d.i32.clamp + 2, // llvm.nvvm.sust.b.2d.i32.trap + 2, // llvm.nvvm.sust.b.2d.i32.zero + 2, // llvm.nvvm.sust.b.2d.i64.clamp + 2, // llvm.nvvm.sust.b.2d.i64.trap + 2, // llvm.nvvm.sust.b.2d.i64.zero + 2, // llvm.nvvm.sust.b.2d.i8.clamp + 2, // llvm.nvvm.sust.b.2d.i8.trap + 2, // llvm.nvvm.sust.b.2d.i8.zero + 2, // llvm.nvvm.sust.b.2d.v2i16.clamp + 2, // llvm.nvvm.sust.b.2d.v2i16.trap + 2, // llvm.nvvm.sust.b.2d.v2i16.zero + 2, // llvm.nvvm.sust.b.2d.v2i32.clamp + 2, // llvm.nvvm.sust.b.2d.v2i32.trap + 2, // llvm.nvvm.sust.b.2d.v2i32.zero + 2, // llvm.nvvm.sust.b.2d.v2i64.clamp + 2, // llvm.nvvm.sust.b.2d.v2i64.trap + 2, // llvm.nvvm.sust.b.2d.v2i64.zero + 2, // llvm.nvvm.sust.b.2d.v2i8.clamp + 2, // llvm.nvvm.sust.b.2d.v2i8.trap + 2, // llvm.nvvm.sust.b.2d.v2i8.zero + 2, // llvm.nvvm.sust.b.2d.v4i16.clamp + 2, // llvm.nvvm.sust.b.2d.v4i16.trap + 2, // llvm.nvvm.sust.b.2d.v4i16.zero + 2, // llvm.nvvm.sust.b.2d.v4i32.clamp + 2, // llvm.nvvm.sust.b.2d.v4i32.trap + 2, // llvm.nvvm.sust.b.2d.v4i32.zero + 2, // llvm.nvvm.sust.b.2d.v4i8.clamp + 2, // llvm.nvvm.sust.b.2d.v4i8.trap + 2, // llvm.nvvm.sust.b.2d.v4i8.zero + 2, // llvm.nvvm.sust.b.3d.i16.clamp + 2, // llvm.nvvm.sust.b.3d.i16.trap + 2, // llvm.nvvm.sust.b.3d.i16.zero + 2, // llvm.nvvm.sust.b.3d.i32.clamp + 2, // llvm.nvvm.sust.b.3d.i32.trap + 2, // llvm.nvvm.sust.b.3d.i32.zero + 2, // llvm.nvvm.sust.b.3d.i64.clamp + 2, // llvm.nvvm.sust.b.3d.i64.trap + 2, // llvm.nvvm.sust.b.3d.i64.zero + 2, // llvm.nvvm.sust.b.3d.i8.clamp + 2, // llvm.nvvm.sust.b.3d.i8.trap + 2, // llvm.nvvm.sust.b.3d.i8.zero + 2, // llvm.nvvm.sust.b.3d.v2i16.clamp + 2, // llvm.nvvm.sust.b.3d.v2i16.trap + 2, // llvm.nvvm.sust.b.3d.v2i16.zero + 2, // llvm.nvvm.sust.b.3d.v2i32.clamp + 2, // llvm.nvvm.sust.b.3d.v2i32.trap + 2, // llvm.nvvm.sust.b.3d.v2i32.zero + 2, // llvm.nvvm.sust.b.3d.v2i64.clamp + 2, // llvm.nvvm.sust.b.3d.v2i64.trap + 2, // llvm.nvvm.sust.b.3d.v2i64.zero + 2, // llvm.nvvm.sust.b.3d.v2i8.clamp + 2, // llvm.nvvm.sust.b.3d.v2i8.trap + 2, // llvm.nvvm.sust.b.3d.v2i8.zero + 2, // llvm.nvvm.sust.b.3d.v4i16.clamp + 2, // llvm.nvvm.sust.b.3d.v4i16.trap + 2, // llvm.nvvm.sust.b.3d.v4i16.zero + 2, // llvm.nvvm.sust.b.3d.v4i32.clamp + 2, // llvm.nvvm.sust.b.3d.v4i32.trap + 2, // llvm.nvvm.sust.b.3d.v4i32.zero + 2, // llvm.nvvm.sust.b.3d.v4i8.clamp + 2, // llvm.nvvm.sust.b.3d.v4i8.trap + 2, // llvm.nvvm.sust.b.3d.v4i8.zero + 2, // llvm.nvvm.sust.p.1d.array.i16.trap + 2, // llvm.nvvm.sust.p.1d.array.i32.trap + 2, // llvm.nvvm.sust.p.1d.array.i8.trap + 2, // llvm.nvvm.sust.p.1d.array.v2i16.trap + 2, // llvm.nvvm.sust.p.1d.array.v2i32.trap + 2, // llvm.nvvm.sust.p.1d.array.v2i8.trap + 2, // llvm.nvvm.sust.p.1d.array.v4i16.trap + 2, // llvm.nvvm.sust.p.1d.array.v4i32.trap + 2, // llvm.nvvm.sust.p.1d.array.v4i8.trap + 2, // llvm.nvvm.sust.p.1d.i16.trap + 2, // llvm.nvvm.sust.p.1d.i32.trap + 2, // llvm.nvvm.sust.p.1d.i8.trap + 2, // llvm.nvvm.sust.p.1d.v2i16.trap + 2, // llvm.nvvm.sust.p.1d.v2i32.trap + 2, // llvm.nvvm.sust.p.1d.v2i8.trap + 2, // llvm.nvvm.sust.p.1d.v4i16.trap + 2, // llvm.nvvm.sust.p.1d.v4i32.trap + 2, // llvm.nvvm.sust.p.1d.v4i8.trap + 2, // llvm.nvvm.sust.p.2d.array.i16.trap + 2, // llvm.nvvm.sust.p.2d.array.i32.trap + 2, // llvm.nvvm.sust.p.2d.array.i8.trap + 2, // llvm.nvvm.sust.p.2d.array.v2i16.trap + 2, // llvm.nvvm.sust.p.2d.array.v2i32.trap + 2, // llvm.nvvm.sust.p.2d.array.v2i8.trap + 2, // llvm.nvvm.sust.p.2d.array.v4i16.trap + 2, // llvm.nvvm.sust.p.2d.array.v4i32.trap + 2, // llvm.nvvm.sust.p.2d.array.v4i8.trap + 2, // llvm.nvvm.sust.p.2d.i16.trap + 2, // llvm.nvvm.sust.p.2d.i32.trap + 2, // llvm.nvvm.sust.p.2d.i8.trap + 2, // llvm.nvvm.sust.p.2d.v2i16.trap + 2, // llvm.nvvm.sust.p.2d.v2i32.trap + 2, // llvm.nvvm.sust.p.2d.v2i8.trap + 2, // llvm.nvvm.sust.p.2d.v4i16.trap + 2, // llvm.nvvm.sust.p.2d.v4i32.trap + 2, // llvm.nvvm.sust.p.2d.v4i8.trap + 2, // llvm.nvvm.sust.p.3d.i16.trap + 2, // llvm.nvvm.sust.p.3d.i32.trap + 2, // llvm.nvvm.sust.p.3d.i8.trap + 2, // llvm.nvvm.sust.p.3d.v2i16.trap + 2, // llvm.nvvm.sust.p.3d.v2i32.trap + 2, // llvm.nvvm.sust.p.3d.v2i8.trap + 2, // llvm.nvvm.sust.p.3d.v4i16.trap + 2, // llvm.nvvm.sust.p.3d.v4i32.trap + 2, // llvm.nvvm.sust.p.3d.v4i8.trap + 1, // llvm.nvvm.swap.lo.hi.b64 + 2, // llvm.nvvm.tex.1d.array.grad.v4f32.f32 + 2, // llvm.nvvm.tex.1d.array.grad.v4s32.f32 + 2, // llvm.nvvm.tex.1d.array.grad.v4u32.f32 + 2, // llvm.nvvm.tex.1d.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.1d.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.1d.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.1d.array.v4f32.f32 + 2, // llvm.nvvm.tex.1d.array.v4f32.s32 + 2, // llvm.nvvm.tex.1d.array.v4s32.f32 + 2, // llvm.nvvm.tex.1d.array.v4s32.s32 + 2, // llvm.nvvm.tex.1d.array.v4u32.f32 + 2, // llvm.nvvm.tex.1d.array.v4u32.s32 + 2, // llvm.nvvm.tex.1d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.1d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.1d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.1d.level.v4f32.f32 + 2, // llvm.nvvm.tex.1d.level.v4s32.f32 + 2, // llvm.nvvm.tex.1d.level.v4u32.f32 + 2, // llvm.nvvm.tex.1d.v4f32.f32 + 2, // llvm.nvvm.tex.1d.v4f32.s32 + 2, // llvm.nvvm.tex.1d.v4s32.f32 + 2, // llvm.nvvm.tex.1d.v4s32.s32 + 2, // llvm.nvvm.tex.1d.v4u32.f32 + 2, // llvm.nvvm.tex.1d.v4u32.s32 + 2, // llvm.nvvm.tex.2d.array.grad.v4f32.f32 + 2, // llvm.nvvm.tex.2d.array.grad.v4s32.f32 + 2, // llvm.nvvm.tex.2d.array.grad.v4u32.f32 + 2, // llvm.nvvm.tex.2d.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.2d.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.2d.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.2d.array.v4f32.f32 + 2, // llvm.nvvm.tex.2d.array.v4f32.s32 + 2, // llvm.nvvm.tex.2d.array.v4s32.f32 + 2, // llvm.nvvm.tex.2d.array.v4s32.s32 + 2, // llvm.nvvm.tex.2d.array.v4u32.f32 + 2, // llvm.nvvm.tex.2d.array.v4u32.s32 + 2, // llvm.nvvm.tex.2d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.2d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.2d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.2d.level.v4f32.f32 + 2, // llvm.nvvm.tex.2d.level.v4s32.f32 + 2, // llvm.nvvm.tex.2d.level.v4u32.f32 + 2, // llvm.nvvm.tex.2d.v4f32.f32 + 2, // llvm.nvvm.tex.2d.v4f32.s32 + 2, // llvm.nvvm.tex.2d.v4s32.f32 + 2, // llvm.nvvm.tex.2d.v4s32.s32 + 2, // llvm.nvvm.tex.2d.v4u32.f32 + 2, // llvm.nvvm.tex.2d.v4u32.s32 + 2, // llvm.nvvm.tex.3d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.3d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.3d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.3d.level.v4f32.f32 + 2, // llvm.nvvm.tex.3d.level.v4s32.f32 + 2, // llvm.nvvm.tex.3d.level.v4u32.f32 + 2, // llvm.nvvm.tex.3d.v4f32.f32 + 2, // llvm.nvvm.tex.3d.v4f32.s32 + 2, // llvm.nvvm.tex.3d.v4s32.f32 + 2, // llvm.nvvm.tex.3d.v4s32.s32 + 2, // llvm.nvvm.tex.3d.v4u32.f32 + 2, // llvm.nvvm.tex.3d.v4u32.s32 + 2, // llvm.nvvm.tex.cube.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.cube.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.cube.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.cube.array.v4f32.f32 + 2, // llvm.nvvm.tex.cube.array.v4s32.f32 + 2, // llvm.nvvm.tex.cube.array.v4u32.f32 + 2, // llvm.nvvm.tex.cube.level.v4f32.f32 + 2, // llvm.nvvm.tex.cube.level.v4s32.f32 + 2, // llvm.nvvm.tex.cube.level.v4u32.f32 + 2, // llvm.nvvm.tex.cube.v4f32.f32 + 2, // llvm.nvvm.tex.cube.v4s32.f32 + 2, // llvm.nvvm.tex.cube.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.v4f32.s32 + 2, // llvm.nvvm.tex.unified.1d.array.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.v4s32.s32 + 2, // llvm.nvvm.tex.unified.1d.array.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.array.v4u32.s32 + 2, // llvm.nvvm.tex.unified.1d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.v4f32.f32 + 2, // llvm.nvvm.tex.unified.1d.v4f32.s32 + 2, // llvm.nvvm.tex.unified.1d.v4s32.f32 + 2, // llvm.nvvm.tex.unified.1d.v4s32.s32 + 2, // llvm.nvvm.tex.unified.1d.v4u32.f32 + 2, // llvm.nvvm.tex.unified.1d.v4u32.s32 + 2, // llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.v4f32.s32 + 2, // llvm.nvvm.tex.unified.2d.array.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.v4s32.s32 + 2, // llvm.nvvm.tex.unified.2d.array.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.array.v4u32.s32 + 2, // llvm.nvvm.tex.unified.2d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.v4f32.f32 + 2, // llvm.nvvm.tex.unified.2d.v4f32.s32 + 2, // llvm.nvvm.tex.unified.2d.v4s32.f32 + 2, // llvm.nvvm.tex.unified.2d.v4s32.s32 + 2, // llvm.nvvm.tex.unified.2d.v4u32.f32 + 2, // llvm.nvvm.tex.unified.2d.v4u32.s32 + 2, // llvm.nvvm.tex.unified.3d.grad.v4f32.f32 + 2, // llvm.nvvm.tex.unified.3d.grad.v4s32.f32 + 2, // llvm.nvvm.tex.unified.3d.grad.v4u32.f32 + 2, // llvm.nvvm.tex.unified.3d.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.3d.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.3d.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.3d.v4f32.f32 + 2, // llvm.nvvm.tex.unified.3d.v4f32.s32 + 2, // llvm.nvvm.tex.unified.3d.v4s32.f32 + 2, // llvm.nvvm.tex.unified.3d.v4s32.s32 + 2, // llvm.nvvm.tex.unified.3d.v4u32.f32 + 2, // llvm.nvvm.tex.unified.3d.v4u32.s32 + 2, // llvm.nvvm.tex.unified.cube.array.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.cube.array.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.cube.array.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.cube.array.v4f32.f32 + 2, // llvm.nvvm.tex.unified.cube.array.v4s32.f32 + 2, // llvm.nvvm.tex.unified.cube.array.v4u32.f32 + 2, // llvm.nvvm.tex.unified.cube.level.v4f32.f32 + 2, // llvm.nvvm.tex.unified.cube.level.v4s32.f32 + 2, // llvm.nvvm.tex.unified.cube.level.v4u32.f32 + 2, // llvm.nvvm.tex.unified.cube.v4f32.f32 + 2, // llvm.nvvm.tex.unified.cube.v4s32.f32 + 2, // llvm.nvvm.tex.unified.cube.v4u32.f32 + 1, // llvm.nvvm.texsurf.handle + 1, // llvm.nvvm.texsurf.handle.internal + 2, // llvm.nvvm.tld4.a.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.a.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.a.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.b.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.b.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.b.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.g.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.g.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.g.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.r.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.r.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.r.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.unified.a.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.unified.a.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.unified.a.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.unified.b.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.unified.b.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.unified.b.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.unified.g.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.unified.g.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.unified.g.2d.v4u32.f32 + 2, // llvm.nvvm.tld4.unified.r.2d.v4f32.f32 + 2, // llvm.nvvm.tld4.unified.r.2d.v4s32.f32 + 2, // llvm.nvvm.tld4.unified.r.2d.v4u32.f32 + 1, // llvm.nvvm.trunc.d + 1, // llvm.nvvm.trunc.f + 1, // llvm.nvvm.trunc.ftz.f + 1, // llvm.nvvm.txq.array.size + 1, // llvm.nvvm.txq.channel.data.type + 1, // llvm.nvvm.txq.channel.order + 1, // llvm.nvvm.txq.depth + 1, // llvm.nvvm.txq.height + 1, // llvm.nvvm.txq.num.mipmap.levels + 1, // llvm.nvvm.txq.num.samples + 1, // llvm.nvvm.txq.width + 1, // llvm.nvvm.ui2d.rm + 1, // llvm.nvvm.ui2d.rn + 1, // llvm.nvvm.ui2d.rp + 1, // llvm.nvvm.ui2d.rz + 1, // llvm.nvvm.ui2f.rm + 1, // llvm.nvvm.ui2f.rn + 1, // llvm.nvvm.ui2f.rp + 1, // llvm.nvvm.ui2f.rz + 1, // llvm.nvvm.ull2d.rm + 1, // llvm.nvvm.ull2d.rn + 1, // llvm.nvvm.ull2d.rp + 1, // llvm.nvvm.ull2d.rz + 1, // llvm.nvvm.ull2f.rm + 1, // llvm.nvvm.ull2f.rn + 1, // llvm.nvvm.ull2f.rp + 1, // llvm.nvvm.ull2f.rz + 1, // llvm.objectsize + 2, // llvm.pcmarker + 1, // llvm.pow + 1, // llvm.powi + 2, // llvm.ppc.altivec.dss + 2, // llvm.ppc.altivec.dssall + 2, // llvm.ppc.altivec.dst + 2, // llvm.ppc.altivec.dstst + 2, // llvm.ppc.altivec.dststt + 2, // llvm.ppc.altivec.dstt + 3, // llvm.ppc.altivec.lvebx + 3, // llvm.ppc.altivec.lvehx + 3, // llvm.ppc.altivec.lvewx + 1, // llvm.ppc.altivec.lvsl + 1, // llvm.ppc.altivec.lvsr + 3, // llvm.ppc.altivec.lvx + 3, // llvm.ppc.altivec.lvxl + 3, // llvm.ppc.altivec.mfvscr + 2, // llvm.ppc.altivec.mtvscr + 2, // llvm.ppc.altivec.stvebx + 2, // llvm.ppc.altivec.stvehx + 2, // llvm.ppc.altivec.stvewx + 2, // llvm.ppc.altivec.stvx + 2, // llvm.ppc.altivec.stvxl + 1, // llvm.ppc.altivec.vaddcuw + 1, // llvm.ppc.altivec.vaddsbs + 1, // llvm.ppc.altivec.vaddshs + 1, // llvm.ppc.altivec.vaddsws + 1, // llvm.ppc.altivec.vaddubs + 1, // llvm.ppc.altivec.vadduhs + 1, // llvm.ppc.altivec.vadduws + 1, // llvm.ppc.altivec.vavgsb + 1, // llvm.ppc.altivec.vavgsh + 1, // llvm.ppc.altivec.vavgsw + 1, // llvm.ppc.altivec.vavgub + 1, // llvm.ppc.altivec.vavguh + 1, // llvm.ppc.altivec.vavguw + 1, // llvm.ppc.altivec.vcfsx + 1, // llvm.ppc.altivec.vcfux + 1, // llvm.ppc.altivec.vcmpbfp + 1, // llvm.ppc.altivec.vcmpbfp.p + 1, // llvm.ppc.altivec.vcmpeqfp + 1, // llvm.ppc.altivec.vcmpeqfp.p + 1, // llvm.ppc.altivec.vcmpequb + 1, // llvm.ppc.altivec.vcmpequb.p + 1, // llvm.ppc.altivec.vcmpequh + 1, // llvm.ppc.altivec.vcmpequh.p + 1, // llvm.ppc.altivec.vcmpequw + 1, // llvm.ppc.altivec.vcmpequw.p + 1, // llvm.ppc.altivec.vcmpgefp + 1, // llvm.ppc.altivec.vcmpgefp.p + 1, // llvm.ppc.altivec.vcmpgtfp + 1, // llvm.ppc.altivec.vcmpgtfp.p + 1, // llvm.ppc.altivec.vcmpgtsb + 1, // llvm.ppc.altivec.vcmpgtsb.p + 1, // llvm.ppc.altivec.vcmpgtsh + 1, // llvm.ppc.altivec.vcmpgtsh.p + 1, // llvm.ppc.altivec.vcmpgtsw + 1, // llvm.ppc.altivec.vcmpgtsw.p + 1, // llvm.ppc.altivec.vcmpgtub + 1, // llvm.ppc.altivec.vcmpgtub.p + 1, // llvm.ppc.altivec.vcmpgtuh + 1, // llvm.ppc.altivec.vcmpgtuh.p + 1, // llvm.ppc.altivec.vcmpgtuw + 1, // llvm.ppc.altivec.vcmpgtuw.p + 1, // llvm.ppc.altivec.vctsxs + 1, // llvm.ppc.altivec.vctuxs + 1, // llvm.ppc.altivec.vexptefp + 1, // llvm.ppc.altivec.vlogefp + 1, // llvm.ppc.altivec.vmaddfp + 1, // llvm.ppc.altivec.vmaxfp + 1, // llvm.ppc.altivec.vmaxsb + 1, // llvm.ppc.altivec.vmaxsh + 1, // llvm.ppc.altivec.vmaxsw + 1, // llvm.ppc.altivec.vmaxub + 1, // llvm.ppc.altivec.vmaxuh + 1, // llvm.ppc.altivec.vmaxuw + 1, // llvm.ppc.altivec.vmhaddshs + 1, // llvm.ppc.altivec.vmhraddshs + 1, // llvm.ppc.altivec.vminfp + 1, // llvm.ppc.altivec.vminsb + 1, // llvm.ppc.altivec.vminsh + 1, // llvm.ppc.altivec.vminsw + 1, // llvm.ppc.altivec.vminub + 1, // llvm.ppc.altivec.vminuh + 1, // llvm.ppc.altivec.vminuw + 1, // llvm.ppc.altivec.vmladduhm + 1, // llvm.ppc.altivec.vmsummbm + 1, // llvm.ppc.altivec.vmsumshm + 1, // llvm.ppc.altivec.vmsumshs + 1, // llvm.ppc.altivec.vmsumubm + 1, // llvm.ppc.altivec.vmsumuhm + 1, // llvm.ppc.altivec.vmsumuhs + 1, // llvm.ppc.altivec.vmulesb + 1, // llvm.ppc.altivec.vmulesh + 1, // llvm.ppc.altivec.vmuleub + 1, // llvm.ppc.altivec.vmuleuh + 1, // llvm.ppc.altivec.vmulosb + 1, // llvm.ppc.altivec.vmulosh + 1, // llvm.ppc.altivec.vmuloub + 1, // llvm.ppc.altivec.vmulouh + 1, // llvm.ppc.altivec.vnmsubfp + 1, // llvm.ppc.altivec.vperm + 1, // llvm.ppc.altivec.vpkpx + 1, // llvm.ppc.altivec.vpkshss + 1, // llvm.ppc.altivec.vpkshus + 1, // llvm.ppc.altivec.vpkswss + 1, // llvm.ppc.altivec.vpkswus + 1, // llvm.ppc.altivec.vpkuhus + 1, // llvm.ppc.altivec.vpkuwus + 1, // llvm.ppc.altivec.vrefp + 1, // llvm.ppc.altivec.vrfim + 1, // llvm.ppc.altivec.vrfin + 1, // llvm.ppc.altivec.vrfip + 1, // llvm.ppc.altivec.vrfiz + 1, // llvm.ppc.altivec.vrlb + 1, // llvm.ppc.altivec.vrlh + 1, // llvm.ppc.altivec.vrlw + 1, // llvm.ppc.altivec.vrsqrtefp + 1, // llvm.ppc.altivec.vsel + 1, // llvm.ppc.altivec.vsl + 1, // llvm.ppc.altivec.vslb + 1, // llvm.ppc.altivec.vslh + 1, // llvm.ppc.altivec.vslo + 1, // llvm.ppc.altivec.vslw + 1, // llvm.ppc.altivec.vsr + 1, // llvm.ppc.altivec.vsrab + 1, // llvm.ppc.altivec.vsrah + 1, // llvm.ppc.altivec.vsraw + 1, // llvm.ppc.altivec.vsrb + 1, // llvm.ppc.altivec.vsrh + 1, // llvm.ppc.altivec.vsro + 1, // llvm.ppc.altivec.vsrw + 1, // llvm.ppc.altivec.vsubcuw + 1, // llvm.ppc.altivec.vsubsbs + 1, // llvm.ppc.altivec.vsubshs + 1, // llvm.ppc.altivec.vsubsws + 1, // llvm.ppc.altivec.vsububs + 1, // llvm.ppc.altivec.vsubuhs + 1, // llvm.ppc.altivec.vsubuws + 1, // llvm.ppc.altivec.vsum2sws + 1, // llvm.ppc.altivec.vsum4sbs + 1, // llvm.ppc.altivec.vsum4shs + 1, // llvm.ppc.altivec.vsum4ubs + 1, // llvm.ppc.altivec.vsumsws + 1, // llvm.ppc.altivec.vupkhpx + 1, // llvm.ppc.altivec.vupkhsb + 1, // llvm.ppc.altivec.vupkhsh + 1, // llvm.ppc.altivec.vupklpx + 1, // llvm.ppc.altivec.vupklsb + 1, // llvm.ppc.altivec.vupklsh + 2, // llvm.ppc.dcba + 2, // llvm.ppc.dcbf + 2, // llvm.ppc.dcbi + 2, // llvm.ppc.dcbst + 12, // llvm.ppc.dcbt + 2, // llvm.ppc.dcbtst + 2, // llvm.ppc.dcbz + 2, // llvm.ppc.dcbzl + 2, // llvm.ppc.is.decremented.ctr.nonzero + 2, // llvm.ppc.mtctr + 2, // llvm.ppc.sync + 12, // llvm.prefetch + 2, // llvm.ptr.annotation + 2, // llvm.ptx.bar.sync + 1, // llvm.ptx.read.clock + 1, // llvm.ptx.read.clock64 + 1, // llvm.ptx.read.ctaid.w + 1, // llvm.ptx.read.ctaid.x + 1, // llvm.ptx.read.ctaid.y + 1, // llvm.ptx.read.ctaid.z + 1, // llvm.ptx.read.gridid + 1, // llvm.ptx.read.laneid + 1, // llvm.ptx.read.lanemask.eq + 1, // llvm.ptx.read.lanemask.ge + 1, // llvm.ptx.read.lanemask.gt + 1, // llvm.ptx.read.lanemask.le + 1, // llvm.ptx.read.lanemask.lt + 1, // llvm.ptx.read.nctaid.w + 1, // llvm.ptx.read.nctaid.x + 1, // llvm.ptx.read.nctaid.y + 1, // llvm.ptx.read.nctaid.z + 1, // llvm.ptx.read.nsmid + 1, // llvm.ptx.read.ntid.w + 1, // llvm.ptx.read.ntid.x + 1, // llvm.ptx.read.ntid.y + 1, // llvm.ptx.read.ntid.z + 1, // llvm.ptx.read.nwarpid + 1, // llvm.ptx.read.pm0 + 1, // llvm.ptx.read.pm1 + 1, // llvm.ptx.read.pm2 + 1, // llvm.ptx.read.pm3 + 1, // llvm.ptx.read.smid + 1, // llvm.ptx.read.tid.w + 1, // llvm.ptx.read.tid.x + 1, // llvm.ptx.read.tid.y + 1, // llvm.ptx.read.tid.z + 1, // llvm.ptx.read.warpid + 1, // llvm.r600.read.global.size.x + 1, // llvm.r600.read.global.size.y + 1, // llvm.r600.read.global.size.z + 1, // llvm.r600.read.local.size.x + 1, // llvm.r600.read.local.size.y + 1, // llvm.r600.read.local.size.z + 1, // llvm.r600.read.ngroups.x + 1, // llvm.r600.read.ngroups.y + 1, // llvm.r600.read.ngroups.z + 1, // llvm.r600.read.tgid.x + 1, // llvm.r600.read.tgid.y + 1, // llvm.r600.read.tgid.z + 1, // llvm.r600.read.tidig.x + 1, // llvm.r600.read.tidig.y + 1, // llvm.r600.read.tidig.z + 1, // llvm.read_register + 2, // llvm.readcyclecounter + 1, // llvm.returnaddress + 1, // llvm.rint + 1, // llvm.round + 1, // llvm.sadd.with.overflow + 2, // llvm.setjmp + 9, // llvm.siglongjmp + 2, // llvm.sigsetjmp + 1, // llvm.sin + 1, // llvm.smul.with.overflow + 1, // llvm.sqrt + 1, // llvm.ssub.with.overflow + 2, // llvm.stackprotector + 2, // llvm.stackprotectorcheck + 2, // llvm.stackrestore + 2, // llvm.stacksave + 9, // llvm.trap + 1, // llvm.trunc + 1, // llvm.uadd.with.overflow + 1, // llvm.umul.with.overflow + 1, // llvm.usub.with.overflow + 2, // llvm.va_copy + 2, // llvm.va_end + 2, // llvm.var.annotation + 2, // llvm.va_start + 2, // llvm.write_register + 1, // llvm.x86.3dnow.pavgusb + 1, // llvm.x86.3dnow.pf2id + 1, // llvm.x86.3dnow.pfacc + 1, // llvm.x86.3dnow.pfadd + 1, // llvm.x86.3dnow.pfcmpeq + 1, // llvm.x86.3dnow.pfcmpge + 1, // llvm.x86.3dnow.pfcmpgt + 1, // llvm.x86.3dnow.pfmax + 1, // llvm.x86.3dnow.pfmin + 1, // llvm.x86.3dnow.pfmul + 1, // llvm.x86.3dnow.pfrcp + 1, // llvm.x86.3dnow.pfrcpit1 + 1, // llvm.x86.3dnow.pfrcpit2 + 1, // llvm.x86.3dnow.pfrsqit1 + 1, // llvm.x86.3dnow.pfrsqrt + 1, // llvm.x86.3dnow.pfsub + 1, // llvm.x86.3dnow.pfsubr + 1, // llvm.x86.3dnow.pi2fd + 1, // llvm.x86.3dnow.pmulhrw + 1, // llvm.x86.3dnowa.pf2iw + 1, // llvm.x86.3dnowa.pfnacc + 1, // llvm.x86.3dnowa.pfpnacc + 1, // llvm.x86.3dnowa.pi2fw + 1, // llvm.x86.3dnowa.pswapd + 1, // llvm.x86.aesni.aesdec + 1, // llvm.x86.aesni.aesdeclast + 1, // llvm.x86.aesni.aesenc + 1, // llvm.x86.aesni.aesenclast + 1, // llvm.x86.aesni.aesimc + 1, // llvm.x86.aesni.aeskeygenassist + 3, // llvm.x86.avx2.gather.d.d + 3, // llvm.x86.avx2.gather.d.d.256 + 3, // llvm.x86.avx2.gather.d.pd + 3, // llvm.x86.avx2.gather.d.pd.256 + 3, // llvm.x86.avx2.gather.d.ps + 3, // llvm.x86.avx2.gather.d.ps.256 + 3, // llvm.x86.avx2.gather.d.q + 3, // llvm.x86.avx2.gather.d.q.256 + 3, // llvm.x86.avx2.gather.q.d + 3, // llvm.x86.avx2.gather.q.d.256 + 3, // llvm.x86.avx2.gather.q.pd + 3, // llvm.x86.avx2.gather.q.pd.256 + 3, // llvm.x86.avx2.gather.q.ps + 3, // llvm.x86.avx2.gather.q.ps.256 + 3, // llvm.x86.avx2.gather.q.q + 3, // llvm.x86.avx2.gather.q.q.256 + 3, // llvm.x86.avx2.maskload.d + 3, // llvm.x86.avx2.maskload.d.256 + 3, // llvm.x86.avx2.maskload.q + 3, // llvm.x86.avx2.maskload.q.256 + 2, // llvm.x86.avx2.maskstore.d + 2, // llvm.x86.avx2.maskstore.d.256 + 2, // llvm.x86.avx2.maskstore.q + 2, // llvm.x86.avx2.maskstore.q.256 + 3, // llvm.x86.avx2.movntdqa + 1, // llvm.x86.avx2.mpsadbw + 1, // llvm.x86.avx2.pabs.b + 1, // llvm.x86.avx2.pabs.d + 1, // llvm.x86.avx2.pabs.w + 1, // llvm.x86.avx2.packssdw + 1, // llvm.x86.avx2.packsswb + 1, // llvm.x86.avx2.packusdw + 1, // llvm.x86.avx2.packuswb + 1, // llvm.x86.avx2.padds.b + 1, // llvm.x86.avx2.padds.w + 1, // llvm.x86.avx2.paddus.b + 1, // llvm.x86.avx2.paddus.w + 1, // llvm.x86.avx2.pavg.b + 1, // llvm.x86.avx2.pavg.w + 1, // llvm.x86.avx2.pblendd.128 + 1, // llvm.x86.avx2.pblendd.256 + 1, // llvm.x86.avx2.pblendvb + 1, // llvm.x86.avx2.pblendw + 1, // llvm.x86.avx2.pbroadcastb.128 + 1, // llvm.x86.avx2.pbroadcastb.256 + 1, // llvm.x86.avx2.pbroadcastd.128 + 1, // llvm.x86.avx2.pbroadcastd.256 + 1, // llvm.x86.avx2.pbroadcastq.128 + 1, // llvm.x86.avx2.pbroadcastq.256 + 1, // llvm.x86.avx2.pbroadcastw.128 + 1, // llvm.x86.avx2.pbroadcastw.256 + 1, // llvm.x86.avx2.permd + 1, // llvm.x86.avx2.permps + 1, // llvm.x86.avx2.phadd.d + 1, // llvm.x86.avx2.phadd.sw + 1, // llvm.x86.avx2.phadd.w + 1, // llvm.x86.avx2.phsub.d + 1, // llvm.x86.avx2.phsub.sw + 1, // llvm.x86.avx2.phsub.w + 1, // llvm.x86.avx2.pmadd.ub.sw + 1, // llvm.x86.avx2.pmadd.wd + 1, // llvm.x86.avx2.pmaxs.b + 1, // llvm.x86.avx2.pmaxs.d + 1, // llvm.x86.avx2.pmaxs.w + 1, // llvm.x86.avx2.pmaxu.b + 1, // llvm.x86.avx2.pmaxu.d + 1, // llvm.x86.avx2.pmaxu.w + 1, // llvm.x86.avx2.pmins.b + 1, // llvm.x86.avx2.pmins.d + 1, // llvm.x86.avx2.pmins.w + 1, // llvm.x86.avx2.pminu.b + 1, // llvm.x86.avx2.pminu.d + 1, // llvm.x86.avx2.pminu.w + 1, // llvm.x86.avx2.pmovmskb + 1, // llvm.x86.avx2.pmovsxbd + 1, // llvm.x86.avx2.pmovsxbq + 1, // llvm.x86.avx2.pmovsxbw + 1, // llvm.x86.avx2.pmovsxdq + 1, // llvm.x86.avx2.pmovsxwd + 1, // llvm.x86.avx2.pmovsxwq + 1, // llvm.x86.avx2.pmovzxbd + 1, // llvm.x86.avx2.pmovzxbq + 1, // llvm.x86.avx2.pmovzxbw + 1, // llvm.x86.avx2.pmovzxdq + 1, // llvm.x86.avx2.pmovzxwd + 1, // llvm.x86.avx2.pmovzxwq + 1, // llvm.x86.avx2.pmul.dq + 1, // llvm.x86.avx2.pmul.hr.sw + 1, // llvm.x86.avx2.pmulh.w + 1, // llvm.x86.avx2.pmulhu.w + 1, // llvm.x86.avx2.pmulu.dq + 1, // llvm.x86.avx2.psad.bw + 1, // llvm.x86.avx2.pshuf.b + 1, // llvm.x86.avx2.psign.b + 1, // llvm.x86.avx2.psign.d + 1, // llvm.x86.avx2.psign.w + 1, // llvm.x86.avx2.psll.d + 1, // llvm.x86.avx2.psll.dq + 1, // llvm.x86.avx2.psll.dq.bs + 1, // llvm.x86.avx2.psll.q + 1, // llvm.x86.avx2.psll.w + 1, // llvm.x86.avx2.pslli.d + 1, // llvm.x86.avx2.pslli.q + 1, // llvm.x86.avx2.pslli.w + 1, // llvm.x86.avx2.psllv.d + 1, // llvm.x86.avx2.psllv.d.256 + 1, // llvm.x86.avx2.psllv.q + 1, // llvm.x86.avx2.psllv.q.256 + 1, // llvm.x86.avx2.psra.d + 1, // llvm.x86.avx2.psra.w + 1, // llvm.x86.avx2.psrai.d + 1, // llvm.x86.avx2.psrai.w + 1, // llvm.x86.avx2.psrav.d + 1, // llvm.x86.avx2.psrav.d.256 + 1, // llvm.x86.avx2.psrl.d + 1, // llvm.x86.avx2.psrl.dq + 1, // llvm.x86.avx2.psrl.dq.bs + 1, // llvm.x86.avx2.psrl.q + 1, // llvm.x86.avx2.psrl.w + 1, // llvm.x86.avx2.psrli.d + 1, // llvm.x86.avx2.psrli.q + 1, // llvm.x86.avx2.psrli.w + 1, // llvm.x86.avx2.psrlv.d + 1, // llvm.x86.avx2.psrlv.d.256 + 1, // llvm.x86.avx2.psrlv.q + 1, // llvm.x86.avx2.psrlv.q.256 + 1, // llvm.x86.avx2.psubs.b + 1, // llvm.x86.avx2.psubs.w + 1, // llvm.x86.avx2.psubus.b + 1, // llvm.x86.avx2.psubus.w + 1, // llvm.x86.avx2.vbroadcast.sd.pd.256 + 1, // llvm.x86.avx2.vbroadcast.ss.ps + 1, // llvm.x86.avx2.vbroadcast.ss.ps.256 + 3, // llvm.x86.avx2.vbroadcasti128 + 1, // llvm.x86.avx2.vextracti128 + 1, // llvm.x86.avx2.vinserti128 + 1, // llvm.x86.avx2.vperm2i128 + 1, // llvm.x86.avx512.cvtsd2usi + 1, // llvm.x86.avx512.cvtsd2usi64 + 1, // llvm.x86.avx512.cvtss2usi + 1, // llvm.x86.avx512.cvtss2usi64 + 1, // llvm.x86.avx512.cvttsd2usi + 1, // llvm.x86.avx512.cvttsd2usi64 + 1, // llvm.x86.avx512.cvttss2usi + 1, // llvm.x86.avx512.cvttss2usi64 + 1, // llvm.x86.avx512.cvtusi2sd + 1, // llvm.x86.avx512.cvtusi2ss + 1, // llvm.x86.avx512.cvtusi642sd + 1, // llvm.x86.avx512.cvtusi642ss + 3, // llvm.x86.avx512.gather.dpd.512 + 3, // llvm.x86.avx512.gather.dpi.512 + 3, // llvm.x86.avx512.gather.dpq.512 + 3, // llvm.x86.avx512.gather.dps.512 + 3, // llvm.x86.avx512.gather.qpd.512 + 3, // llvm.x86.avx512.gather.qpi.512 + 3, // llvm.x86.avx512.gather.qpq.512 + 3, // llvm.x86.avx512.gather.qps.512 + 2, // llvm.x86.avx512.gatherpf.dpd.512 + 2, // llvm.x86.avx512.gatherpf.dps.512 + 2, // llvm.x86.avx512.gatherpf.qpd.512 + 2, // llvm.x86.avx512.gatherpf.qps.512 + 1, // llvm.x86.avx512.kand.w + 1, // llvm.x86.avx512.kandn.w + 1, // llvm.x86.avx512.knot.w + 1, // llvm.x86.avx512.kor.w + 1, // llvm.x86.avx512.kortestc.w + 1, // llvm.x86.avx512.kortestz.w + 1, // llvm.x86.avx512.kunpck.bw + 1, // llvm.x86.avx512.kxnor.w + 1, // llvm.x86.avx512.kxor.w + 1, // llvm.x86.avx512.mask.blend.d.512 + 1, // llvm.x86.avx512.mask.blend.pd.512 + 1, // llvm.x86.avx512.mask.blend.ps.512 + 1, // llvm.x86.avx512.mask.blend.q.512 + 1, // llvm.x86.avx512.mask.cmp.pd.512 + 1, // llvm.x86.avx512.mask.cmp.ps.512 + 2, // llvm.x86.avx512.mask.conflict.d.512 + 2, // llvm.x86.avx512.mask.conflict.q.512 + 1, // llvm.x86.avx512.mask.cvtdq2pd.512 + 1, // llvm.x86.avx512.mask.cvtdq2ps.512 + 1, // llvm.x86.avx512.mask.cvtpd2dq.512 + 1, // llvm.x86.avx512.mask.cvtpd2ps.512 + 1, // llvm.x86.avx512.mask.cvtpd2udq.512 + 1, // llvm.x86.avx512.mask.cvtps2dq.512 + 1, // llvm.x86.avx512.mask.cvtps2udq.512 + 1, // llvm.x86.avx512.mask.cvttpd2dq.512 + 1, // llvm.x86.avx512.mask.cvttpd2udq.512 + 1, // llvm.x86.avx512.mask.cvttps2dq.512 + 1, // llvm.x86.avx512.mask.cvttps2udq.512 + 1, // llvm.x86.avx512.mask.cvtudq2pd.512 + 1, // llvm.x86.avx512.mask.cvtudq2ps.512 + 3, // llvm.x86.avx512.mask.loadu.d.512 + 3, // llvm.x86.avx512.mask.loadu.pd.512 + 3, // llvm.x86.avx512.mask.loadu.ps.512 + 3, // llvm.x86.avx512.mask.loadu.q.512 + 2, // llvm.x86.avx512.mask.lzcnt.d.512 + 2, // llvm.x86.avx512.mask.lzcnt.q.512 + 1, // llvm.x86.avx512.mask.max.pd.512 + 1, // llvm.x86.avx512.mask.max.ps.512 + 1, // llvm.x86.avx512.mask.min.pd.512 + 1, // llvm.x86.avx512.mask.min.ps.512 + 1, // llvm.x86.avx512.mask.pabs.d.512 + 1, // llvm.x86.avx512.mask.pabs.q.512 + 1, // llvm.x86.avx512.mask.pand.d.512 + 1, // llvm.x86.avx512.mask.pand.q.512 + 1, // llvm.x86.avx512.mask.pbroadcast.d.gpr.512 + 1, // llvm.x86.avx512.mask.pbroadcast.q.gpr.512 + 1, // llvm.x86.avx512.mask.pbroadcast.q.mem.512 + 1, // llvm.x86.avx512.mask.pcmpeq.d.512 + 1, // llvm.x86.avx512.mask.pcmpeq.q.512 + 1, // llvm.x86.avx512.mask.pmaxs.d.512 + 1, // llvm.x86.avx512.mask.pmaxs.q.512 + 1, // llvm.x86.avx512.mask.pmaxu.d.512 + 1, // llvm.x86.avx512.mask.pmaxu.q.512 + 1, // llvm.x86.avx512.mask.pmins.d.512 + 1, // llvm.x86.avx512.mask.pmins.q.512 + 1, // llvm.x86.avx512.mask.pminu.d.512 + 1, // llvm.x86.avx512.mask.pminu.q.512 + 1, // llvm.x86.avx512.mask.pmul.dq.512 + 1, // llvm.x86.avx512.mask.pmulu.dq.512 + 1, // llvm.x86.avx512.mask.ptestm.d.512 + 1, // llvm.x86.avx512.mask.ptestm.q.512 + 1, // llvm.x86.avx512.mask.rndscale.pd.512 + 1, // llvm.x86.avx512.mask.rndscale.ps.512 + 2, // llvm.x86.avx512.mask.storeu.d.512 + 2, // llvm.x86.avx512.mask.storeu.pd.512 + 2, // llvm.x86.avx512.mask.storeu.ps.512 + 2, // llvm.x86.avx512.mask.storeu.q.512 + 1, // llvm.x86.avx512.mask.vcvtph2ps.512 + 1, // llvm.x86.avx512.mask.vcvtps2ph.512 + 1, // llvm.x86.avx512.mask.vpermt.d.512 + 1, // llvm.x86.avx512.mask.vpermt.pd.512 + 1, // llvm.x86.avx512.mask.vpermt.ps.512 + 1, // llvm.x86.avx512.mask.vpermt.q.512 + 3, // llvm.x86.avx512.movntdqa + 1, // llvm.x86.avx512.pbroadcastd.512 + 1, // llvm.x86.avx512.pbroadcastd.i32.512 + 1, // llvm.x86.avx512.pbroadcastq.512 + 1, // llvm.x86.avx512.pbroadcastq.i64.512 + 1, // llvm.x86.avx512.pmovzxbd + 1, // llvm.x86.avx512.pmovzxbq + 1, // llvm.x86.avx512.pmovzxdq + 1, // llvm.x86.avx512.pmovzxwd + 1, // llvm.x86.avx512.pmovzxwq + 1, // llvm.x86.avx512.psll.dq + 1, // llvm.x86.avx512.psll.dq.bs + 1, // llvm.x86.avx512.psrl.dq + 1, // llvm.x86.avx512.psrl.dq.bs + 1, // llvm.x86.avx512.rcp14.pd.512 + 1, // llvm.x86.avx512.rcp14.ps.512 + 1, // llvm.x86.avx512.rcp14.sd + 1, // llvm.x86.avx512.rcp14.ss + 1, // llvm.x86.avx512.rcp28.pd + 1, // llvm.x86.avx512.rcp28.ps + 1, // llvm.x86.avx512.rcp28.sd + 1, // llvm.x86.avx512.rcp28.ss + 1, // llvm.x86.avx512.rndscale.sd + 1, // llvm.x86.avx512.rndscale.ss + 1, // llvm.x86.avx512.rsqrt14.pd.512 + 1, // llvm.x86.avx512.rsqrt14.ps.512 + 1, // llvm.x86.avx512.rsqrt14.sd + 1, // llvm.x86.avx512.rsqrt14.ss + 1, // llvm.x86.avx512.rsqrt28.pd + 1, // llvm.x86.avx512.rsqrt28.ps + 1, // llvm.x86.avx512.rsqrt28.sd + 1, // llvm.x86.avx512.rsqrt28.ss + 2, // llvm.x86.avx512.scatter.dpd.512 + 2, // llvm.x86.avx512.scatter.dpi.512 + 2, // llvm.x86.avx512.scatter.dpq.512 + 2, // llvm.x86.avx512.scatter.dps.512 + 2, // llvm.x86.avx512.scatter.qpd.512 + 2, // llvm.x86.avx512.scatter.qpi.512 + 2, // llvm.x86.avx512.scatter.qpq.512 + 2, // llvm.x86.avx512.scatter.qps.512 + 2, // llvm.x86.avx512.scatterpf.dpd.512 + 2, // llvm.x86.avx512.scatterpf.dps.512 + 2, // llvm.x86.avx512.scatterpf.qpd.512 + 2, // llvm.x86.avx512.scatterpf.qps.512 + 1, // llvm.x86.avx512.sqrt.pd.512 + 1, // llvm.x86.avx512.sqrt.ps.512 + 1, // llvm.x86.avx512.sqrt.sd + 1, // llvm.x86.avx512.sqrt.ss + 3, // llvm.x86.avx512.vbroadcast.sd.512 + 1, // llvm.x86.avx512.vbroadcast.sd.pd.512 + 3, // llvm.x86.avx512.vbroadcast.ss.512 + 1, // llvm.x86.avx512.vbroadcast.ss.ps.512 + 1, // llvm.x86.avx.addsub.pd.256 + 1, // llvm.x86.avx.addsub.ps.256 + 1, // llvm.x86.avx.blend.pd.256 + 1, // llvm.x86.avx.blend.ps.256 + 1, // llvm.x86.avx.blendv.pd.256 + 1, // llvm.x86.avx.blendv.ps.256 + 1, // llvm.x86.avx.cmp.pd.256 + 1, // llvm.x86.avx.cmp.ps.256 + 1, // llvm.x86.avx.cvt.pd2.ps.256 + 1, // llvm.x86.avx.cvt.pd2dq.256 + 1, // llvm.x86.avx.cvt.ps2.pd.256 + 1, // llvm.x86.avx.cvt.ps2dq.256 + 1, // llvm.x86.avx.cvtdq2.pd.256 + 1, // llvm.x86.avx.cvtdq2.ps.256 + 1, // llvm.x86.avx.cvtt.pd2dq.256 + 1, // llvm.x86.avx.cvtt.ps2dq.256 + 1, // llvm.x86.avx.dp.ps.256 + 1, // llvm.x86.avx.hadd.pd.256 + 1, // llvm.x86.avx.hadd.ps.256 + 1, // llvm.x86.avx.hsub.pd.256 + 1, // llvm.x86.avx.hsub.ps.256 + 3, // llvm.x86.avx.ldu.dq.256 + 3, // llvm.x86.avx.maskload.pd + 3, // llvm.x86.avx.maskload.pd.256 + 3, // llvm.x86.avx.maskload.ps + 3, // llvm.x86.avx.maskload.ps.256 + 2, // llvm.x86.avx.maskstore.pd + 2, // llvm.x86.avx.maskstore.pd.256 + 2, // llvm.x86.avx.maskstore.ps + 2, // llvm.x86.avx.maskstore.ps.256 + 1, // llvm.x86.avx.max.pd.256 + 1, // llvm.x86.avx.max.ps.256 + 1, // llvm.x86.avx.min.pd.256 + 1, // llvm.x86.avx.min.ps.256 + 1, // llvm.x86.avx.movmsk.pd.256 + 1, // llvm.x86.avx.movmsk.ps.256 + 1, // llvm.x86.avx.ptestc.256 + 1, // llvm.x86.avx.ptestnzc.256 + 1, // llvm.x86.avx.ptestz.256 + 1, // llvm.x86.avx.rcp.ps.256 + 1, // llvm.x86.avx.round.pd.256 + 1, // llvm.x86.avx.round.ps.256 + 1, // llvm.x86.avx.rsqrt.ps.256 + 1, // llvm.x86.avx.sqrt.pd.256 + 1, // llvm.x86.avx.sqrt.ps.256 + 2, // llvm.x86.avx.storeu.dq.256 + 2, // llvm.x86.avx.storeu.pd.256 + 2, // llvm.x86.avx.storeu.ps.256 + 3, // llvm.x86.avx.vbroadcastf128.pd.256 + 3, // llvm.x86.avx.vbroadcastf128.ps.256 + 1, // llvm.x86.avx.vextractf128.pd.256 + 1, // llvm.x86.avx.vextractf128.ps.256 + 1, // llvm.x86.avx.vextractf128.si.256 + 1, // llvm.x86.avx.vinsertf128.pd.256 + 1, // llvm.x86.avx.vinsertf128.ps.256 + 1, // llvm.x86.avx.vinsertf128.si.256 + 1, // llvm.x86.avx.vperm2f128.pd.256 + 1, // llvm.x86.avx.vperm2f128.ps.256 + 1, // llvm.x86.avx.vperm2f128.si.256 + 1, // llvm.x86.avx.vpermilvar.pd + 1, // llvm.x86.avx.vpermilvar.pd.256 + 1, // llvm.x86.avx.vpermilvar.ps + 1, // llvm.x86.avx.vpermilvar.ps.256 + 1, // llvm.x86.avx.vtestc.pd + 1, // llvm.x86.avx.vtestc.pd.256 + 1, // llvm.x86.avx.vtestc.ps + 1, // llvm.x86.avx.vtestc.ps.256 + 1, // llvm.x86.avx.vtestnzc.pd + 1, // llvm.x86.avx.vtestnzc.pd.256 + 1, // llvm.x86.avx.vtestnzc.ps + 1, // llvm.x86.avx.vtestnzc.ps.256 + 1, // llvm.x86.avx.vtestz.pd + 1, // llvm.x86.avx.vtestz.pd.256 + 1, // llvm.x86.avx.vtestz.ps + 1, // llvm.x86.avx.vtestz.ps.256 + 2, // llvm.x86.avx.vzeroall + 2, // llvm.x86.avx.vzeroupper + 1, // llvm.x86.bmi.bextr.32 + 1, // llvm.x86.bmi.bextr.64 + 1, // llvm.x86.bmi.bzhi.32 + 1, // llvm.x86.bmi.bzhi.64 + 1, // llvm.x86.bmi.pdep.32 + 1, // llvm.x86.bmi.pdep.64 + 1, // llvm.x86.bmi.pext.32 + 1, // llvm.x86.bmi.pext.64 + 1, // llvm.x86.fma.vfmadd.pd + 1, // llvm.x86.fma.vfmadd.pd.256 + 1, // llvm.x86.fma.vfmadd.pd.512 + 1, // llvm.x86.fma.vfmadd.ps + 1, // llvm.x86.fma.vfmadd.ps.256 + 1, // llvm.x86.fma.vfmadd.ps.512 + 1, // llvm.x86.fma.vfmadd.sd + 1, // llvm.x86.fma.vfmadd.ss + 1, // llvm.x86.fma.vfmaddsub.pd + 1, // llvm.x86.fma.vfmaddsub.pd.256 + 1, // llvm.x86.fma.vfmaddsub.pd.512 + 1, // llvm.x86.fma.vfmaddsub.ps + 1, // llvm.x86.fma.vfmaddsub.ps.256 + 1, // llvm.x86.fma.vfmaddsub.ps.512 + 1, // llvm.x86.fma.vfmsub.pd + 1, // llvm.x86.fma.vfmsub.pd.256 + 1, // llvm.x86.fma.vfmsub.pd.512 + 1, // llvm.x86.fma.vfmsub.ps + 1, // llvm.x86.fma.vfmsub.ps.256 + 1, // llvm.x86.fma.vfmsub.ps.512 + 1, // llvm.x86.fma.vfmsub.sd + 1, // llvm.x86.fma.vfmsub.ss + 1, // llvm.x86.fma.vfmsubadd.pd + 1, // llvm.x86.fma.vfmsubadd.pd.256 + 1, // llvm.x86.fma.vfmsubadd.pd.512 + 1, // llvm.x86.fma.vfmsubadd.ps + 1, // llvm.x86.fma.vfmsubadd.ps.256 + 1, // llvm.x86.fma.vfmsubadd.ps.512 + 1, // llvm.x86.fma.vfnmadd.pd + 1, // llvm.x86.fma.vfnmadd.pd.256 + 1, // llvm.x86.fma.vfnmadd.pd.512 + 1, // llvm.x86.fma.vfnmadd.ps + 1, // llvm.x86.fma.vfnmadd.ps.256 + 1, // llvm.x86.fma.vfnmadd.ps.512 + 1, // llvm.x86.fma.vfnmadd.sd + 1, // llvm.x86.fma.vfnmadd.ss + 1, // llvm.x86.fma.vfnmsub.pd + 1, // llvm.x86.fma.vfnmsub.pd.256 + 1, // llvm.x86.fma.vfnmsub.pd.512 + 1, // llvm.x86.fma.vfnmsub.ps + 1, // llvm.x86.fma.vfnmsub.ps.256 + 1, // llvm.x86.fma.vfnmsub.ps.512 + 1, // llvm.x86.fma.vfnmsub.sd + 1, // llvm.x86.fma.vfnmsub.ss + 2, // llvm.x86.int + 2, // llvm.x86.mmx.emms + 2, // llvm.x86.mmx.femms + 2, // llvm.x86.mmx.maskmovq + 2, // llvm.x86.mmx.movnt.dq + 1, // llvm.x86.mmx.packssdw + 1, // llvm.x86.mmx.packsswb + 1, // llvm.x86.mmx.packuswb + 1, // llvm.x86.mmx.padd.b + 1, // llvm.x86.mmx.padd.d + 1, // llvm.x86.mmx.padd.q + 1, // llvm.x86.mmx.padd.w + 1, // llvm.x86.mmx.padds.b + 1, // llvm.x86.mmx.padds.w + 1, // llvm.x86.mmx.paddus.b + 1, // llvm.x86.mmx.paddus.w + 1, // llvm.x86.mmx.palignr.b + 1, // llvm.x86.mmx.pand + 1, // llvm.x86.mmx.pandn + 1, // llvm.x86.mmx.pavg.b + 1, // llvm.x86.mmx.pavg.w + 1, // llvm.x86.mmx.pcmpeq.b + 1, // llvm.x86.mmx.pcmpeq.d + 1, // llvm.x86.mmx.pcmpeq.w + 1, // llvm.x86.mmx.pcmpgt.b + 1, // llvm.x86.mmx.pcmpgt.d + 1, // llvm.x86.mmx.pcmpgt.w + 1, // llvm.x86.mmx.pextr.w + 1, // llvm.x86.mmx.pinsr.w + 1, // llvm.x86.mmx.pmadd.wd + 1, // llvm.x86.mmx.pmaxs.w + 1, // llvm.x86.mmx.pmaxu.b + 1, // llvm.x86.mmx.pmins.w + 1, // llvm.x86.mmx.pminu.b + 1, // llvm.x86.mmx.pmovmskb + 1, // llvm.x86.mmx.pmulh.w + 1, // llvm.x86.mmx.pmulhu.w + 1, // llvm.x86.mmx.pmull.w + 1, // llvm.x86.mmx.pmulu.dq + 1, // llvm.x86.mmx.por + 1, // llvm.x86.mmx.psad.bw + 1, // llvm.x86.mmx.psll.d + 1, // llvm.x86.mmx.psll.q + 1, // llvm.x86.mmx.psll.w + 1, // llvm.x86.mmx.pslli.d + 1, // llvm.x86.mmx.pslli.q + 1, // llvm.x86.mmx.pslli.w + 1, // llvm.x86.mmx.psra.d + 1, // llvm.x86.mmx.psra.w + 1, // llvm.x86.mmx.psrai.d + 1, // llvm.x86.mmx.psrai.w + 1, // llvm.x86.mmx.psrl.d + 1, // llvm.x86.mmx.psrl.q + 1, // llvm.x86.mmx.psrl.w + 1, // llvm.x86.mmx.psrli.d + 1, // llvm.x86.mmx.psrli.q + 1, // llvm.x86.mmx.psrli.w + 1, // llvm.x86.mmx.psub.b + 1, // llvm.x86.mmx.psub.d + 1, // llvm.x86.mmx.psub.q + 1, // llvm.x86.mmx.psub.w + 1, // llvm.x86.mmx.psubs.b + 1, // llvm.x86.mmx.psubs.w + 1, // llvm.x86.mmx.psubus.b + 1, // llvm.x86.mmx.psubus.w + 1, // llvm.x86.mmx.punpckhbw + 1, // llvm.x86.mmx.punpckhdq + 1, // llvm.x86.mmx.punpckhwd + 1, // llvm.x86.mmx.punpcklbw + 1, // llvm.x86.mmx.punpckldq + 1, // llvm.x86.mmx.punpcklwd + 1, // llvm.x86.mmx.pxor + 1, // llvm.x86.pclmulqdq + 2, // llvm.x86.rdfsbase.32 + 2, // llvm.x86.rdfsbase.64 + 2, // llvm.x86.rdgsbase.32 + 2, // llvm.x86.rdgsbase.64 + 2, // llvm.x86.rdpmc + 2, // llvm.x86.rdrand.16 + 2, // llvm.x86.rdrand.32 + 2, // llvm.x86.rdrand.64 + 2, // llvm.x86.rdseed.16 + 2, // llvm.x86.rdseed.32 + 2, // llvm.x86.rdseed.64 + 2, // llvm.x86.rdtsc + 2, // llvm.x86.rdtscp + 1, // llvm.x86.sha1msg1 + 1, // llvm.x86.sha1msg2 + 1, // llvm.x86.sha1nexte + 1, // llvm.x86.sha1rnds4 + 1, // llvm.x86.sha256msg1 + 1, // llvm.x86.sha256msg2 + 1, // llvm.x86.sha256rnds2 + 1, // llvm.x86.sse2.add.sd + 2, // llvm.x86.sse2.clflush + 1, // llvm.x86.sse2.cmp.pd + 1, // llvm.x86.sse2.cmp.sd + 1, // llvm.x86.sse2.comieq.sd + 1, // llvm.x86.sse2.comige.sd + 1, // llvm.x86.sse2.comigt.sd + 1, // llvm.x86.sse2.comile.sd + 1, // llvm.x86.sse2.comilt.sd + 1, // llvm.x86.sse2.comineq.sd + 1, // llvm.x86.sse2.cvtdq2pd + 1, // llvm.x86.sse2.cvtdq2ps + 1, // llvm.x86.sse2.cvtpd2dq + 1, // llvm.x86.sse2.cvtpd2ps + 1, // llvm.x86.sse2.cvtps2dq + 1, // llvm.x86.sse2.cvtps2pd + 1, // llvm.x86.sse2.cvtsd2si + 1, // llvm.x86.sse2.cvtsd2si64 + 1, // llvm.x86.sse2.cvtsd2ss + 1, // llvm.x86.sse2.cvtsi2sd + 1, // llvm.x86.sse2.cvtsi642sd + 1, // llvm.x86.sse2.cvtss2sd + 1, // llvm.x86.sse2.cvttpd2dq + 1, // llvm.x86.sse2.cvttps2dq + 1, // llvm.x86.sse2.cvttsd2si + 1, // llvm.x86.sse2.cvttsd2si64 + 1, // llvm.x86.sse2.div.sd + 2, // llvm.x86.sse2.lfence + 2, // llvm.x86.sse2.maskmov.dqu + 1, // llvm.x86.sse2.max.pd + 1, // llvm.x86.sse2.max.sd + 2, // llvm.x86.sse2.mfence + 1, // llvm.x86.sse2.min.pd + 1, // llvm.x86.sse2.min.sd + 1, // llvm.x86.sse2.movmsk.pd + 1, // llvm.x86.sse2.mul.sd + 1, // llvm.x86.sse2.packssdw.128 + 1, // llvm.x86.sse2.packsswb.128 + 1, // llvm.x86.sse2.packuswb.128 + 1, // llvm.x86.sse2.padds.b + 1, // llvm.x86.sse2.padds.w + 1, // llvm.x86.sse2.paddus.b + 1, // llvm.x86.sse2.paddus.w + 2, // llvm.x86.sse2.pause + 1, // llvm.x86.sse2.pavg.b + 1, // llvm.x86.sse2.pavg.w + 1, // llvm.x86.sse2.pmadd.wd + 1, // llvm.x86.sse2.pmaxs.w + 1, // llvm.x86.sse2.pmaxu.b + 1, // llvm.x86.sse2.pmins.w + 1, // llvm.x86.sse2.pminu.b + 1, // llvm.x86.sse2.pmovmskb.128 + 1, // llvm.x86.sse2.pmulh.w + 1, // llvm.x86.sse2.pmulhu.w + 1, // llvm.x86.sse2.pmulu.dq + 1, // llvm.x86.sse2.psad.bw + 1, // llvm.x86.sse2.pshuf.d + 1, // llvm.x86.sse2.pshufh.w + 1, // llvm.x86.sse2.pshufl.w + 1, // llvm.x86.sse2.psll.d + 1, // llvm.x86.sse2.psll.dq + 1, // llvm.x86.sse2.psll.dq.bs + 1, // llvm.x86.sse2.psll.q + 1, // llvm.x86.sse2.psll.w + 1, // llvm.x86.sse2.pslli.d + 1, // llvm.x86.sse2.pslli.q + 1, // llvm.x86.sse2.pslli.w + 1, // llvm.x86.sse2.psra.d + 1, // llvm.x86.sse2.psra.w + 1, // llvm.x86.sse2.psrai.d + 1, // llvm.x86.sse2.psrai.w + 1, // llvm.x86.sse2.psrl.d + 1, // llvm.x86.sse2.psrl.dq + 1, // llvm.x86.sse2.psrl.dq.bs + 1, // llvm.x86.sse2.psrl.q + 1, // llvm.x86.sse2.psrl.w + 1, // llvm.x86.sse2.psrli.d + 1, // llvm.x86.sse2.psrli.q + 1, // llvm.x86.sse2.psrli.w + 1, // llvm.x86.sse2.psubs.b + 1, // llvm.x86.sse2.psubs.w + 1, // llvm.x86.sse2.psubus.b + 1, // llvm.x86.sse2.psubus.w + 1, // llvm.x86.sse2.sqrt.pd + 1, // llvm.x86.sse2.sqrt.sd + 2, // llvm.x86.sse2.storel.dq + 2, // llvm.x86.sse2.storeu.dq + 2, // llvm.x86.sse2.storeu.pd + 1, // llvm.x86.sse2.sub.sd + 1, // llvm.x86.sse2.ucomieq.sd + 1, // llvm.x86.sse2.ucomige.sd + 1, // llvm.x86.sse2.ucomigt.sd + 1, // llvm.x86.sse2.ucomile.sd + 1, // llvm.x86.sse2.ucomilt.sd + 1, // llvm.x86.sse2.ucomineq.sd + 1, // llvm.x86.sse3.addsub.pd + 1, // llvm.x86.sse3.addsub.ps + 1, // llvm.x86.sse3.hadd.pd + 1, // llvm.x86.sse3.hadd.ps + 1, // llvm.x86.sse3.hsub.pd + 1, // llvm.x86.sse3.hsub.ps + 3, // llvm.x86.sse3.ldu.dq + 2, // llvm.x86.sse3.monitor + 2, // llvm.x86.sse3.mwait + 1, // llvm.x86.sse41.blendpd + 1, // llvm.x86.sse41.blendps + 1, // llvm.x86.sse41.blendvpd + 1, // llvm.x86.sse41.blendvps + 1, // llvm.x86.sse41.dppd + 1, // llvm.x86.sse41.dpps + 1, // llvm.x86.sse41.extractps + 1, // llvm.x86.sse41.insertps + 3, // llvm.x86.sse41.movntdqa + 1, // llvm.x86.sse41.mpsadbw + 1, // llvm.x86.sse41.packusdw + 1, // llvm.x86.sse41.pblendvb + 1, // llvm.x86.sse41.pblendw + 1, // llvm.x86.sse41.pextrb + 1, // llvm.x86.sse41.pextrd + 1, // llvm.x86.sse41.pextrq + 1, // llvm.x86.sse41.phminposuw + 1, // llvm.x86.sse41.pmaxsb + 1, // llvm.x86.sse41.pmaxsd + 1, // llvm.x86.sse41.pmaxud + 1, // llvm.x86.sse41.pmaxuw + 1, // llvm.x86.sse41.pminsb + 1, // llvm.x86.sse41.pminsd + 1, // llvm.x86.sse41.pminud + 1, // llvm.x86.sse41.pminuw + 1, // llvm.x86.sse41.pmovsxbd + 1, // llvm.x86.sse41.pmovsxbq + 1, // llvm.x86.sse41.pmovsxbw + 1, // llvm.x86.sse41.pmovsxdq + 1, // llvm.x86.sse41.pmovsxwd + 1, // llvm.x86.sse41.pmovsxwq + 1, // llvm.x86.sse41.pmovzxbd + 1, // llvm.x86.sse41.pmovzxbq + 1, // llvm.x86.sse41.pmovzxbw + 1, // llvm.x86.sse41.pmovzxdq + 1, // llvm.x86.sse41.pmovzxwd + 1, // llvm.x86.sse41.pmovzxwq + 1, // llvm.x86.sse41.pmuldq + 1, // llvm.x86.sse41.ptestc + 1, // llvm.x86.sse41.ptestnzc + 1, // llvm.x86.sse41.ptestz + 1, // llvm.x86.sse41.round.pd + 1, // llvm.x86.sse41.round.ps + 1, // llvm.x86.sse41.round.sd + 1, // llvm.x86.sse41.round.ss + 1, // llvm.x86.sse42.crc32.32.16 + 1, // llvm.x86.sse42.crc32.32.32 + 1, // llvm.x86.sse42.crc32.32.8 + 1, // llvm.x86.sse42.crc32.64.64 + 1, // llvm.x86.sse42.pcmpestri128 + 1, // llvm.x86.sse42.pcmpestria128 + 1, // llvm.x86.sse42.pcmpestric128 + 1, // llvm.x86.sse42.pcmpestrio128 + 1, // llvm.x86.sse42.pcmpestris128 + 1, // llvm.x86.sse42.pcmpestriz128 + 1, // llvm.x86.sse42.pcmpestrm128 + 1, // llvm.x86.sse42.pcmpistri128 + 1, // llvm.x86.sse42.pcmpistria128 + 1, // llvm.x86.sse42.pcmpistric128 + 1, // llvm.x86.sse42.pcmpistrio128 + 1, // llvm.x86.sse42.pcmpistris128 + 1, // llvm.x86.sse42.pcmpistriz128 + 1, // llvm.x86.sse42.pcmpistrm128 + 1, // llvm.x86.sse4a.extrq + 1, // llvm.x86.sse4a.extrqi + 1, // llvm.x86.sse4a.insertq + 1, // llvm.x86.sse4a.insertqi + 2, // llvm.x86.sse4a.movnt.sd + 2, // llvm.x86.sse4a.movnt.ss + 1, // llvm.x86.sse.add.ss + 1, // llvm.x86.sse.cmp.ps + 1, // llvm.x86.sse.cmp.ss + 1, // llvm.x86.sse.comieq.ss + 1, // llvm.x86.sse.comige.ss + 1, // llvm.x86.sse.comigt.ss + 1, // llvm.x86.sse.comile.ss + 1, // llvm.x86.sse.comilt.ss + 1, // llvm.x86.sse.comineq.ss + 1, // llvm.x86.sse.cvtpd2pi + 1, // llvm.x86.sse.cvtpi2pd + 1, // llvm.x86.sse.cvtpi2ps + 1, // llvm.x86.sse.cvtps2pi + 1, // llvm.x86.sse.cvtsi2ss + 1, // llvm.x86.sse.cvtsi642ss + 1, // llvm.x86.sse.cvtss2si + 1, // llvm.x86.sse.cvtss2si64 + 1, // llvm.x86.sse.cvttpd2pi + 1, // llvm.x86.sse.cvttps2pi + 1, // llvm.x86.sse.cvttss2si + 1, // llvm.x86.sse.cvttss2si64 + 1, // llvm.x86.sse.div.ss + 2, // llvm.x86.sse.ldmxcsr + 1, // llvm.x86.sse.max.ps + 1, // llvm.x86.sse.max.ss + 1, // llvm.x86.sse.min.ps + 1, // llvm.x86.sse.min.ss + 1, // llvm.x86.sse.movmsk.ps + 1, // llvm.x86.sse.mul.ss + 1, // llvm.x86.sse.pshuf.w + 1, // llvm.x86.sse.rcp.ps + 1, // llvm.x86.sse.rcp.ss + 1, // llvm.x86.sse.rsqrt.ps + 1, // llvm.x86.sse.rsqrt.ss + 2, // llvm.x86.sse.sfence + 1, // llvm.x86.sse.sqrt.ps + 1, // llvm.x86.sse.sqrt.ss + 2, // llvm.x86.sse.stmxcsr + 2, // llvm.x86.sse.storeu.ps + 1, // llvm.x86.sse.sub.ss + 1, // llvm.x86.sse.ucomieq.ss + 1, // llvm.x86.sse.ucomige.ss + 1, // llvm.x86.sse.ucomigt.ss + 1, // llvm.x86.sse.ucomile.ss + 1, // llvm.x86.sse.ucomilt.ss + 1, // llvm.x86.sse.ucomineq.ss + 1, // llvm.x86.ssse3.pabs.b + 1, // llvm.x86.ssse3.pabs.b.128 + 1, // llvm.x86.ssse3.pabs.d + 1, // llvm.x86.ssse3.pabs.d.128 + 1, // llvm.x86.ssse3.pabs.w + 1, // llvm.x86.ssse3.pabs.w.128 + 1, // llvm.x86.ssse3.phadd.d + 1, // llvm.x86.ssse3.phadd.d.128 + 1, // llvm.x86.ssse3.phadd.sw + 1, // llvm.x86.ssse3.phadd.sw.128 + 1, // llvm.x86.ssse3.phadd.w + 1, // llvm.x86.ssse3.phadd.w.128 + 1, // llvm.x86.ssse3.phsub.d + 1, // llvm.x86.ssse3.phsub.d.128 + 1, // llvm.x86.ssse3.phsub.sw + 1, // llvm.x86.ssse3.phsub.sw.128 + 1, // llvm.x86.ssse3.phsub.w + 1, // llvm.x86.ssse3.phsub.w.128 + 1, // llvm.x86.ssse3.pmadd.ub.sw + 1, // llvm.x86.ssse3.pmadd.ub.sw.128 + 1, // llvm.x86.ssse3.pmul.hr.sw + 1, // llvm.x86.ssse3.pmul.hr.sw.128 + 1, // llvm.x86.ssse3.pshuf.b + 1, // llvm.x86.ssse3.pshuf.b.128 + 1, // llvm.x86.ssse3.psign.b + 1, // llvm.x86.ssse3.psign.b.128 + 1, // llvm.x86.ssse3.psign.d + 1, // llvm.x86.ssse3.psign.d.128 + 1, // llvm.x86.ssse3.psign.w + 1, // llvm.x86.ssse3.psign.w.128 + 1, // llvm.x86.tbm.bextri.u32 + 1, // llvm.x86.tbm.bextri.u64 + 1, // llvm.x86.vcvtph2ps.128 + 1, // llvm.x86.vcvtph2ps.256 + 1, // llvm.x86.vcvtps2ph.128 + 1, // llvm.x86.vcvtps2ph.256 + 2, // llvm.x86.wrfsbase.32 + 2, // llvm.x86.wrfsbase.64 + 2, // llvm.x86.wrgsbase.32 + 2, // llvm.x86.wrgsbase.64 + 9, // llvm.x86.xabort + 2, // llvm.x86.xbegin + 2, // llvm.x86.xend + 1, // llvm.x86.xop.vfrcz.pd + 1, // llvm.x86.xop.vfrcz.pd.256 + 1, // llvm.x86.xop.vfrcz.ps + 1, // llvm.x86.xop.vfrcz.ps.256 + 1, // llvm.x86.xop.vfrcz.sd + 1, // llvm.x86.xop.vfrcz.ss + 1, // llvm.x86.xop.vpcmov + 1, // llvm.x86.xop.vpcmov.256 + 1, // llvm.x86.xop.vpcomb + 1, // llvm.x86.xop.vpcomd + 1, // llvm.x86.xop.vpcomq + 1, // llvm.x86.xop.vpcomub + 1, // llvm.x86.xop.vpcomud + 1, // llvm.x86.xop.vpcomuq + 1, // llvm.x86.xop.vpcomuw + 1, // llvm.x86.xop.vpcomw + 1, // llvm.x86.xop.vpermil2pd + 1, // llvm.x86.xop.vpermil2pd.256 + 1, // llvm.x86.xop.vpermil2ps + 1, // llvm.x86.xop.vpermil2ps.256 + 1, // llvm.x86.xop.vphaddbd + 1, // llvm.x86.xop.vphaddbq + 1, // llvm.x86.xop.vphaddbw + 1, // llvm.x86.xop.vphadddq + 1, // llvm.x86.xop.vphaddubd + 1, // llvm.x86.xop.vphaddubq + 1, // llvm.x86.xop.vphaddubw + 1, // llvm.x86.xop.vphaddudq + 1, // llvm.x86.xop.vphadduwd + 1, // llvm.x86.xop.vphadduwq + 1, // llvm.x86.xop.vphaddwd + 1, // llvm.x86.xop.vphaddwq + 1, // llvm.x86.xop.vphsubbw + 1, // llvm.x86.xop.vphsubdq + 1, // llvm.x86.xop.vphsubwd + 1, // llvm.x86.xop.vpmacsdd + 1, // llvm.x86.xop.vpmacsdqh + 1, // llvm.x86.xop.vpmacsdql + 1, // llvm.x86.xop.vpmacssdd + 1, // llvm.x86.xop.vpmacssdqh + 1, // llvm.x86.xop.vpmacssdql + 1, // llvm.x86.xop.vpmacsswd + 1, // llvm.x86.xop.vpmacssww + 1, // llvm.x86.xop.vpmacswd + 1, // llvm.x86.xop.vpmacsww + 1, // llvm.x86.xop.vpmadcsswd + 1, // llvm.x86.xop.vpmadcswd + 1, // llvm.x86.xop.vpperm + 1, // llvm.x86.xop.vprotb + 1, // llvm.x86.xop.vprotbi + 1, // llvm.x86.xop.vprotd + 1, // llvm.x86.xop.vprotdi + 1, // llvm.x86.xop.vprotq + 1, // llvm.x86.xop.vprotqi + 1, // llvm.x86.xop.vprotw + 1, // llvm.x86.xop.vprotwi + 1, // llvm.x86.xop.vpshab + 1, // llvm.x86.xop.vpshad + 1, // llvm.x86.xop.vpshaq + 1, // llvm.x86.xop.vpshaw + 1, // llvm.x86.xop.vpshlb + 1, // llvm.x86.xop.vpshld + 1, // llvm.x86.xop.vpshlq + 1, // llvm.x86.xop.vpshlw + 2, // llvm.x86.xtest + 1, // llvm.xcore.bitrev + 2, // llvm.xcore.checkevent + 12, // llvm.xcore.chkct + 2, // llvm.xcore.clre + 12, // llvm.xcore.clrpt + 2, // llvm.xcore.clrsr + 1, // llvm.xcore.crc32 + 1, // llvm.xcore.crc8 + 12, // llvm.xcore.edu + 12, // llvm.xcore.eeu + 12, // llvm.xcore.endin + 12, // llvm.xcore.freer + 2, // llvm.xcore.geted + 2, // llvm.xcore.getet + 1, // llvm.xcore.getid + 2, // llvm.xcore.getps + 2, // llvm.xcore.getr + 12, // llvm.xcore.getst + 12, // llvm.xcore.getts + 12, // llvm.xcore.in + 12, // llvm.xcore.inct + 12, // llvm.xcore.initcp + 12, // llvm.xcore.initdp + 12, // llvm.xcore.initlr + 12, // llvm.xcore.initpc + 12, // llvm.xcore.initsp + 12, // llvm.xcore.inshr + 12, // llvm.xcore.int + 12, // llvm.xcore.mjoin + 12, // llvm.xcore.msync + 12, // llvm.xcore.out + 12, // llvm.xcore.outct + 12, // llvm.xcore.outshr + 12, // llvm.xcore.outt + 12, // llvm.xcore.peek + 12, // llvm.xcore.setc + 17, // llvm.xcore.setclk + 12, // llvm.xcore.setd + 12, // llvm.xcore.setev + 2, // llvm.xcore.setps + 12, // llvm.xcore.setpsc + 12, // llvm.xcore.setpt + 17, // llvm.xcore.setrdy + 2, // llvm.xcore.setsr + 12, // llvm.xcore.settw + 12, // llvm.xcore.setv + 1, // llvm.xcore.sext + 2, // llvm.xcore.ssync + 12, // llvm.xcore.syncr + 12, // llvm.xcore.testct + 12, // llvm.xcore.testwct + 3, // llvm.xcore.waitevent + 1, // llvm.xcore.zext + }; + + AttributeSet AS[4]; + unsigned NumAttrs = 0; + if (id != 0) { + switch(IntrinsicsToAttributesMap[id - 1]) { + default: llvm_unreachable("Invalid attribute number"); + case 1: { + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone}; + AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 1; + break; + } + case 16: { + const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 1, AttrParam1); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 3: { + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly}; + AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 1; + break; + } + case 15: { + const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 1, AttrParam1); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 2: { + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 1; + break; + } + case 12: { + const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 1, AttrParam1); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 17: { + const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 1, AttrParam1); + const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture}; + AS[1] = AttributeSet::get(C, 2, AttrParam2); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 3; + break; + } + case 14: { + const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 1, AttrParam1); + const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly}; + AS[1] = AttributeSet::get(C, 2, AttrParam2); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 3; + break; + } + case 13: { + const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 2, AttrParam2); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 11: { + const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 2, AttrParam2); + const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture}; + AS[1] = AttributeSet::get(C, 3, AttrParam3); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 3; + break; + } + case 4: { + const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 3, AttrParam3); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 5: { + const Attribute::AttrKind AttrParam4[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 4, AttrParam4); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 6: { + const Attribute::AttrKind AttrParam5[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 5, AttrParam5); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 7: { + const Attribute::AttrKind AttrParam6[]= {Attribute::NoCapture}; + AS[0] = AttributeSet::get(C, 6, AttrParam6); + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind}; + AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 2; + break; + } + case 9: { + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn}; + AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 1; + break; + } + case 8: { + const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate}; + AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts); + NumAttrs = 1; + break; + } + case 10: { + return AttributeSet(); + } + } + } + return AttributeSet::get(C, ArrayRef<AttributeSet>(AS, NumAttrs)); +} +#endif // GET_INTRINSIC_ATTRIBUTES + +// Determine intrinsic alias analysis mod/ref behavior. +#ifdef GET_INTRINSIC_MODREF_BEHAVIOR +assert(iid <= Intrinsic::xcore_zext && "Unknown intrinsic."); + +static const uint8_t IntrinsicModRefBehavior[] = { + /* invalid */ UnknownModRefBehavior, + /* AMDGPU_div_fixup */ DoesNotAccessMemory, + /* AMDGPU_div_fmas */ DoesNotAccessMemory, + /* AMDGPU_div_scale */ DoesNotAccessMemory, + /* AMDGPU_rcp */ DoesNotAccessMemory, + /* AMDGPU_rsq */ DoesNotAccessMemory, + /* AMDGPU_rsq_clamped */ DoesNotAccessMemory, + /* AMDGPU_trig_preop */ DoesNotAccessMemory, + /* aarch64_clrex */ UnknownModRefBehavior, + /* aarch64_crc32b */ DoesNotAccessMemory, + /* aarch64_crc32cb */ DoesNotAccessMemory, + /* aarch64_crc32ch */ DoesNotAccessMemory, + /* aarch64_crc32cw */ DoesNotAccessMemory, + /* aarch64_crc32cx */ DoesNotAccessMemory, + /* aarch64_crc32h */ DoesNotAccessMemory, + /* aarch64_crc32w */ DoesNotAccessMemory, + /* aarch64_crc32x */ DoesNotAccessMemory, + /* aarch64_crypto_aesd */ DoesNotAccessMemory, + /* aarch64_crypto_aese */ DoesNotAccessMemory, + /* aarch64_crypto_aesimc */ DoesNotAccessMemory, + /* aarch64_crypto_aesmc */ DoesNotAccessMemory, + /* aarch64_crypto_sha1c */ DoesNotAccessMemory, + /* aarch64_crypto_sha1h */ DoesNotAccessMemory, + /* aarch64_crypto_sha1m */ DoesNotAccessMemory, + /* aarch64_crypto_sha1p */ DoesNotAccessMemory, + /* aarch64_crypto_sha1su0 */ DoesNotAccessMemory, + /* aarch64_crypto_sha1su1 */ DoesNotAccessMemory, + /* aarch64_crypto_sha256h */ DoesNotAccessMemory, + /* aarch64_crypto_sha256h2 */ DoesNotAccessMemory, + /* aarch64_crypto_sha256su0 */ DoesNotAccessMemory, + /* aarch64_crypto_sha256su1 */ DoesNotAccessMemory, + /* aarch64_dmb */ UnknownModRefBehavior, + /* aarch64_dsb */ UnknownModRefBehavior, + /* aarch64_hint */ UnknownModRefBehavior, + /* aarch64_isb */ UnknownModRefBehavior, + /* aarch64_ldaxp */ UnknownModRefBehavior, + /* aarch64_ldaxr */ UnknownModRefBehavior, + /* aarch64_ldxp */ UnknownModRefBehavior, + /* aarch64_ldxr */ UnknownModRefBehavior, + /* aarch64_neon_abs */ DoesNotAccessMemory, + /* aarch64_neon_addhn */ DoesNotAccessMemory, + /* aarch64_neon_addp */ DoesNotAccessMemory, + /* aarch64_neon_cls */ DoesNotAccessMemory, + /* aarch64_neon_fabd */ DoesNotAccessMemory, + /* aarch64_neon_facge */ DoesNotAccessMemory, + /* aarch64_neon_facgt */ DoesNotAccessMemory, + /* aarch64_neon_faddv */ DoesNotAccessMemory, + /* aarch64_neon_fcvtas */ DoesNotAccessMemory, + /* aarch64_neon_fcvtau */ DoesNotAccessMemory, + /* aarch64_neon_fcvtms */ DoesNotAccessMemory, + /* aarch64_neon_fcvtmu */ DoesNotAccessMemory, + /* aarch64_neon_fcvtns */ DoesNotAccessMemory, + /* aarch64_neon_fcvtnu */ DoesNotAccessMemory, + /* aarch64_neon_fcvtps */ DoesNotAccessMemory, + /* aarch64_neon_fcvtpu */ DoesNotAccessMemory, + /* aarch64_neon_fcvtxn */ DoesNotAccessMemory, + /* aarch64_neon_fcvtzs */ DoesNotAccessMemory, + /* aarch64_neon_fcvtzu */ DoesNotAccessMemory, + /* aarch64_neon_fmax */ DoesNotAccessMemory, + /* aarch64_neon_fmaxnm */ DoesNotAccessMemory, + /* aarch64_neon_fmaxnmp */ DoesNotAccessMemory, + /* aarch64_neon_fmaxnmv */ DoesNotAccessMemory, + /* aarch64_neon_fmaxp */ DoesNotAccessMemory, + /* aarch64_neon_fmaxv */ DoesNotAccessMemory, + /* aarch64_neon_fmin */ DoesNotAccessMemory, + /* aarch64_neon_fminnm */ DoesNotAccessMemory, + /* aarch64_neon_fminnmp */ DoesNotAccessMemory, + /* aarch64_neon_fminnmv */ DoesNotAccessMemory, + /* aarch64_neon_fminp */ DoesNotAccessMemory, + /* aarch64_neon_fminv */ DoesNotAccessMemory, + /* aarch64_neon_fmulx */ DoesNotAccessMemory, + /* aarch64_neon_frecpe */ DoesNotAccessMemory, + /* aarch64_neon_frecps */ DoesNotAccessMemory, + /* aarch64_neon_frecpx */ DoesNotAccessMemory, + /* aarch64_neon_frintn */ DoesNotAccessMemory, + /* aarch64_neon_frsqrte */ DoesNotAccessMemory, + /* aarch64_neon_frsqrts */ DoesNotAccessMemory, + /* aarch64_neon_ld1x2 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld1x3 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld1x4 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld2 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld2lane */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld2r */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld3 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld3lane */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld3r */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld4 */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld4lane */ OnlyReadsArgumentPointees, + /* aarch64_neon_ld4r */ OnlyReadsArgumentPointees, + /* aarch64_neon_pmul */ DoesNotAccessMemory, + /* aarch64_neon_pmull */ DoesNotAccessMemory, + /* aarch64_neon_pmull64 */ DoesNotAccessMemory, + /* aarch64_neon_raddhn */ DoesNotAccessMemory, + /* aarch64_neon_rbit */ DoesNotAccessMemory, + /* aarch64_neon_rshrn */ DoesNotAccessMemory, + /* aarch64_neon_rsubhn */ DoesNotAccessMemory, + /* aarch64_neon_sabd */ DoesNotAccessMemory, + /* aarch64_neon_saddlp */ DoesNotAccessMemory, + /* aarch64_neon_saddlv */ DoesNotAccessMemory, + /* aarch64_neon_saddv */ DoesNotAccessMemory, + /* aarch64_neon_scalar_sqxtn */ DoesNotAccessMemory, + /* aarch64_neon_scalar_sqxtun */ DoesNotAccessMemory, + /* aarch64_neon_scalar_uqxtn */ DoesNotAccessMemory, + /* aarch64_neon_shadd */ DoesNotAccessMemory, + /* aarch64_neon_shll */ DoesNotAccessMemory, + /* aarch64_neon_shsub */ DoesNotAccessMemory, + /* aarch64_neon_smax */ DoesNotAccessMemory, + /* aarch64_neon_smaxp */ DoesNotAccessMemory, + /* aarch64_neon_smaxv */ DoesNotAccessMemory, + /* aarch64_neon_smin */ DoesNotAccessMemory, + /* aarch64_neon_sminp */ DoesNotAccessMemory, + /* aarch64_neon_sminv */ DoesNotAccessMemory, + /* aarch64_neon_smull */ DoesNotAccessMemory, + /* aarch64_neon_sqabs */ DoesNotAccessMemory, + /* aarch64_neon_sqadd */ DoesNotAccessMemory, + /* aarch64_neon_sqdmulh */ DoesNotAccessMemory, + /* aarch64_neon_sqdmull */ DoesNotAccessMemory, + /* aarch64_neon_sqdmulls_scalar */ DoesNotAccessMemory, + /* aarch64_neon_sqneg */ DoesNotAccessMemory, + /* aarch64_neon_sqrdmulh */ DoesNotAccessMemory, + /* aarch64_neon_sqrshl */ DoesNotAccessMemory, + /* aarch64_neon_sqrshrn */ DoesNotAccessMemory, + /* aarch64_neon_sqrshrun */ DoesNotAccessMemory, + /* aarch64_neon_sqshl */ DoesNotAccessMemory, + /* aarch64_neon_sqshlu */ DoesNotAccessMemory, + /* aarch64_neon_sqshrn */ DoesNotAccessMemory, + /* aarch64_neon_sqshrun */ DoesNotAccessMemory, + /* aarch64_neon_sqsub */ DoesNotAccessMemory, + /* aarch64_neon_sqxtn */ DoesNotAccessMemory, + /* aarch64_neon_sqxtun */ DoesNotAccessMemory, + /* aarch64_neon_srhadd */ DoesNotAccessMemory, + /* aarch64_neon_srshl */ DoesNotAccessMemory, + /* aarch64_neon_sshl */ DoesNotAccessMemory, + /* aarch64_neon_sshll */ DoesNotAccessMemory, + /* aarch64_neon_st1x2 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st1x3 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st1x4 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st2 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st2lane */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st3 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st3lane */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st4 */ OnlyAccessesArgumentPointees, + /* aarch64_neon_st4lane */ OnlyAccessesArgumentPointees, + /* aarch64_neon_subhn */ DoesNotAccessMemory, + /* aarch64_neon_suqadd */ DoesNotAccessMemory, + /* aarch64_neon_tbl1 */ DoesNotAccessMemory, + /* aarch64_neon_tbl2 */ DoesNotAccessMemory, + /* aarch64_neon_tbl3 */ DoesNotAccessMemory, + /* aarch64_neon_tbl4 */ DoesNotAccessMemory, + /* aarch64_neon_tbx1 */ DoesNotAccessMemory, + /* aarch64_neon_tbx2 */ DoesNotAccessMemory, + /* aarch64_neon_tbx3 */ DoesNotAccessMemory, + /* aarch64_neon_tbx4 */ DoesNotAccessMemory, + /* aarch64_neon_uabd */ DoesNotAccessMemory, + /* aarch64_neon_uaddlp */ DoesNotAccessMemory, + /* aarch64_neon_uaddlv */ DoesNotAccessMemory, + /* aarch64_neon_uaddv */ DoesNotAccessMemory, + /* aarch64_neon_uhadd */ DoesNotAccessMemory, + /* aarch64_neon_uhsub */ DoesNotAccessMemory, + /* aarch64_neon_umax */ DoesNotAccessMemory, + /* aarch64_neon_umaxp */ DoesNotAccessMemory, + /* aarch64_neon_umaxv */ DoesNotAccessMemory, + /* aarch64_neon_umin */ DoesNotAccessMemory, + /* aarch64_neon_uminp */ DoesNotAccessMemory, + /* aarch64_neon_uminv */ DoesNotAccessMemory, + /* aarch64_neon_umull */ DoesNotAccessMemory, + /* aarch64_neon_uqadd */ DoesNotAccessMemory, + /* aarch64_neon_uqrshl */ DoesNotAccessMemory, + /* aarch64_neon_uqrshrn */ DoesNotAccessMemory, + /* aarch64_neon_uqshl */ DoesNotAccessMemory, + /* aarch64_neon_uqshrn */ DoesNotAccessMemory, + /* aarch64_neon_uqsub */ DoesNotAccessMemory, + /* aarch64_neon_uqxtn */ DoesNotAccessMemory, + /* aarch64_neon_urecpe */ DoesNotAccessMemory, + /* aarch64_neon_urhadd */ DoesNotAccessMemory, + /* aarch64_neon_urshl */ DoesNotAccessMemory, + /* aarch64_neon_ursqrte */ DoesNotAccessMemory, + /* aarch64_neon_ushl */ DoesNotAccessMemory, + /* aarch64_neon_ushll */ DoesNotAccessMemory, + /* aarch64_neon_usqadd */ DoesNotAccessMemory, + /* aarch64_neon_vcopy_lane */ DoesNotAccessMemory, + /* aarch64_neon_vcvtfp2fxs */ DoesNotAccessMemory, + /* aarch64_neon_vcvtfp2fxu */ DoesNotAccessMemory, + /* aarch64_neon_vcvtfp2hf */ DoesNotAccessMemory, + /* aarch64_neon_vcvtfxs2fp */ DoesNotAccessMemory, + /* aarch64_neon_vcvtfxu2fp */ DoesNotAccessMemory, + /* aarch64_neon_vcvthf2fp */ DoesNotAccessMemory, + /* aarch64_neon_vsli */ DoesNotAccessMemory, + /* aarch64_neon_vsri */ DoesNotAccessMemory, + /* aarch64_rbit */ DoesNotAccessMemory, + /* aarch64_sdiv */ DoesNotAccessMemory, + /* aarch64_sisd_fabd */ DoesNotAccessMemory, + /* aarch64_sisd_fcvtxn */ DoesNotAccessMemory, + /* aarch64_stlxp */ UnknownModRefBehavior, + /* aarch64_stlxr */ UnknownModRefBehavior, + /* aarch64_stxp */ UnknownModRefBehavior, + /* aarch64_stxr */ UnknownModRefBehavior, + /* aarch64_udiv */ DoesNotAccessMemory, + /* adjust_trampoline */ OnlyReadsArgumentPointees, + /* annotation */ UnknownModRefBehavior, + /* arm_cdp */ UnknownModRefBehavior, + /* arm_cdp2 */ UnknownModRefBehavior, + /* arm_clrex */ UnknownModRefBehavior, + /* arm_crc32b */ DoesNotAccessMemory, + /* arm_crc32cb */ DoesNotAccessMemory, + /* arm_crc32ch */ DoesNotAccessMemory, + /* arm_crc32cw */ DoesNotAccessMemory, + /* arm_crc32h */ DoesNotAccessMemory, + /* arm_crc32w */ DoesNotAccessMemory, + /* arm_dmb */ UnknownModRefBehavior, + /* arm_dsb */ UnknownModRefBehavior, + /* arm_get_fpscr */ DoesNotAccessMemory, + /* arm_hint */ UnknownModRefBehavior, + /* arm_isb */ UnknownModRefBehavior, + /* arm_ldaex */ UnknownModRefBehavior, + /* arm_ldaexd */ UnknownModRefBehavior, + /* arm_ldrex */ UnknownModRefBehavior, + /* arm_ldrexd */ UnknownModRefBehavior, + /* arm_mcr */ UnknownModRefBehavior, + /* arm_mcr2 */ UnknownModRefBehavior, + /* arm_mcrr */ UnknownModRefBehavior, + /* arm_mcrr2 */ UnknownModRefBehavior, + /* arm_mrc */ UnknownModRefBehavior, + /* arm_mrc2 */ UnknownModRefBehavior, + /* arm_neon_aesd */ DoesNotAccessMemory, + /* arm_neon_aese */ DoesNotAccessMemory, + /* arm_neon_aesimc */ DoesNotAccessMemory, + /* arm_neon_aesmc */ DoesNotAccessMemory, + /* arm_neon_sha1c */ DoesNotAccessMemory, + /* arm_neon_sha1h */ DoesNotAccessMemory, + /* arm_neon_sha1m */ DoesNotAccessMemory, + /* arm_neon_sha1p */ DoesNotAccessMemory, + /* arm_neon_sha1su0 */ DoesNotAccessMemory, + /* arm_neon_sha1su1 */ DoesNotAccessMemory, + /* arm_neon_sha256h */ DoesNotAccessMemory, + /* arm_neon_sha256h2 */ DoesNotAccessMemory, + /* arm_neon_sha256su0 */ DoesNotAccessMemory, + /* arm_neon_sha256su1 */ DoesNotAccessMemory, + /* arm_neon_vabds */ DoesNotAccessMemory, + /* arm_neon_vabdu */ DoesNotAccessMemory, + /* arm_neon_vabs */ DoesNotAccessMemory, + /* arm_neon_vacge */ DoesNotAccessMemory, + /* arm_neon_vacgt */ DoesNotAccessMemory, + /* arm_neon_vbsl */ DoesNotAccessMemory, + /* arm_neon_vcls */ DoesNotAccessMemory, + /* arm_neon_vclz */ DoesNotAccessMemory, + /* arm_neon_vcnt */ DoesNotAccessMemory, + /* arm_neon_vcvtas */ DoesNotAccessMemory, + /* arm_neon_vcvtau */ DoesNotAccessMemory, + /* arm_neon_vcvtfp2fxs */ DoesNotAccessMemory, + /* arm_neon_vcvtfp2fxu */ DoesNotAccessMemory, + /* arm_neon_vcvtfp2hf */ DoesNotAccessMemory, + /* arm_neon_vcvtfxs2fp */ DoesNotAccessMemory, + /* arm_neon_vcvtfxu2fp */ DoesNotAccessMemory, + /* arm_neon_vcvthf2fp */ DoesNotAccessMemory, + /* arm_neon_vcvtms */ DoesNotAccessMemory, + /* arm_neon_vcvtmu */ DoesNotAccessMemory, + /* arm_neon_vcvtns */ DoesNotAccessMemory, + /* arm_neon_vcvtnu */ DoesNotAccessMemory, + /* arm_neon_vcvtps */ DoesNotAccessMemory, + /* arm_neon_vcvtpu */ DoesNotAccessMemory, + /* arm_neon_vhadds */ DoesNotAccessMemory, + /* arm_neon_vhaddu */ DoesNotAccessMemory, + /* arm_neon_vhsubs */ DoesNotAccessMemory, + /* arm_neon_vhsubu */ DoesNotAccessMemory, + /* arm_neon_vld1 */ OnlyReadsArgumentPointees, + /* arm_neon_vld2 */ OnlyReadsArgumentPointees, + /* arm_neon_vld2lane */ OnlyReadsArgumentPointees, + /* arm_neon_vld3 */ OnlyReadsArgumentPointees, + /* arm_neon_vld3lane */ OnlyReadsArgumentPointees, + /* arm_neon_vld4 */ OnlyReadsArgumentPointees, + /* arm_neon_vld4lane */ OnlyReadsArgumentPointees, + /* arm_neon_vmaxnm */ DoesNotAccessMemory, + /* arm_neon_vmaxs */ DoesNotAccessMemory, + /* arm_neon_vmaxu */ DoesNotAccessMemory, + /* arm_neon_vminnm */ DoesNotAccessMemory, + /* arm_neon_vmins */ DoesNotAccessMemory, + /* arm_neon_vminu */ DoesNotAccessMemory, + /* arm_neon_vmullp */ DoesNotAccessMemory, + /* arm_neon_vmulls */ DoesNotAccessMemory, + /* arm_neon_vmullu */ DoesNotAccessMemory, + /* arm_neon_vmulp */ DoesNotAccessMemory, + /* arm_neon_vpadals */ DoesNotAccessMemory, + /* arm_neon_vpadalu */ DoesNotAccessMemory, + /* arm_neon_vpadd */ DoesNotAccessMemory, + /* arm_neon_vpaddls */ DoesNotAccessMemory, + /* arm_neon_vpaddlu */ DoesNotAccessMemory, + /* arm_neon_vpmaxs */ DoesNotAccessMemory, + /* arm_neon_vpmaxu */ DoesNotAccessMemory, + /* arm_neon_vpmins */ DoesNotAccessMemory, + /* arm_neon_vpminu */ DoesNotAccessMemory, + /* arm_neon_vqabs */ DoesNotAccessMemory, + /* arm_neon_vqadds */ DoesNotAccessMemory, + /* arm_neon_vqaddu */ DoesNotAccessMemory, + /* arm_neon_vqdmulh */ DoesNotAccessMemory, + /* arm_neon_vqdmull */ DoesNotAccessMemory, + /* arm_neon_vqmovns */ DoesNotAccessMemory, + /* arm_neon_vqmovnsu */ DoesNotAccessMemory, + /* arm_neon_vqmovnu */ DoesNotAccessMemory, + /* arm_neon_vqneg */ DoesNotAccessMemory, + /* arm_neon_vqrdmulh */ DoesNotAccessMemory, + /* arm_neon_vqrshiftns */ DoesNotAccessMemory, + /* arm_neon_vqrshiftnsu */ DoesNotAccessMemory, + /* arm_neon_vqrshiftnu */ DoesNotAccessMemory, + /* arm_neon_vqrshifts */ DoesNotAccessMemory, + /* arm_neon_vqrshiftu */ DoesNotAccessMemory, + /* arm_neon_vqshiftns */ DoesNotAccessMemory, + /* arm_neon_vqshiftnsu */ DoesNotAccessMemory, + /* arm_neon_vqshiftnu */ DoesNotAccessMemory, + /* arm_neon_vqshifts */ DoesNotAccessMemory, + /* arm_neon_vqshiftsu */ DoesNotAccessMemory, + /* arm_neon_vqshiftu */ DoesNotAccessMemory, + /* arm_neon_vqsubs */ DoesNotAccessMemory, + /* arm_neon_vqsubu */ DoesNotAccessMemory, + /* arm_neon_vraddhn */ DoesNotAccessMemory, + /* arm_neon_vrecpe */ DoesNotAccessMemory, + /* arm_neon_vrecps */ DoesNotAccessMemory, + /* arm_neon_vrhadds */ DoesNotAccessMemory, + /* arm_neon_vrhaddu */ DoesNotAccessMemory, + /* arm_neon_vrinta */ DoesNotAccessMemory, + /* arm_neon_vrintm */ DoesNotAccessMemory, + /* arm_neon_vrintn */ DoesNotAccessMemory, + /* arm_neon_vrintp */ DoesNotAccessMemory, + /* arm_neon_vrintx */ DoesNotAccessMemory, + /* arm_neon_vrintz */ DoesNotAccessMemory, + /* arm_neon_vrshiftn */ DoesNotAccessMemory, + /* arm_neon_vrshifts */ DoesNotAccessMemory, + /* arm_neon_vrshiftu */ DoesNotAccessMemory, + /* arm_neon_vrsqrte */ DoesNotAccessMemory, + /* arm_neon_vrsqrts */ DoesNotAccessMemory, + /* arm_neon_vrsubhn */ DoesNotAccessMemory, + /* arm_neon_vshiftins */ DoesNotAccessMemory, + /* arm_neon_vshifts */ DoesNotAccessMemory, + /* arm_neon_vshiftu */ DoesNotAccessMemory, + /* arm_neon_vst1 */ OnlyAccessesArgumentPointees, + /* arm_neon_vst2 */ OnlyAccessesArgumentPointees, + /* arm_neon_vst2lane */ OnlyAccessesArgumentPointees, + /* arm_neon_vst3 */ OnlyAccessesArgumentPointees, + /* arm_neon_vst3lane */ OnlyAccessesArgumentPointees, + /* arm_neon_vst4 */ OnlyAccessesArgumentPointees, + /* arm_neon_vst4lane */ OnlyAccessesArgumentPointees, + /* arm_neon_vtbl1 */ DoesNotAccessMemory, + /* arm_neon_vtbl2 */ DoesNotAccessMemory, + /* arm_neon_vtbl3 */ DoesNotAccessMemory, + /* arm_neon_vtbl4 */ DoesNotAccessMemory, + /* arm_neon_vtbx1 */ DoesNotAccessMemory, + /* arm_neon_vtbx2 */ DoesNotAccessMemory, + /* arm_neon_vtbx3 */ DoesNotAccessMemory, + /* arm_neon_vtbx4 */ DoesNotAccessMemory, + /* arm_qadd */ DoesNotAccessMemory, + /* arm_qsub */ DoesNotAccessMemory, + /* arm_rbit */ DoesNotAccessMemory, + /* arm_set_fpscr */ UnknownModRefBehavior, + /* arm_ssat */ DoesNotAccessMemory, + /* arm_stlex */ UnknownModRefBehavior, + /* arm_stlexd */ UnknownModRefBehavior, + /* arm_strex */ UnknownModRefBehavior, + /* arm_strexd */ UnknownModRefBehavior, + /* arm_thread_pointer */ DoesNotAccessMemory, + /* arm_undefined */ UnknownModRefBehavior, + /* arm_usat */ DoesNotAccessMemory, + /* arm_vcvtr */ DoesNotAccessMemory, + /* arm_vcvtru */ DoesNotAccessMemory, + /* bswap */ DoesNotAccessMemory, + /* ceil */ DoesNotAccessMemory, + /* clear_cache */ UnknownModRefBehavior, + /* convert_from_fp16 */ DoesNotAccessMemory, + /* convert_to_fp16 */ DoesNotAccessMemory, + /* convertff */ UnknownModRefBehavior, + /* convertfsi */ UnknownModRefBehavior, + /* convertfui */ UnknownModRefBehavior, + /* convertsif */ UnknownModRefBehavior, + /* convertss */ UnknownModRefBehavior, + /* convertsu */ UnknownModRefBehavior, + /* convertuif */ UnknownModRefBehavior, + /* convertus */ UnknownModRefBehavior, + /* convertuu */ UnknownModRefBehavior, + /* copysign */ DoesNotAccessMemory, + /* cos */ DoesNotAccessMemory, + /* ctlz */ DoesNotAccessMemory, + /* ctpop */ DoesNotAccessMemory, + /* cttz */ DoesNotAccessMemory, + /* cuda_syncthreads */ UnknownModRefBehavior, + /* dbg_declare */ DoesNotAccessMemory, + /* dbg_value */ DoesNotAccessMemory, + /* debugtrap */ UnknownModRefBehavior, + /* donothing */ DoesNotAccessMemory, + /* eh_dwarf_cfa */ UnknownModRefBehavior, + /* eh_return_i32 */ UnknownModRefBehavior, + /* eh_return_i64 */ UnknownModRefBehavior, + /* eh_sjlj_callsite */ DoesNotAccessMemory, + /* eh_sjlj_functioncontext */ UnknownModRefBehavior, + /* eh_sjlj_longjmp */ UnknownModRefBehavior, + /* eh_sjlj_lsda */ DoesNotAccessMemory, + /* eh_sjlj_setjmp */ UnknownModRefBehavior, + /* eh_typeid_for */ DoesNotAccessMemory, + /* eh_unwind_init */ UnknownModRefBehavior, + /* exp */ DoesNotAccessMemory, + /* exp2 */ DoesNotAccessMemory, + /* expect */ DoesNotAccessMemory, + /* experimental_patchpoint_i64 */ UnknownModRefBehavior, + /* experimental_patchpoint_void */ UnknownModRefBehavior, + /* experimental_stackmap */ UnknownModRefBehavior, + /* fabs */ DoesNotAccessMemory, + /* floor */ DoesNotAccessMemory, + /* flt_rounds */ UnknownModRefBehavior, + /* fma */ DoesNotAccessMemory, + /* fmuladd */ DoesNotAccessMemory, + /* frameaddress */ DoesNotAccessMemory, + /* gcread */ OnlyReadsArgumentPointees, + /* gcroot */ UnknownModRefBehavior, + /* gcwrite */ OnlyAccessesArgumentPointees, + /* hexagon_A2_abs */ DoesNotAccessMemory, + /* hexagon_A2_absp */ DoesNotAccessMemory, + /* hexagon_A2_abssat */ DoesNotAccessMemory, + /* hexagon_A2_add */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_hh */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_hl */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_lh */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_ll */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_sat_hh */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_sat_hl */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_sat_lh */ DoesNotAccessMemory, + /* hexagon_A2_addh_h16_sat_ll */ DoesNotAccessMemory, + /* hexagon_A2_addh_l16_hl */ DoesNotAccessMemory, + /* hexagon_A2_addh_l16_ll */ DoesNotAccessMemory, + /* hexagon_A2_addh_l16_sat_hl */ DoesNotAccessMemory, + /* hexagon_A2_addh_l16_sat_ll */ DoesNotAccessMemory, + /* hexagon_A2_addi */ DoesNotAccessMemory, + /* hexagon_A2_addp */ DoesNotAccessMemory, + /* hexagon_A2_addpsat */ DoesNotAccessMemory, + /* hexagon_A2_addsat */ DoesNotAccessMemory, + /* hexagon_A2_addsp */ DoesNotAccessMemory, + /* hexagon_A2_and */ DoesNotAccessMemory, + /* hexagon_A2_andir */ DoesNotAccessMemory, + /* hexagon_A2_andp */ DoesNotAccessMemory, + /* hexagon_A2_aslh */ DoesNotAccessMemory, + /* hexagon_A2_asrh */ DoesNotAccessMemory, + /* hexagon_A2_combine_hh */ DoesNotAccessMemory, + /* hexagon_A2_combine_hl */ DoesNotAccessMemory, + /* hexagon_A2_combine_lh */ DoesNotAccessMemory, + /* hexagon_A2_combine_ll */ DoesNotAccessMemory, + /* hexagon_A2_combineii */ DoesNotAccessMemory, + /* hexagon_A2_combinew */ DoesNotAccessMemory, + /* hexagon_A2_max */ DoesNotAccessMemory, + /* hexagon_A2_maxp */ DoesNotAccessMemory, + /* hexagon_A2_maxu */ DoesNotAccessMemory, + /* hexagon_A2_maxup */ DoesNotAccessMemory, + /* hexagon_A2_min */ DoesNotAccessMemory, + /* hexagon_A2_minp */ DoesNotAccessMemory, + /* hexagon_A2_minu */ DoesNotAccessMemory, + /* hexagon_A2_minup */ DoesNotAccessMemory, + /* hexagon_A2_neg */ DoesNotAccessMemory, + /* hexagon_A2_negp */ DoesNotAccessMemory, + /* hexagon_A2_negsat */ DoesNotAccessMemory, + /* hexagon_A2_not */ DoesNotAccessMemory, + /* hexagon_A2_notp */ DoesNotAccessMemory, + /* hexagon_A2_or */ DoesNotAccessMemory, + /* hexagon_A2_orir */ DoesNotAccessMemory, + /* hexagon_A2_orp */ DoesNotAccessMemory, + /* hexagon_A2_roundsat */ DoesNotAccessMemory, + /* hexagon_A2_sat */ DoesNotAccessMemory, + /* hexagon_A2_satb */ DoesNotAccessMemory, + /* hexagon_A2_sath */ DoesNotAccessMemory, + /* hexagon_A2_satub */ DoesNotAccessMemory, + /* hexagon_A2_satuh */ DoesNotAccessMemory, + /* hexagon_A2_sub */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_hh */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_hl */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_lh */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_ll */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_sat_hh */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_sat_hl */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_sat_lh */ DoesNotAccessMemory, + /* hexagon_A2_subh_h16_sat_ll */ DoesNotAccessMemory, + /* hexagon_A2_subh_l16_hl */ DoesNotAccessMemory, + /* hexagon_A2_subh_l16_ll */ DoesNotAccessMemory, + /* hexagon_A2_subh_l16_sat_hl */ DoesNotAccessMemory, + /* hexagon_A2_subh_l16_sat_ll */ DoesNotAccessMemory, + /* hexagon_A2_subp */ DoesNotAccessMemory, + /* hexagon_A2_subri */ DoesNotAccessMemory, + /* hexagon_A2_subsat */ DoesNotAccessMemory, + /* hexagon_A2_svaddh */ DoesNotAccessMemory, + /* hexagon_A2_svaddhs */ DoesNotAccessMemory, + /* hexagon_A2_svadduhs */ DoesNotAccessMemory, + /* hexagon_A2_svavgh */ DoesNotAccessMemory, + /* hexagon_A2_svavghs */ DoesNotAccessMemory, + /* hexagon_A2_svnavgh */ DoesNotAccessMemory, + /* hexagon_A2_svsubh */ DoesNotAccessMemory, + /* hexagon_A2_svsubhs */ DoesNotAccessMemory, + /* hexagon_A2_svsubuhs */ DoesNotAccessMemory, + /* hexagon_A2_swiz */ DoesNotAccessMemory, + /* hexagon_A2_sxtb */ DoesNotAccessMemory, + /* hexagon_A2_sxth */ DoesNotAccessMemory, + /* hexagon_A2_sxtw */ DoesNotAccessMemory, + /* hexagon_A2_tfr */ DoesNotAccessMemory, + /* hexagon_A2_tfrih */ DoesNotAccessMemory, + /* hexagon_A2_tfril */ DoesNotAccessMemory, + /* hexagon_A2_tfrp */ DoesNotAccessMemory, + /* hexagon_A2_tfrpi */ DoesNotAccessMemory, + /* hexagon_A2_tfrsi */ DoesNotAccessMemory, + /* hexagon_A2_vabsh */ DoesNotAccessMemory, + /* hexagon_A2_vabshsat */ DoesNotAccessMemory, + /* hexagon_A2_vabsw */ DoesNotAccessMemory, + /* hexagon_A2_vabswsat */ DoesNotAccessMemory, + /* hexagon_A2_vaddb_map */ DoesNotAccessMemory, + /* hexagon_A2_vaddh */ DoesNotAccessMemory, + /* hexagon_A2_vaddhs */ DoesNotAccessMemory, + /* hexagon_A2_vaddub */ DoesNotAccessMemory, + /* hexagon_A2_vaddubs */ DoesNotAccessMemory, + /* hexagon_A2_vadduhs */ DoesNotAccessMemory, + /* hexagon_A2_vaddw */ DoesNotAccessMemory, + /* hexagon_A2_vaddws */ DoesNotAccessMemory, + /* hexagon_A2_vavgh */ DoesNotAccessMemory, + /* hexagon_A2_vavghcr */ DoesNotAccessMemory, + /* hexagon_A2_vavghr */ DoesNotAccessMemory, + /* hexagon_A2_vavgub */ DoesNotAccessMemory, + /* hexagon_A2_vavgubr */ DoesNotAccessMemory, + /* hexagon_A2_vavguh */ DoesNotAccessMemory, + /* hexagon_A2_vavguhr */ DoesNotAccessMemory, + /* hexagon_A2_vavguw */ DoesNotAccessMemory, + /* hexagon_A2_vavguwr */ DoesNotAccessMemory, + /* hexagon_A2_vavgw */ DoesNotAccessMemory, + /* hexagon_A2_vavgwcr */ DoesNotAccessMemory, + /* hexagon_A2_vavgwr */ DoesNotAccessMemory, + /* hexagon_A2_vcmpbeq */ DoesNotAccessMemory, + /* hexagon_A2_vcmpbgtu */ DoesNotAccessMemory, + /* hexagon_A2_vcmpheq */ DoesNotAccessMemory, + /* hexagon_A2_vcmphgt */ DoesNotAccessMemory, + /* hexagon_A2_vcmphgtu */ DoesNotAccessMemory, + /* hexagon_A2_vcmpweq */ DoesNotAccessMemory, + /* hexagon_A2_vcmpwgt */ DoesNotAccessMemory, + /* hexagon_A2_vcmpwgtu */ DoesNotAccessMemory, + /* hexagon_A2_vconj */ DoesNotAccessMemory, + /* hexagon_A2_vmaxb */ DoesNotAccessMemory, + /* hexagon_A2_vmaxh */ DoesNotAccessMemory, + /* hexagon_A2_vmaxub */ DoesNotAccessMemory, + /* hexagon_A2_vmaxuh */ DoesNotAccessMemory, + /* hexagon_A2_vmaxuw */ DoesNotAccessMemory, + /* hexagon_A2_vmaxw */ DoesNotAccessMemory, + /* hexagon_A2_vminb */ DoesNotAccessMemory, + /* hexagon_A2_vminh */ DoesNotAccessMemory, + /* hexagon_A2_vminub */ DoesNotAccessMemory, + /* hexagon_A2_vminuh */ DoesNotAccessMemory, + /* hexagon_A2_vminuw */ DoesNotAccessMemory, + /* hexagon_A2_vminw */ DoesNotAccessMemory, + /* hexagon_A2_vnavgh */ DoesNotAccessMemory, + /* hexagon_A2_vnavghcr */ DoesNotAccessMemory, + /* hexagon_A2_vnavghr */ DoesNotAccessMemory, + /* hexagon_A2_vnavgw */ DoesNotAccessMemory, + /* hexagon_A2_vnavgwcr */ DoesNotAccessMemory, + /* hexagon_A2_vnavgwr */ DoesNotAccessMemory, + /* hexagon_A2_vraddub */ DoesNotAccessMemory, + /* hexagon_A2_vraddub_acc */ DoesNotAccessMemory, + /* hexagon_A2_vrsadub */ DoesNotAccessMemory, + /* hexagon_A2_vrsadub_acc */ DoesNotAccessMemory, + /* hexagon_A2_vsubb_map */ DoesNotAccessMemory, + /* hexagon_A2_vsubh */ DoesNotAccessMemory, + /* hexagon_A2_vsubhs */ DoesNotAccessMemory, + /* hexagon_A2_vsubub */ DoesNotAccessMemory, + /* hexagon_A2_vsububs */ DoesNotAccessMemory, + /* hexagon_A2_vsubuhs */ DoesNotAccessMemory, + /* hexagon_A2_vsubw */ DoesNotAccessMemory, + /* hexagon_A2_vsubws */ DoesNotAccessMemory, + /* hexagon_A2_xor */ DoesNotAccessMemory, + /* hexagon_A2_xorp */ DoesNotAccessMemory, + /* hexagon_A2_zxtb */ DoesNotAccessMemory, + /* hexagon_A2_zxth */ DoesNotAccessMemory, + /* hexagon_A4_andn */ DoesNotAccessMemory, + /* hexagon_A4_andnp */ DoesNotAccessMemory, + /* hexagon_A4_bitsplit */ DoesNotAccessMemory, + /* hexagon_A4_bitspliti */ DoesNotAccessMemory, + /* hexagon_A4_boundscheck */ DoesNotAccessMemory, + /* hexagon_A4_cmpbeq */ DoesNotAccessMemory, + /* hexagon_A4_cmpbeqi */ DoesNotAccessMemory, + /* hexagon_A4_cmpbgt */ DoesNotAccessMemory, + /* hexagon_A4_cmpbgti */ DoesNotAccessMemory, + /* hexagon_A4_cmpbgtu */ DoesNotAccessMemory, + /* hexagon_A4_cmpbgtui */ DoesNotAccessMemory, + /* hexagon_A4_cmpheq */ DoesNotAccessMemory, + /* hexagon_A4_cmpheqi */ DoesNotAccessMemory, + /* hexagon_A4_cmphgt */ DoesNotAccessMemory, + /* hexagon_A4_cmphgti */ DoesNotAccessMemory, + /* hexagon_A4_cmphgtu */ DoesNotAccessMemory, + /* hexagon_A4_cmphgtui */ DoesNotAccessMemory, + /* hexagon_A4_combineir */ DoesNotAccessMemory, + /* hexagon_A4_combineri */ DoesNotAccessMemory, + /* hexagon_A4_cround_ri */ DoesNotAccessMemory, + /* hexagon_A4_cround_rr */ DoesNotAccessMemory, + /* hexagon_A4_modwrapu */ DoesNotAccessMemory, + /* hexagon_A4_orn */ DoesNotAccessMemory, + /* hexagon_A4_ornp */ DoesNotAccessMemory, + /* hexagon_A4_rcmpeq */ DoesNotAccessMemory, + /* hexagon_A4_rcmpeqi */ DoesNotAccessMemory, + /* hexagon_A4_rcmpneq */ DoesNotAccessMemory, + /* hexagon_A4_rcmpneqi */ DoesNotAccessMemory, + /* hexagon_A4_round_ri */ DoesNotAccessMemory, + /* hexagon_A4_round_ri_sat */ DoesNotAccessMemory, + /* hexagon_A4_round_rr */ DoesNotAccessMemory, + /* hexagon_A4_round_rr_sat */ DoesNotAccessMemory, + /* hexagon_A4_tlbmatch */ DoesNotAccessMemory, + /* hexagon_A4_vcmpbeq_any */ DoesNotAccessMemory, + /* hexagon_A4_vcmpbeqi */ DoesNotAccessMemory, + /* hexagon_A4_vcmpbgt */ DoesNotAccessMemory, + /* hexagon_A4_vcmpbgti */ DoesNotAccessMemory, + /* hexagon_A4_vcmpbgtui */ DoesNotAccessMemory, + /* hexagon_A4_vcmpheqi */ DoesNotAccessMemory, + /* hexagon_A4_vcmphgti */ DoesNotAccessMemory, + /* hexagon_A4_vcmphgtui */ DoesNotAccessMemory, + /* hexagon_A4_vcmpweqi */ DoesNotAccessMemory, + /* hexagon_A4_vcmpwgti */ DoesNotAccessMemory, + /* hexagon_A4_vcmpwgtui */ DoesNotAccessMemory, + /* hexagon_A4_vrmaxh */ DoesNotAccessMemory, + /* hexagon_A4_vrmaxuh */ DoesNotAccessMemory, + /* hexagon_A4_vrmaxuw */ DoesNotAccessMemory, + /* hexagon_A4_vrmaxw */ DoesNotAccessMemory, + /* hexagon_A4_vrminh */ DoesNotAccessMemory, + /* hexagon_A4_vrminuh */ DoesNotAccessMemory, + /* hexagon_A4_vrminuw */ DoesNotAccessMemory, + /* hexagon_A4_vrminw */ DoesNotAccessMemory, + /* hexagon_A5_vaddhubs */ DoesNotAccessMemory, + /* hexagon_C2_all8 */ DoesNotAccessMemory, + /* hexagon_C2_and */ DoesNotAccessMemory, + /* hexagon_C2_andn */ DoesNotAccessMemory, + /* hexagon_C2_any8 */ DoesNotAccessMemory, + /* hexagon_C2_bitsclr */ DoesNotAccessMemory, + /* hexagon_C2_bitsclri */ DoesNotAccessMemory, + /* hexagon_C2_bitsset */ DoesNotAccessMemory, + /* hexagon_C2_cmpeq */ DoesNotAccessMemory, + /* hexagon_C2_cmpeqi */ DoesNotAccessMemory, + /* hexagon_C2_cmpeqp */ DoesNotAccessMemory, + /* hexagon_C2_cmpgei */ DoesNotAccessMemory, + /* hexagon_C2_cmpgeui */ DoesNotAccessMemory, + /* hexagon_C2_cmpgt */ DoesNotAccessMemory, + /* hexagon_C2_cmpgti */ DoesNotAccessMemory, + /* hexagon_C2_cmpgtp */ DoesNotAccessMemory, + /* hexagon_C2_cmpgtu */ DoesNotAccessMemory, + /* hexagon_C2_cmpgtui */ DoesNotAccessMemory, + /* hexagon_C2_cmpgtup */ DoesNotAccessMemory, + /* hexagon_C2_cmplt */ DoesNotAccessMemory, + /* hexagon_C2_cmpltu */ DoesNotAccessMemory, + /* hexagon_C2_mask */ DoesNotAccessMemory, + /* hexagon_C2_mux */ DoesNotAccessMemory, + /* hexagon_C2_muxii */ DoesNotAccessMemory, + /* hexagon_C2_muxir */ DoesNotAccessMemory, + /* hexagon_C2_muxri */ DoesNotAccessMemory, + /* hexagon_C2_not */ DoesNotAccessMemory, + /* hexagon_C2_or */ DoesNotAccessMemory, + /* hexagon_C2_orn */ DoesNotAccessMemory, + /* hexagon_C2_pxfer_map */ DoesNotAccessMemory, + /* hexagon_C2_tfrpr */ DoesNotAccessMemory, + /* hexagon_C2_tfrrp */ DoesNotAccessMemory, + /* hexagon_C2_vitpack */ DoesNotAccessMemory, + /* hexagon_C2_vmux */ DoesNotAccessMemory, + /* hexagon_C2_xor */ DoesNotAccessMemory, + /* hexagon_C4_and_and */ DoesNotAccessMemory, + /* hexagon_C4_and_andn */ DoesNotAccessMemory, + /* hexagon_C4_and_or */ DoesNotAccessMemory, + /* hexagon_C4_and_orn */ DoesNotAccessMemory, + /* hexagon_C4_cmplte */ DoesNotAccessMemory, + /* hexagon_C4_cmpltei */ DoesNotAccessMemory, + /* hexagon_C4_cmplteu */ DoesNotAccessMemory, + /* hexagon_C4_cmplteui */ DoesNotAccessMemory, + /* hexagon_C4_cmpneq */ DoesNotAccessMemory, + /* hexagon_C4_cmpneqi */ DoesNotAccessMemory, + /* hexagon_C4_fastcorner9 */ DoesNotAccessMemory, + /* hexagon_C4_fastcorner9_not */ DoesNotAccessMemory, + /* hexagon_C4_nbitsclr */ DoesNotAccessMemory, + /* hexagon_C4_nbitsclri */ DoesNotAccessMemory, + /* hexagon_C4_nbitsset */ DoesNotAccessMemory, + /* hexagon_C4_or_and */ DoesNotAccessMemory, + /* hexagon_C4_or_andn */ DoesNotAccessMemory, + /* hexagon_C4_or_or */ DoesNotAccessMemory, + /* hexagon_C4_or_orn */ DoesNotAccessMemory, + /* hexagon_F2_conv_d2df */ DoesNotAccessMemory, + /* hexagon_F2_conv_d2sf */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2d */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2d_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2sf */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2ud */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2ud_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2uw */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2uw_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2w */ DoesNotAccessMemory, + /* hexagon_F2_conv_df2w_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2d */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2d_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2df */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2ud */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2ud_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2uw */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2uw_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2w */ DoesNotAccessMemory, + /* hexagon_F2_conv_sf2w_chop */ DoesNotAccessMemory, + /* hexagon_F2_conv_ud2df */ DoesNotAccessMemory, + /* hexagon_F2_conv_ud2sf */ DoesNotAccessMemory, + /* hexagon_F2_conv_uw2df */ DoesNotAccessMemory, + /* hexagon_F2_conv_uw2sf */ DoesNotAccessMemory, + /* hexagon_F2_conv_w2df */ DoesNotAccessMemory, + /* hexagon_F2_conv_w2sf */ DoesNotAccessMemory, + /* hexagon_F2_dfadd */ DoesNotAccessMemory, + /* hexagon_F2_dfclass */ DoesNotAccessMemory, + /* hexagon_F2_dfcmpeq */ DoesNotAccessMemory, + /* hexagon_F2_dfcmpge */ DoesNotAccessMemory, + /* hexagon_F2_dfcmpgt */ DoesNotAccessMemory, + /* hexagon_F2_dfcmpuo */ DoesNotAccessMemory, + /* hexagon_F2_dffixupd */ DoesNotAccessMemory, + /* hexagon_F2_dffixupn */ DoesNotAccessMemory, + /* hexagon_F2_dffixupr */ DoesNotAccessMemory, + /* hexagon_F2_dffma */ DoesNotAccessMemory, + /* hexagon_F2_dffma_lib */ DoesNotAccessMemory, + /* hexagon_F2_dffma_sc */ DoesNotAccessMemory, + /* hexagon_F2_dffms */ DoesNotAccessMemory, + /* hexagon_F2_dffms_lib */ DoesNotAccessMemory, + /* hexagon_F2_dfimm_n */ DoesNotAccessMemory, + /* hexagon_F2_dfimm_p */ DoesNotAccessMemory, + /* hexagon_F2_dfmax */ DoesNotAccessMemory, + /* hexagon_F2_dfmin */ DoesNotAccessMemory, + /* hexagon_F2_dfmpy */ DoesNotAccessMemory, + /* hexagon_F2_dfsub */ DoesNotAccessMemory, + /* hexagon_F2_sfadd */ DoesNotAccessMemory, + /* hexagon_F2_sfclass */ DoesNotAccessMemory, + /* hexagon_F2_sfcmpeq */ DoesNotAccessMemory, + /* hexagon_F2_sfcmpge */ DoesNotAccessMemory, + /* hexagon_F2_sfcmpgt */ DoesNotAccessMemory, + /* hexagon_F2_sfcmpuo */ DoesNotAccessMemory, + /* hexagon_F2_sffixupd */ DoesNotAccessMemory, + /* hexagon_F2_sffixupn */ DoesNotAccessMemory, + /* hexagon_F2_sffixupr */ DoesNotAccessMemory, + /* hexagon_F2_sffma */ DoesNotAccessMemory, + /* hexagon_F2_sffma_lib */ DoesNotAccessMemory, + /* hexagon_F2_sffma_sc */ DoesNotAccessMemory, + /* hexagon_F2_sffms */ DoesNotAccessMemory, + /* hexagon_F2_sffms_lib */ DoesNotAccessMemory, + /* hexagon_F2_sfimm_n */ DoesNotAccessMemory, + /* hexagon_F2_sfimm_p */ DoesNotAccessMemory, + /* hexagon_F2_sfmax */ DoesNotAccessMemory, + /* hexagon_F2_sfmin */ DoesNotAccessMemory, + /* hexagon_F2_sfmpy */ DoesNotAccessMemory, + /* hexagon_F2_sfsub */ DoesNotAccessMemory, + /* hexagon_M2_acci */ DoesNotAccessMemory, + /* hexagon_M2_accii */ DoesNotAccessMemory, + /* hexagon_M2_cmaci_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmacr_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmacs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmacs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cmacsc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmacsc_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyi_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyr_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyrs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyrs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyrsc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpyrsc_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cmpys_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpys_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cmpysc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cmpysc_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cnacs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cnacs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_cnacsc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_cnacsc_s1 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyss_acc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyss_nac_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyss_rnd_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyss_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyuu_acc_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyuu_nac_s0 */ DoesNotAccessMemory, + /* hexagon_M2_dpmpyuu_s0 */ DoesNotAccessMemory, + /* hexagon_M2_hmmpyh_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_hmmpyh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_hmmpyl_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_hmmpyl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_maci */ DoesNotAccessMemory, + /* hexagon_M2_macsin */ DoesNotAccessMemory, + /* hexagon_M2_macsip */ DoesNotAccessMemory, + /* hexagon_M2_mmachs_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmachs_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmachs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmachs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmacls_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmacls_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmacls_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmacls_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmacuhs_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmacuhs_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmacuhs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmacuhs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmaculs_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmaculs_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmaculs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmaculs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyh_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyh_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyl_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyl_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyuh_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyuh_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyuh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyuh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyul_rs0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyul_rs1 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyul_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mmpyul_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_acc_sat_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_nac_sat_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_rnd_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_sat_rnd_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_up */ DoesNotAccessMemory, + /* hexagon_M2_mpy_up_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpy_up_s1_sat */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_acc_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_nac_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyd_rnd_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyi */ DoesNotAccessMemory, + /* hexagon_M2_mpysmi */ DoesNotAccessMemory, + /* hexagon_M2_mpysu_up */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_acc_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_nac_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyu_up */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_acc_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_hh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_hh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_hl_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_hl_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_lh_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_lh_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_ll_s0 */ DoesNotAccessMemory, + /* hexagon_M2_mpyud_nac_ll_s1 */ DoesNotAccessMemory, + /* hexagon_M2_mpyui */ DoesNotAccessMemory, + /* hexagon_M2_nacci */ DoesNotAccessMemory, + /* hexagon_M2_naccii */ DoesNotAccessMemory, + /* hexagon_M2_subacc */ DoesNotAccessMemory, + /* hexagon_M2_vabsdiffh */ DoesNotAccessMemory, + /* hexagon_M2_vabsdiffw */ DoesNotAccessMemory, + /* hexagon_M2_vcmac_s0_sat_i */ DoesNotAccessMemory, + /* hexagon_M2_vcmac_s0_sat_r */ DoesNotAccessMemory, + /* hexagon_M2_vcmpy_s0_sat_i */ DoesNotAccessMemory, + /* hexagon_M2_vcmpy_s0_sat_r */ DoesNotAccessMemory, + /* hexagon_M2_vcmpy_s1_sat_i */ DoesNotAccessMemory, + /* hexagon_M2_vcmpy_s1_sat_r */ DoesNotAccessMemory, + /* hexagon_M2_vdmacs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vdmacs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vdmpyrs_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vdmpyrs_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vdmpys_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vdmpys_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2es */ DoesNotAccessMemory, + /* hexagon_M2_vmac2es_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2es_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2s_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2s_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2su_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmac2su_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2es_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2es_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2s_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2s_s0pack */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2s_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2s_s1pack */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2su_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vmpy2su_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vraddh */ DoesNotAccessMemory, + /* hexagon_M2_vradduh */ DoesNotAccessMemory, + /* hexagon_M2_vrcmaci_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmaci_s0c */ DoesNotAccessMemory, + /* hexagon_M2_vrcmacr_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmacr_s0c */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpyi_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpyi_s0c */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpyr_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpyr_s0c */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpys_acc_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpys_s1 */ DoesNotAccessMemory, + /* hexagon_M2_vrcmpys_s1rp */ DoesNotAccessMemory, + /* hexagon_M2_vrmac_s0 */ DoesNotAccessMemory, + /* hexagon_M2_vrmpy_s0 */ DoesNotAccessMemory, + /* hexagon_M2_xor_xacc */ DoesNotAccessMemory, + /* hexagon_M4_and_and */ DoesNotAccessMemory, + /* hexagon_M4_and_andn */ DoesNotAccessMemory, + /* hexagon_M4_and_or */ DoesNotAccessMemory, + /* hexagon_M4_and_xor */ DoesNotAccessMemory, + /* hexagon_M4_cmpyi_wh */ DoesNotAccessMemory, + /* hexagon_M4_cmpyi_whc */ DoesNotAccessMemory, + /* hexagon_M4_cmpyr_wh */ DoesNotAccessMemory, + /* hexagon_M4_cmpyr_whc */ DoesNotAccessMemory, + /* hexagon_M4_mac_up_s1_sat */ DoesNotAccessMemory, + /* hexagon_M4_mpyri_addi */ DoesNotAccessMemory, + /* hexagon_M4_mpyri_addr */ DoesNotAccessMemory, + /* hexagon_M4_mpyri_addr_u2 */ DoesNotAccessMemory, + /* hexagon_M4_mpyrr_addi */ DoesNotAccessMemory, + /* hexagon_M4_mpyrr_addr */ DoesNotAccessMemory, + /* hexagon_M4_nac_up_s1_sat */ DoesNotAccessMemory, + /* hexagon_M4_or_and */ DoesNotAccessMemory, + /* hexagon_M4_or_andn */ DoesNotAccessMemory, + /* hexagon_M4_or_or */ DoesNotAccessMemory, + /* hexagon_M4_or_xor */ DoesNotAccessMemory, + /* hexagon_M4_pmpyw */ DoesNotAccessMemory, + /* hexagon_M4_pmpyw_acc */ DoesNotAccessMemory, + /* hexagon_M4_vpmpyh */ DoesNotAccessMemory, + /* hexagon_M4_vpmpyh_acc */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyeh_acc_s0 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyeh_acc_s1 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyeh_s0 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyeh_s1 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyoh_acc_s0 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyoh_acc_s1 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyoh_s0 */ DoesNotAccessMemory, + /* hexagon_M4_vrmpyoh_s1 */ DoesNotAccessMemory, + /* hexagon_M4_xor_and */ DoesNotAccessMemory, + /* hexagon_M4_xor_andn */ DoesNotAccessMemory, + /* hexagon_M4_xor_or */ DoesNotAccessMemory, + /* hexagon_M4_xor_xacc */ DoesNotAccessMemory, + /* hexagon_M5_vdmacbsu */ DoesNotAccessMemory, + /* hexagon_M5_vdmpybsu */ DoesNotAccessMemory, + /* hexagon_M5_vmacbsu */ DoesNotAccessMemory, + /* hexagon_M5_vmacbuu */ DoesNotAccessMemory, + /* hexagon_M5_vmpybsu */ DoesNotAccessMemory, + /* hexagon_M5_vmpybuu */ DoesNotAccessMemory, + /* hexagon_M5_vrmacbsu */ DoesNotAccessMemory, + /* hexagon_M5_vrmacbuu */ DoesNotAccessMemory, + /* hexagon_M5_vrmpybsu */ DoesNotAccessMemory, + /* hexagon_M5_vrmpybuu */ DoesNotAccessMemory, + /* hexagon_S2_addasl_rrri */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p_and */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p_or */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_p_xacc */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_and */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_or */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_sat */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_r_xacc */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_vh */ DoesNotAccessMemory, + /* hexagon_S2_asl_i_vw */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p_and */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p_or */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_p_xor */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r_and */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r_or */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_r_sat */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_vh */ DoesNotAccessMemory, + /* hexagon_S2_asl_r_vw */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_and */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_or */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_rnd */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_p_rnd_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_and */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_or */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_rnd */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_r_rnd_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_svw_trun */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_vh */ DoesNotAccessMemory, + /* hexagon_S2_asr_i_vw */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p_and */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p_or */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_p_xor */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r_and */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r_or */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_r_sat */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_svw_trun */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_vh */ DoesNotAccessMemory, + /* hexagon_S2_asr_r_vw */ DoesNotAccessMemory, + /* hexagon_S2_brev */ DoesNotAccessMemory, + /* hexagon_S2_brevp */ DoesNotAccessMemory, + /* hexagon_S2_cl0 */ DoesNotAccessMemory, + /* hexagon_S2_cl0p */ DoesNotAccessMemory, + /* hexagon_S2_cl1 */ DoesNotAccessMemory, + /* hexagon_S2_cl1p */ DoesNotAccessMemory, + /* hexagon_S2_clb */ DoesNotAccessMemory, + /* hexagon_S2_clbnorm */ DoesNotAccessMemory, + /* hexagon_S2_clbp */ DoesNotAccessMemory, + /* hexagon_S2_clrbit_i */ DoesNotAccessMemory, + /* hexagon_S2_clrbit_r */ DoesNotAccessMemory, + /* hexagon_S2_ct0 */ DoesNotAccessMemory, + /* hexagon_S2_ct0p */ DoesNotAccessMemory, + /* hexagon_S2_ct1 */ DoesNotAccessMemory, + /* hexagon_S2_ct1p */ DoesNotAccessMemory, + /* hexagon_S2_deinterleave */ DoesNotAccessMemory, + /* hexagon_S2_extractu */ DoesNotAccessMemory, + /* hexagon_S2_extractu_rp */ DoesNotAccessMemory, + /* hexagon_S2_extractup */ DoesNotAccessMemory, + /* hexagon_S2_extractup_rp */ DoesNotAccessMemory, + /* hexagon_S2_insert */ DoesNotAccessMemory, + /* hexagon_S2_insert_rp */ DoesNotAccessMemory, + /* hexagon_S2_insertp */ DoesNotAccessMemory, + /* hexagon_S2_insertp_rp */ DoesNotAccessMemory, + /* hexagon_S2_interleave */ DoesNotAccessMemory, + /* hexagon_S2_lfsp */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p_and */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p_or */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_p_xor */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_r */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_r_and */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_r_or */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_vh */ DoesNotAccessMemory, + /* hexagon_S2_lsl_r_vw */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p_and */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p_or */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_p_xacc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r_and */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r_or */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_r_xacc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_vh */ DoesNotAccessMemory, + /* hexagon_S2_lsr_i_vw */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p_and */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p_or */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_p_xor */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_r */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_r_acc */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_r_and */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_r_nac */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_r_or */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_vh */ DoesNotAccessMemory, + /* hexagon_S2_lsr_r_vw */ DoesNotAccessMemory, + /* hexagon_S2_packhl */ DoesNotAccessMemory, + /* hexagon_S2_parityp */ DoesNotAccessMemory, + /* hexagon_S2_setbit_i */ DoesNotAccessMemory, + /* hexagon_S2_setbit_r */ DoesNotAccessMemory, + /* hexagon_S2_shuffeb */ DoesNotAccessMemory, + /* hexagon_S2_shuffeh */ DoesNotAccessMemory, + /* hexagon_S2_shuffob */ DoesNotAccessMemory, + /* hexagon_S2_shuffoh */ DoesNotAccessMemory, + /* hexagon_S2_svsathb */ DoesNotAccessMemory, + /* hexagon_S2_svsathub */ DoesNotAccessMemory, + /* hexagon_S2_tableidxb_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_tableidxd_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_tableidxh_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_tableidxw_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S2_togglebit_i */ DoesNotAccessMemory, + /* hexagon_S2_togglebit_r */ DoesNotAccessMemory, + /* hexagon_S2_tstbit_i */ DoesNotAccessMemory, + /* hexagon_S2_tstbit_r */ DoesNotAccessMemory, + /* hexagon_S2_valignib */ DoesNotAccessMemory, + /* hexagon_S2_valignrb */ DoesNotAccessMemory, + /* hexagon_S2_vcnegh */ DoesNotAccessMemory, + /* hexagon_S2_vcrotate */ DoesNotAccessMemory, + /* hexagon_S2_vrcnegh */ DoesNotAccessMemory, + /* hexagon_S2_vrndpackwh */ DoesNotAccessMemory, + /* hexagon_S2_vrndpackwhs */ DoesNotAccessMemory, + /* hexagon_S2_vsathb */ DoesNotAccessMemory, + /* hexagon_S2_vsathb_nopack */ DoesNotAccessMemory, + /* hexagon_S2_vsathub */ DoesNotAccessMemory, + /* hexagon_S2_vsathub_nopack */ DoesNotAccessMemory, + /* hexagon_S2_vsatwh */ DoesNotAccessMemory, + /* hexagon_S2_vsatwh_nopack */ DoesNotAccessMemory, + /* hexagon_S2_vsatwuh */ DoesNotAccessMemory, + /* hexagon_S2_vsatwuh_nopack */ DoesNotAccessMemory, + /* hexagon_S2_vsplatrb */ DoesNotAccessMemory, + /* hexagon_S2_vsplatrh */ DoesNotAccessMemory, + /* hexagon_S2_vspliceib */ DoesNotAccessMemory, + /* hexagon_S2_vsplicerb */ DoesNotAccessMemory, + /* hexagon_S2_vsxtbh */ DoesNotAccessMemory, + /* hexagon_S2_vsxthw */ DoesNotAccessMemory, + /* hexagon_S2_vtrunehb */ DoesNotAccessMemory, + /* hexagon_S2_vtrunewh */ DoesNotAccessMemory, + /* hexagon_S2_vtrunohb */ DoesNotAccessMemory, + /* hexagon_S2_vtrunowh */ DoesNotAccessMemory, + /* hexagon_S2_vzxtbh */ DoesNotAccessMemory, + /* hexagon_S2_vzxthw */ DoesNotAccessMemory, + /* hexagon_S4_addaddi */ DoesNotAccessMemory, + /* hexagon_S4_addi_asl_ri */ DoesNotAccessMemory, + /* hexagon_S4_addi_lsr_ri */ DoesNotAccessMemory, + /* hexagon_S4_andi_asl_ri */ DoesNotAccessMemory, + /* hexagon_S4_andi_lsr_ri */ DoesNotAccessMemory, + /* hexagon_S4_clbaddi */ DoesNotAccessMemory, + /* hexagon_S4_clbpaddi */ DoesNotAccessMemory, + /* hexagon_S4_clbpnorm */ DoesNotAccessMemory, + /* hexagon_S4_extract */ DoesNotAccessMemory, + /* hexagon_S4_extract_rp */ DoesNotAccessMemory, + /* hexagon_S4_extractp */ DoesNotAccessMemory, + /* hexagon_S4_extractp_rp */ DoesNotAccessMemory, + /* hexagon_S4_lsli */ DoesNotAccessMemory, + /* hexagon_S4_ntstbit_i */ DoesNotAccessMemory, + /* hexagon_S4_ntstbit_r */ DoesNotAccessMemory, + /* hexagon_S4_or_andi */ DoesNotAccessMemory, + /* hexagon_S4_or_andix */ DoesNotAccessMemory, + /* hexagon_S4_or_ori */ DoesNotAccessMemory, + /* hexagon_S4_ori_asl_ri */ DoesNotAccessMemory, + /* hexagon_S4_ori_lsr_ri */ DoesNotAccessMemory, + /* hexagon_S4_parity */ DoesNotAccessMemory, + /* hexagon_S4_subaddi */ DoesNotAccessMemory, + /* hexagon_S4_subi_asl_ri */ DoesNotAccessMemory, + /* hexagon_S4_subi_lsr_ri */ DoesNotAccessMemory, + /* hexagon_S4_vrcrotate */ DoesNotAccessMemory, + /* hexagon_S4_vrcrotate_acc */ DoesNotAccessMemory, + /* hexagon_S4_vxaddsubh */ DoesNotAccessMemory, + /* hexagon_S4_vxaddsubhr */ DoesNotAccessMemory, + /* hexagon_S4_vxaddsubw */ DoesNotAccessMemory, + /* hexagon_S4_vxsubaddh */ DoesNotAccessMemory, + /* hexagon_S4_vxsubaddhr */ DoesNotAccessMemory, + /* hexagon_S4_vxsubaddw */ DoesNotAccessMemory, + /* hexagon_S5_asrhub_rnd_sat_goodsyntax */ DoesNotAccessMemory, + /* hexagon_S5_asrhub_sat */ DoesNotAccessMemory, + /* hexagon_S5_popcountp */ DoesNotAccessMemory, + /* hexagon_S5_vasrhrnd_goodsyntax */ DoesNotAccessMemory, + /* hexagon_SI_to_SXTHI_asrh */ DoesNotAccessMemory, + /* hexagon_circ_ldd */ OnlyAccessesArgumentPointees, + /* init_trampoline */ OnlyAccessesArgumentPointees, + /* invariant_end */ OnlyAccessesArgumentPointees, + /* invariant_start */ OnlyAccessesArgumentPointees, + /* lifetime_end */ OnlyAccessesArgumentPointees, + /* lifetime_start */ OnlyAccessesArgumentPointees, + /* log */ DoesNotAccessMemory, + /* log10 */ DoesNotAccessMemory, + /* log2 */ DoesNotAccessMemory, + /* longjmp */ UnknownModRefBehavior, + /* memcpy */ OnlyAccessesArgumentPointees, + /* memmove */ OnlyAccessesArgumentPointees, + /* memset */ OnlyAccessesArgumentPointees, + /* mips_absq_s_ph */ UnknownModRefBehavior, + /* mips_absq_s_qb */ UnknownModRefBehavior, + /* mips_absq_s_w */ UnknownModRefBehavior, + /* mips_add_a_b */ DoesNotAccessMemory, + /* mips_add_a_d */ DoesNotAccessMemory, + /* mips_add_a_h */ DoesNotAccessMemory, + /* mips_add_a_w */ DoesNotAccessMemory, + /* mips_addq_ph */ DoesNotAccessMemory, + /* mips_addq_s_ph */ DoesNotAccessMemory, + /* mips_addq_s_w */ UnknownModRefBehavior, + /* mips_addqh_ph */ DoesNotAccessMemory, + /* mips_addqh_r_ph */ DoesNotAccessMemory, + /* mips_addqh_r_w */ DoesNotAccessMemory, + /* mips_addqh_w */ DoesNotAccessMemory, + /* mips_adds_a_b */ DoesNotAccessMemory, + /* mips_adds_a_d */ DoesNotAccessMemory, + /* mips_adds_a_h */ DoesNotAccessMemory, + /* mips_adds_a_w */ DoesNotAccessMemory, + /* mips_adds_s_b */ DoesNotAccessMemory, + /* mips_adds_s_d */ DoesNotAccessMemory, + /* mips_adds_s_h */ DoesNotAccessMemory, + /* mips_adds_s_w */ DoesNotAccessMemory, + /* mips_adds_u_b */ DoesNotAccessMemory, + /* mips_adds_u_d */ DoesNotAccessMemory, + /* mips_adds_u_h */ DoesNotAccessMemory, + /* mips_adds_u_w */ DoesNotAccessMemory, + /* mips_addsc */ UnknownModRefBehavior, + /* mips_addu_ph */ UnknownModRefBehavior, + /* mips_addu_qb */ DoesNotAccessMemory, + /* mips_addu_s_ph */ UnknownModRefBehavior, + /* mips_addu_s_qb */ DoesNotAccessMemory, + /* mips_adduh_qb */ DoesNotAccessMemory, + /* mips_adduh_r_qb */ DoesNotAccessMemory, + /* mips_addv_b */ DoesNotAccessMemory, + /* mips_addv_d */ DoesNotAccessMemory, + /* mips_addv_h */ DoesNotAccessMemory, + /* mips_addv_w */ DoesNotAccessMemory, + /* mips_addvi_b */ DoesNotAccessMemory, + /* mips_addvi_d */ DoesNotAccessMemory, + /* mips_addvi_h */ DoesNotAccessMemory, + /* mips_addvi_w */ DoesNotAccessMemory, + /* mips_addwc */ UnknownModRefBehavior, + /* mips_and_v */ DoesNotAccessMemory, + /* mips_andi_b */ DoesNotAccessMemory, + /* mips_append */ DoesNotAccessMemory, + /* mips_asub_s_b */ DoesNotAccessMemory, + /* mips_asub_s_d */ DoesNotAccessMemory, + /* mips_asub_s_h */ DoesNotAccessMemory, + /* mips_asub_s_w */ DoesNotAccessMemory, + /* mips_asub_u_b */ DoesNotAccessMemory, + /* mips_asub_u_d */ DoesNotAccessMemory, + /* mips_asub_u_h */ DoesNotAccessMemory, + /* mips_asub_u_w */ DoesNotAccessMemory, + /* mips_ave_s_b */ DoesNotAccessMemory, + /* mips_ave_s_d */ DoesNotAccessMemory, + /* mips_ave_s_h */ DoesNotAccessMemory, + /* mips_ave_s_w */ DoesNotAccessMemory, + /* mips_ave_u_b */ DoesNotAccessMemory, + /* mips_ave_u_d */ DoesNotAccessMemory, + /* mips_ave_u_h */ DoesNotAccessMemory, + /* mips_ave_u_w */ DoesNotAccessMemory, + /* mips_aver_s_b */ DoesNotAccessMemory, + /* mips_aver_s_d */ DoesNotAccessMemory, + /* mips_aver_s_h */ DoesNotAccessMemory, + /* mips_aver_s_w */ DoesNotAccessMemory, + /* mips_aver_u_b */ DoesNotAccessMemory, + /* mips_aver_u_d */ DoesNotAccessMemory, + /* mips_aver_u_h */ DoesNotAccessMemory, + /* mips_aver_u_w */ DoesNotAccessMemory, + /* mips_balign */ DoesNotAccessMemory, + /* mips_bclr_b */ DoesNotAccessMemory, + /* mips_bclr_d */ DoesNotAccessMemory, + /* mips_bclr_h */ DoesNotAccessMemory, + /* mips_bclr_w */ DoesNotAccessMemory, + /* mips_bclri_b */ DoesNotAccessMemory, + /* mips_bclri_d */ DoesNotAccessMemory, + /* mips_bclri_h */ DoesNotAccessMemory, + /* mips_bclri_w */ DoesNotAccessMemory, + /* mips_binsl_b */ DoesNotAccessMemory, + /* mips_binsl_d */ DoesNotAccessMemory, + /* mips_binsl_h */ DoesNotAccessMemory, + /* mips_binsl_w */ DoesNotAccessMemory, + /* mips_binsli_b */ DoesNotAccessMemory, + /* mips_binsli_d */ DoesNotAccessMemory, + /* mips_binsli_h */ DoesNotAccessMemory, + /* mips_binsli_w */ DoesNotAccessMemory, + /* mips_binsr_b */ DoesNotAccessMemory, + /* mips_binsr_d */ DoesNotAccessMemory, + /* mips_binsr_h */ DoesNotAccessMemory, + /* mips_binsr_w */ DoesNotAccessMemory, + /* mips_binsri_b */ DoesNotAccessMemory, + /* mips_binsri_d */ DoesNotAccessMemory, + /* mips_binsri_h */ DoesNotAccessMemory, + /* mips_binsri_w */ DoesNotAccessMemory, + /* mips_bitrev */ DoesNotAccessMemory, + /* mips_bmnz_v */ DoesNotAccessMemory, + /* mips_bmnzi_b */ DoesNotAccessMemory, + /* mips_bmz_v */ DoesNotAccessMemory, + /* mips_bmzi_b */ DoesNotAccessMemory, + /* mips_bneg_b */ DoesNotAccessMemory, + /* mips_bneg_d */ DoesNotAccessMemory, + /* mips_bneg_h */ DoesNotAccessMemory, + /* mips_bneg_w */ DoesNotAccessMemory, + /* mips_bnegi_b */ DoesNotAccessMemory, + /* mips_bnegi_d */ DoesNotAccessMemory, + /* mips_bnegi_h */ DoesNotAccessMemory, + /* mips_bnegi_w */ DoesNotAccessMemory, + /* mips_bnz_b */ DoesNotAccessMemory, + /* mips_bnz_d */ DoesNotAccessMemory, + /* mips_bnz_h */ DoesNotAccessMemory, + /* mips_bnz_v */ DoesNotAccessMemory, + /* mips_bnz_w */ DoesNotAccessMemory, + /* mips_bposge32 */ OnlyReadsMemory, + /* mips_bsel_v */ DoesNotAccessMemory, + /* mips_bseli_b */ DoesNotAccessMemory, + /* mips_bset_b */ DoesNotAccessMemory, + /* mips_bset_d */ DoesNotAccessMemory, + /* mips_bset_h */ DoesNotAccessMemory, + /* mips_bset_w */ DoesNotAccessMemory, + /* mips_bseti_b */ DoesNotAccessMemory, + /* mips_bseti_d */ DoesNotAccessMemory, + /* mips_bseti_h */ DoesNotAccessMemory, + /* mips_bseti_w */ DoesNotAccessMemory, + /* mips_bz_b */ DoesNotAccessMemory, + /* mips_bz_d */ DoesNotAccessMemory, + /* mips_bz_h */ DoesNotAccessMemory, + /* mips_bz_v */ DoesNotAccessMemory, + /* mips_bz_w */ DoesNotAccessMemory, + /* mips_ceq_b */ DoesNotAccessMemory, + /* mips_ceq_d */ DoesNotAccessMemory, + /* mips_ceq_h */ DoesNotAccessMemory, + /* mips_ceq_w */ DoesNotAccessMemory, + /* mips_ceqi_b */ DoesNotAccessMemory, + /* mips_ceqi_d */ DoesNotAccessMemory, + /* mips_ceqi_h */ DoesNotAccessMemory, + /* mips_ceqi_w */ DoesNotAccessMemory, + /* mips_cfcmsa */ UnknownModRefBehavior, + /* mips_cle_s_b */ DoesNotAccessMemory, + /* mips_cle_s_d */ DoesNotAccessMemory, + /* mips_cle_s_h */ DoesNotAccessMemory, + /* mips_cle_s_w */ DoesNotAccessMemory, + /* mips_cle_u_b */ DoesNotAccessMemory, + /* mips_cle_u_d */ DoesNotAccessMemory, + /* mips_cle_u_h */ DoesNotAccessMemory, + /* mips_cle_u_w */ DoesNotAccessMemory, + /* mips_clei_s_b */ DoesNotAccessMemory, + /* mips_clei_s_d */ DoesNotAccessMemory, + /* mips_clei_s_h */ DoesNotAccessMemory, + /* mips_clei_s_w */ DoesNotAccessMemory, + /* mips_clei_u_b */ DoesNotAccessMemory, + /* mips_clei_u_d */ DoesNotAccessMemory, + /* mips_clei_u_h */ DoesNotAccessMemory, + /* mips_clei_u_w */ DoesNotAccessMemory, + /* mips_clt_s_b */ DoesNotAccessMemory, + /* mips_clt_s_d */ DoesNotAccessMemory, + /* mips_clt_s_h */ DoesNotAccessMemory, + /* mips_clt_s_w */ DoesNotAccessMemory, + /* mips_clt_u_b */ DoesNotAccessMemory, + /* mips_clt_u_d */ DoesNotAccessMemory, + /* mips_clt_u_h */ DoesNotAccessMemory, + /* mips_clt_u_w */ DoesNotAccessMemory, + /* mips_clti_s_b */ DoesNotAccessMemory, + /* mips_clti_s_d */ DoesNotAccessMemory, + /* mips_clti_s_h */ DoesNotAccessMemory, + /* mips_clti_s_w */ DoesNotAccessMemory, + /* mips_clti_u_b */ DoesNotAccessMemory, + /* mips_clti_u_d */ DoesNotAccessMemory, + /* mips_clti_u_h */ DoesNotAccessMemory, + /* mips_clti_u_w */ DoesNotAccessMemory, + /* mips_cmp_eq_ph */ UnknownModRefBehavior, + /* mips_cmp_le_ph */ UnknownModRefBehavior, + /* mips_cmp_lt_ph */ UnknownModRefBehavior, + /* mips_cmpgdu_eq_qb */ UnknownModRefBehavior, + /* mips_cmpgdu_le_qb */ UnknownModRefBehavior, + /* mips_cmpgdu_lt_qb */ UnknownModRefBehavior, + /* mips_cmpgu_eq_qb */ UnknownModRefBehavior, + /* mips_cmpgu_le_qb */ UnknownModRefBehavior, + /* mips_cmpgu_lt_qb */ UnknownModRefBehavior, + /* mips_cmpu_eq_qb */ UnknownModRefBehavior, + /* mips_cmpu_le_qb */ UnknownModRefBehavior, + /* mips_cmpu_lt_qb */ UnknownModRefBehavior, + /* mips_copy_s_b */ DoesNotAccessMemory, + /* mips_copy_s_d */ DoesNotAccessMemory, + /* mips_copy_s_h */ DoesNotAccessMemory, + /* mips_copy_s_w */ DoesNotAccessMemory, + /* mips_copy_u_b */ DoesNotAccessMemory, + /* mips_copy_u_d */ DoesNotAccessMemory, + /* mips_copy_u_h */ DoesNotAccessMemory, + /* mips_copy_u_w */ DoesNotAccessMemory, + /* mips_ctcmsa */ UnknownModRefBehavior, + /* mips_div_s_b */ DoesNotAccessMemory, + /* mips_div_s_d */ DoesNotAccessMemory, + /* mips_div_s_h */ DoesNotAccessMemory, + /* mips_div_s_w */ DoesNotAccessMemory, + /* mips_div_u_b */ DoesNotAccessMemory, + /* mips_div_u_d */ DoesNotAccessMemory, + /* mips_div_u_h */ DoesNotAccessMemory, + /* mips_div_u_w */ DoesNotAccessMemory, + /* mips_dlsa */ DoesNotAccessMemory, + /* mips_dotp_s_d */ DoesNotAccessMemory, + /* mips_dotp_s_h */ DoesNotAccessMemory, + /* mips_dotp_s_w */ DoesNotAccessMemory, + /* mips_dotp_u_d */ DoesNotAccessMemory, + /* mips_dotp_u_h */ DoesNotAccessMemory, + /* mips_dotp_u_w */ DoesNotAccessMemory, + /* mips_dpa_w_ph */ DoesNotAccessMemory, + /* mips_dpadd_s_d */ DoesNotAccessMemory, + /* mips_dpadd_s_h */ DoesNotAccessMemory, + /* mips_dpadd_s_w */ DoesNotAccessMemory, + /* mips_dpadd_u_d */ DoesNotAccessMemory, + /* mips_dpadd_u_h */ DoesNotAccessMemory, + /* mips_dpadd_u_w */ DoesNotAccessMemory, + /* mips_dpaq_s_w_ph */ UnknownModRefBehavior, + /* mips_dpaq_sa_l_w */ UnknownModRefBehavior, + /* mips_dpaqx_s_w_ph */ UnknownModRefBehavior, + /* mips_dpaqx_sa_w_ph */ UnknownModRefBehavior, + /* mips_dpau_h_qbl */ DoesNotAccessMemory, + /* mips_dpau_h_qbr */ DoesNotAccessMemory, + /* mips_dpax_w_ph */ DoesNotAccessMemory, + /* mips_dps_w_ph */ DoesNotAccessMemory, + /* mips_dpsq_s_w_ph */ UnknownModRefBehavior, + /* mips_dpsq_sa_l_w */ UnknownModRefBehavior, + /* mips_dpsqx_s_w_ph */ UnknownModRefBehavior, + /* mips_dpsqx_sa_w_ph */ UnknownModRefBehavior, + /* mips_dpsu_h_qbl */ DoesNotAccessMemory, + /* mips_dpsu_h_qbr */ DoesNotAccessMemory, + /* mips_dpsub_s_d */ DoesNotAccessMemory, + /* mips_dpsub_s_h */ DoesNotAccessMemory, + /* mips_dpsub_s_w */ DoesNotAccessMemory, + /* mips_dpsub_u_d */ DoesNotAccessMemory, + /* mips_dpsub_u_h */ DoesNotAccessMemory, + /* mips_dpsub_u_w */ DoesNotAccessMemory, + /* mips_dpsx_w_ph */ DoesNotAccessMemory, + /* mips_extp */ UnknownModRefBehavior, + /* mips_extpdp */ UnknownModRefBehavior, + /* mips_extr_r_w */ UnknownModRefBehavior, + /* mips_extr_rs_w */ UnknownModRefBehavior, + /* mips_extr_s_h */ UnknownModRefBehavior, + /* mips_extr_w */ UnknownModRefBehavior, + /* mips_fadd_d */ DoesNotAccessMemory, + /* mips_fadd_w */ DoesNotAccessMemory, + /* mips_fcaf_d */ DoesNotAccessMemory, + /* mips_fcaf_w */ DoesNotAccessMemory, + /* mips_fceq_d */ DoesNotAccessMemory, + /* mips_fceq_w */ DoesNotAccessMemory, + /* mips_fclass_d */ DoesNotAccessMemory, + /* mips_fclass_w */ DoesNotAccessMemory, + /* mips_fcle_d */ DoesNotAccessMemory, + /* mips_fcle_w */ DoesNotAccessMemory, + /* mips_fclt_d */ DoesNotAccessMemory, + /* mips_fclt_w */ DoesNotAccessMemory, + /* mips_fcne_d */ DoesNotAccessMemory, + /* mips_fcne_w */ DoesNotAccessMemory, + /* mips_fcor_d */ DoesNotAccessMemory, + /* mips_fcor_w */ DoesNotAccessMemory, + /* mips_fcueq_d */ DoesNotAccessMemory, + /* mips_fcueq_w */ DoesNotAccessMemory, + /* mips_fcule_d */ DoesNotAccessMemory, + /* mips_fcule_w */ DoesNotAccessMemory, + /* mips_fcult_d */ DoesNotAccessMemory, + /* mips_fcult_w */ DoesNotAccessMemory, + /* mips_fcun_d */ DoesNotAccessMemory, + /* mips_fcun_w */ DoesNotAccessMemory, + /* mips_fcune_d */ DoesNotAccessMemory, + /* mips_fcune_w */ DoesNotAccessMemory, + /* mips_fdiv_d */ DoesNotAccessMemory, + /* mips_fdiv_w */ DoesNotAccessMemory, + /* mips_fexdo_h */ DoesNotAccessMemory, + /* mips_fexdo_w */ DoesNotAccessMemory, + /* mips_fexp2_d */ DoesNotAccessMemory, + /* mips_fexp2_w */ DoesNotAccessMemory, + /* mips_fexupl_d */ DoesNotAccessMemory, + /* mips_fexupl_w */ DoesNotAccessMemory, + /* mips_fexupr_d */ DoesNotAccessMemory, + /* mips_fexupr_w */ DoesNotAccessMemory, + /* mips_ffint_s_d */ DoesNotAccessMemory, + /* mips_ffint_s_w */ DoesNotAccessMemory, + /* mips_ffint_u_d */ DoesNotAccessMemory, + /* mips_ffint_u_w */ DoesNotAccessMemory, + /* mips_ffql_d */ DoesNotAccessMemory, + /* mips_ffql_w */ DoesNotAccessMemory, + /* mips_ffqr_d */ DoesNotAccessMemory, + /* mips_ffqr_w */ DoesNotAccessMemory, + /* mips_fill_b */ DoesNotAccessMemory, + /* mips_fill_d */ DoesNotAccessMemory, + /* mips_fill_h */ DoesNotAccessMemory, + /* mips_fill_w */ DoesNotAccessMemory, + /* mips_flog2_d */ DoesNotAccessMemory, + /* mips_flog2_w */ DoesNotAccessMemory, + /* mips_fmadd_d */ DoesNotAccessMemory, + /* mips_fmadd_w */ DoesNotAccessMemory, + /* mips_fmax_a_d */ DoesNotAccessMemory, + /* mips_fmax_a_w */ DoesNotAccessMemory, + /* mips_fmax_d */ DoesNotAccessMemory, + /* mips_fmax_w */ DoesNotAccessMemory, + /* mips_fmin_a_d */ DoesNotAccessMemory, + /* mips_fmin_a_w */ DoesNotAccessMemory, + /* mips_fmin_d */ DoesNotAccessMemory, + /* mips_fmin_w */ DoesNotAccessMemory, + /* mips_fmsub_d */ DoesNotAccessMemory, + /* mips_fmsub_w */ DoesNotAccessMemory, + /* mips_fmul_d */ DoesNotAccessMemory, + /* mips_fmul_w */ DoesNotAccessMemory, + /* mips_frcp_d */ DoesNotAccessMemory, + /* mips_frcp_w */ DoesNotAccessMemory, + /* mips_frint_d */ DoesNotAccessMemory, + /* mips_frint_w */ DoesNotAccessMemory, + /* mips_frsqrt_d */ DoesNotAccessMemory, + /* mips_frsqrt_w */ DoesNotAccessMemory, + /* mips_fsaf_d */ DoesNotAccessMemory, + /* mips_fsaf_w */ DoesNotAccessMemory, + /* mips_fseq_d */ DoesNotAccessMemory, + /* mips_fseq_w */ DoesNotAccessMemory, + /* mips_fsle_d */ DoesNotAccessMemory, + /* mips_fsle_w */ DoesNotAccessMemory, + /* mips_fslt_d */ DoesNotAccessMemory, + /* mips_fslt_w */ DoesNotAccessMemory, + /* mips_fsne_d */ DoesNotAccessMemory, + /* mips_fsne_w */ DoesNotAccessMemory, + /* mips_fsor_d */ DoesNotAccessMemory, + /* mips_fsor_w */ DoesNotAccessMemory, + /* mips_fsqrt_d */ DoesNotAccessMemory, + /* mips_fsqrt_w */ DoesNotAccessMemory, + /* mips_fsub_d */ DoesNotAccessMemory, + /* mips_fsub_w */ DoesNotAccessMemory, + /* mips_fsueq_d */ DoesNotAccessMemory, + /* mips_fsueq_w */ DoesNotAccessMemory, + /* mips_fsule_d */ DoesNotAccessMemory, + /* mips_fsule_w */ DoesNotAccessMemory, + /* mips_fsult_d */ DoesNotAccessMemory, + /* mips_fsult_w */ DoesNotAccessMemory, + /* mips_fsun_d */ DoesNotAccessMemory, + /* mips_fsun_w */ DoesNotAccessMemory, + /* mips_fsune_d */ DoesNotAccessMemory, + /* mips_fsune_w */ DoesNotAccessMemory, + /* mips_ftint_s_d */ DoesNotAccessMemory, + /* mips_ftint_s_w */ DoesNotAccessMemory, + /* mips_ftint_u_d */ DoesNotAccessMemory, + /* mips_ftint_u_w */ DoesNotAccessMemory, + /* mips_ftq_h */ DoesNotAccessMemory, + /* mips_ftq_w */ DoesNotAccessMemory, + /* mips_ftrunc_s_d */ DoesNotAccessMemory, + /* mips_ftrunc_s_w */ DoesNotAccessMemory, + /* mips_ftrunc_u_d */ DoesNotAccessMemory, + /* mips_ftrunc_u_w */ DoesNotAccessMemory, + /* mips_hadd_s_d */ DoesNotAccessMemory, + /* mips_hadd_s_h */ DoesNotAccessMemory, + /* mips_hadd_s_w */ DoesNotAccessMemory, + /* mips_hadd_u_d */ DoesNotAccessMemory, + /* mips_hadd_u_h */ DoesNotAccessMemory, + /* mips_hadd_u_w */ DoesNotAccessMemory, + /* mips_hsub_s_d */ DoesNotAccessMemory, + /* mips_hsub_s_h */ DoesNotAccessMemory, + /* mips_hsub_s_w */ DoesNotAccessMemory, + /* mips_hsub_u_d */ DoesNotAccessMemory, + /* mips_hsub_u_h */ DoesNotAccessMemory, + /* mips_hsub_u_w */ DoesNotAccessMemory, + /* mips_ilvev_b */ DoesNotAccessMemory, + /* mips_ilvev_d */ DoesNotAccessMemory, + /* mips_ilvev_h */ DoesNotAccessMemory, + /* mips_ilvev_w */ DoesNotAccessMemory, + /* mips_ilvl_b */ DoesNotAccessMemory, + /* mips_ilvl_d */ DoesNotAccessMemory, + /* mips_ilvl_h */ DoesNotAccessMemory, + /* mips_ilvl_w */ DoesNotAccessMemory, + /* mips_ilvod_b */ DoesNotAccessMemory, + /* mips_ilvod_d */ DoesNotAccessMemory, + /* mips_ilvod_h */ DoesNotAccessMemory, + /* mips_ilvod_w */ DoesNotAccessMemory, + /* mips_ilvr_b */ DoesNotAccessMemory, + /* mips_ilvr_d */ DoesNotAccessMemory, + /* mips_ilvr_h */ DoesNotAccessMemory, + /* mips_ilvr_w */ DoesNotAccessMemory, + /* mips_insert_b */ DoesNotAccessMemory, + /* mips_insert_d */ DoesNotAccessMemory, + /* mips_insert_h */ DoesNotAccessMemory, + /* mips_insert_w */ DoesNotAccessMemory, + /* mips_insv */ OnlyReadsMemory, + /* mips_insve_b */ DoesNotAccessMemory, + /* mips_insve_d */ DoesNotAccessMemory, + /* mips_insve_h */ DoesNotAccessMemory, + /* mips_insve_w */ DoesNotAccessMemory, + /* mips_lbux */ OnlyReadsArgumentPointees, + /* mips_ld_b */ OnlyReadsArgumentPointees, + /* mips_ld_d */ OnlyReadsArgumentPointees, + /* mips_ld_h */ OnlyReadsArgumentPointees, + /* mips_ld_w */ OnlyReadsArgumentPointees, + /* mips_ldi_b */ DoesNotAccessMemory, + /* mips_ldi_d */ DoesNotAccessMemory, + /* mips_ldi_h */ DoesNotAccessMemory, + /* mips_ldi_w */ DoesNotAccessMemory, + /* mips_lhx */ OnlyReadsArgumentPointees, + /* mips_lsa */ DoesNotAccessMemory, + /* mips_lwx */ OnlyReadsArgumentPointees, + /* mips_madd */ DoesNotAccessMemory, + /* mips_madd_q_h */ DoesNotAccessMemory, + /* mips_madd_q_w */ DoesNotAccessMemory, + /* mips_maddr_q_h */ DoesNotAccessMemory, + /* mips_maddr_q_w */ DoesNotAccessMemory, + /* mips_maddu */ DoesNotAccessMemory, + /* mips_maddv_b */ DoesNotAccessMemory, + /* mips_maddv_d */ DoesNotAccessMemory, + /* mips_maddv_h */ DoesNotAccessMemory, + /* mips_maddv_w */ DoesNotAccessMemory, + /* mips_maq_s_w_phl */ UnknownModRefBehavior, + /* mips_maq_s_w_phr */ UnknownModRefBehavior, + /* mips_maq_sa_w_phl */ UnknownModRefBehavior, + /* mips_maq_sa_w_phr */ UnknownModRefBehavior, + /* mips_max_a_b */ DoesNotAccessMemory, + /* mips_max_a_d */ DoesNotAccessMemory, + /* mips_max_a_h */ DoesNotAccessMemory, + /* mips_max_a_w */ DoesNotAccessMemory, + /* mips_max_s_b */ DoesNotAccessMemory, + /* mips_max_s_d */ DoesNotAccessMemory, + /* mips_max_s_h */ DoesNotAccessMemory, + /* mips_max_s_w */ DoesNotAccessMemory, + /* mips_max_u_b */ DoesNotAccessMemory, + /* mips_max_u_d */ DoesNotAccessMemory, + /* mips_max_u_h */ DoesNotAccessMemory, + /* mips_max_u_w */ DoesNotAccessMemory, + /* mips_maxi_s_b */ DoesNotAccessMemory, + /* mips_maxi_s_d */ DoesNotAccessMemory, + /* mips_maxi_s_h */ DoesNotAccessMemory, + /* mips_maxi_s_w */ DoesNotAccessMemory, + /* mips_maxi_u_b */ DoesNotAccessMemory, + /* mips_maxi_u_d */ DoesNotAccessMemory, + /* mips_maxi_u_h */ DoesNotAccessMemory, + /* mips_maxi_u_w */ DoesNotAccessMemory, + /* mips_min_a_b */ DoesNotAccessMemory, + /* mips_min_a_d */ DoesNotAccessMemory, + /* mips_min_a_h */ DoesNotAccessMemory, + /* mips_min_a_w */ DoesNotAccessMemory, + /* mips_min_s_b */ DoesNotAccessMemory, + /* mips_min_s_d */ DoesNotAccessMemory, + /* mips_min_s_h */ DoesNotAccessMemory, + /* mips_min_s_w */ DoesNotAccessMemory, + /* mips_min_u_b */ DoesNotAccessMemory, + /* mips_min_u_d */ DoesNotAccessMemory, + /* mips_min_u_h */ DoesNotAccessMemory, + /* mips_min_u_w */ DoesNotAccessMemory, + /* mips_mini_s_b */ DoesNotAccessMemory, + /* mips_mini_s_d */ DoesNotAccessMemory, + /* mips_mini_s_h */ DoesNotAccessMemory, + /* mips_mini_s_w */ DoesNotAccessMemory, + /* mips_mini_u_b */ DoesNotAccessMemory, + /* mips_mini_u_d */ DoesNotAccessMemory, + /* mips_mini_u_h */ DoesNotAccessMemory, + /* mips_mini_u_w */ DoesNotAccessMemory, + /* mips_mod_s_b */ DoesNotAccessMemory, + /* mips_mod_s_d */ DoesNotAccessMemory, + /* mips_mod_s_h */ DoesNotAccessMemory, + /* mips_mod_s_w */ DoesNotAccessMemory, + /* mips_mod_u_b */ DoesNotAccessMemory, + /* mips_mod_u_d */ DoesNotAccessMemory, + /* mips_mod_u_h */ DoesNotAccessMemory, + /* mips_mod_u_w */ DoesNotAccessMemory, + /* mips_modsub */ DoesNotAccessMemory, + /* mips_move_v */ DoesNotAccessMemory, + /* mips_msub */ DoesNotAccessMemory, + /* mips_msub_q_h */ DoesNotAccessMemory, + /* mips_msub_q_w */ DoesNotAccessMemory, + /* mips_msubr_q_h */ DoesNotAccessMemory, + /* mips_msubr_q_w */ DoesNotAccessMemory, + /* mips_msubu */ DoesNotAccessMemory, + /* mips_msubv_b */ DoesNotAccessMemory, + /* mips_msubv_d */ DoesNotAccessMemory, + /* mips_msubv_h */ DoesNotAccessMemory, + /* mips_msubv_w */ DoesNotAccessMemory, + /* mips_mthlip */ UnknownModRefBehavior, + /* mips_mul_ph */ UnknownModRefBehavior, + /* mips_mul_q_h */ DoesNotAccessMemory, + /* mips_mul_q_w */ DoesNotAccessMemory, + /* mips_mul_s_ph */ UnknownModRefBehavior, + /* mips_muleq_s_w_phl */ UnknownModRefBehavior, + /* mips_muleq_s_w_phr */ UnknownModRefBehavior, + /* mips_muleu_s_ph_qbl */ UnknownModRefBehavior, + /* mips_muleu_s_ph_qbr */ UnknownModRefBehavior, + /* mips_mulq_rs_ph */ UnknownModRefBehavior, + /* mips_mulq_rs_w */ UnknownModRefBehavior, + /* mips_mulq_s_ph */ UnknownModRefBehavior, + /* mips_mulq_s_w */ UnknownModRefBehavior, + /* mips_mulr_q_h */ DoesNotAccessMemory, + /* mips_mulr_q_w */ DoesNotAccessMemory, + /* mips_mulsa_w_ph */ DoesNotAccessMemory, + /* mips_mulsaq_s_w_ph */ UnknownModRefBehavior, + /* mips_mult */ DoesNotAccessMemory, + /* mips_multu */ DoesNotAccessMemory, + /* mips_mulv_b */ DoesNotAccessMemory, + /* mips_mulv_d */ DoesNotAccessMemory, + /* mips_mulv_h */ DoesNotAccessMemory, + /* mips_mulv_w */ DoesNotAccessMemory, + /* mips_nloc_b */ DoesNotAccessMemory, + /* mips_nloc_d */ DoesNotAccessMemory, + /* mips_nloc_h */ DoesNotAccessMemory, + /* mips_nloc_w */ DoesNotAccessMemory, + /* mips_nlzc_b */ DoesNotAccessMemory, + /* mips_nlzc_d */ DoesNotAccessMemory, + /* mips_nlzc_h */ DoesNotAccessMemory, + /* mips_nlzc_w */ DoesNotAccessMemory, + /* mips_nor_v */ DoesNotAccessMemory, + /* mips_nori_b */ DoesNotAccessMemory, + /* mips_or_v */ DoesNotAccessMemory, + /* mips_ori_b */ DoesNotAccessMemory, + /* mips_packrl_ph */ DoesNotAccessMemory, + /* mips_pckev_b */ DoesNotAccessMemory, + /* mips_pckev_d */ DoesNotAccessMemory, + /* mips_pckev_h */ DoesNotAccessMemory, + /* mips_pckev_w */ DoesNotAccessMemory, + /* mips_pckod_b */ DoesNotAccessMemory, + /* mips_pckod_d */ DoesNotAccessMemory, + /* mips_pckod_h */ DoesNotAccessMemory, + /* mips_pckod_w */ DoesNotAccessMemory, + /* mips_pcnt_b */ DoesNotAccessMemory, + /* mips_pcnt_d */ DoesNotAccessMemory, + /* mips_pcnt_h */ DoesNotAccessMemory, + /* mips_pcnt_w */ DoesNotAccessMemory, + /* mips_pick_ph */ OnlyReadsMemory, + /* mips_pick_qb */ OnlyReadsMemory, + /* mips_preceq_w_phl */ DoesNotAccessMemory, + /* mips_preceq_w_phr */ DoesNotAccessMemory, + /* mips_precequ_ph_qbl */ DoesNotAccessMemory, + /* mips_precequ_ph_qbla */ DoesNotAccessMemory, + /* mips_precequ_ph_qbr */ DoesNotAccessMemory, + /* mips_precequ_ph_qbra */ DoesNotAccessMemory, + /* mips_preceu_ph_qbl */ DoesNotAccessMemory, + /* mips_preceu_ph_qbla */ DoesNotAccessMemory, + /* mips_preceu_ph_qbr */ DoesNotAccessMemory, + /* mips_preceu_ph_qbra */ DoesNotAccessMemory, + /* mips_precr_qb_ph */ UnknownModRefBehavior, + /* mips_precr_sra_ph_w */ DoesNotAccessMemory, + /* mips_precr_sra_r_ph_w */ DoesNotAccessMemory, + /* mips_precrq_ph_w */ DoesNotAccessMemory, + /* mips_precrq_qb_ph */ DoesNotAccessMemory, + /* mips_precrq_rs_ph_w */ UnknownModRefBehavior, + /* mips_precrqu_s_qb_ph */ UnknownModRefBehavior, + /* mips_prepend */ DoesNotAccessMemory, + /* mips_raddu_w_qb */ DoesNotAccessMemory, + /* mips_rddsp */ OnlyReadsMemory, + /* mips_repl_ph */ DoesNotAccessMemory, + /* mips_repl_qb */ DoesNotAccessMemory, + /* mips_sat_s_b */ DoesNotAccessMemory, + /* mips_sat_s_d */ DoesNotAccessMemory, + /* mips_sat_s_h */ DoesNotAccessMemory, + /* mips_sat_s_w */ DoesNotAccessMemory, + /* mips_sat_u_b */ DoesNotAccessMemory, + /* mips_sat_u_d */ DoesNotAccessMemory, + /* mips_sat_u_h */ DoesNotAccessMemory, + /* mips_sat_u_w */ DoesNotAccessMemory, + /* mips_shf_b */ DoesNotAccessMemory, + /* mips_shf_h */ DoesNotAccessMemory, + /* mips_shf_w */ DoesNotAccessMemory, + /* mips_shilo */ DoesNotAccessMemory, + /* mips_shll_ph */ UnknownModRefBehavior, + /* mips_shll_qb */ UnknownModRefBehavior, + /* mips_shll_s_ph */ UnknownModRefBehavior, + /* mips_shll_s_w */ UnknownModRefBehavior, + /* mips_shra_ph */ DoesNotAccessMemory, + /* mips_shra_qb */ DoesNotAccessMemory, + /* mips_shra_r_ph */ DoesNotAccessMemory, + /* mips_shra_r_qb */ DoesNotAccessMemory, + /* mips_shra_r_w */ DoesNotAccessMemory, + /* mips_shrl_ph */ DoesNotAccessMemory, + /* mips_shrl_qb */ DoesNotAccessMemory, + /* mips_sld_b */ DoesNotAccessMemory, + /* mips_sld_d */ DoesNotAccessMemory, + /* mips_sld_h */ DoesNotAccessMemory, + /* mips_sld_w */ DoesNotAccessMemory, + /* mips_sldi_b */ DoesNotAccessMemory, + /* mips_sldi_d */ DoesNotAccessMemory, + /* mips_sldi_h */ DoesNotAccessMemory, + /* mips_sldi_w */ DoesNotAccessMemory, + /* mips_sll_b */ DoesNotAccessMemory, + /* mips_sll_d */ DoesNotAccessMemory, + /* mips_sll_h */ DoesNotAccessMemory, + /* mips_sll_w */ DoesNotAccessMemory, + /* mips_slli_b */ DoesNotAccessMemory, + /* mips_slli_d */ DoesNotAccessMemory, + /* mips_slli_h */ DoesNotAccessMemory, + /* mips_slli_w */ DoesNotAccessMemory, + /* mips_splat_b */ DoesNotAccessMemory, + /* mips_splat_d */ DoesNotAccessMemory, + /* mips_splat_h */ DoesNotAccessMemory, + /* mips_splat_w */ DoesNotAccessMemory, + /* mips_splati_b */ DoesNotAccessMemory, + /* mips_splati_d */ DoesNotAccessMemory, + /* mips_splati_h */ DoesNotAccessMemory, + /* mips_splati_w */ DoesNotAccessMemory, + /* mips_sra_b */ DoesNotAccessMemory, + /* mips_sra_d */ DoesNotAccessMemory, + /* mips_sra_h */ DoesNotAccessMemory, + /* mips_sra_w */ DoesNotAccessMemory, + /* mips_srai_b */ DoesNotAccessMemory, + /* mips_srai_d */ DoesNotAccessMemory, + /* mips_srai_h */ DoesNotAccessMemory, + /* mips_srai_w */ DoesNotAccessMemory, + /* mips_srar_b */ DoesNotAccessMemory, + /* mips_srar_d */ DoesNotAccessMemory, + /* mips_srar_h */ DoesNotAccessMemory, + /* mips_srar_w */ DoesNotAccessMemory, + /* mips_srari_b */ DoesNotAccessMemory, + /* mips_srari_d */ DoesNotAccessMemory, + /* mips_srari_h */ DoesNotAccessMemory, + /* mips_srari_w */ DoesNotAccessMemory, + /* mips_srl_b */ DoesNotAccessMemory, + /* mips_srl_d */ DoesNotAccessMemory, + /* mips_srl_h */ DoesNotAccessMemory, + /* mips_srl_w */ DoesNotAccessMemory, + /* mips_srli_b */ DoesNotAccessMemory, + /* mips_srli_d */ DoesNotAccessMemory, + /* mips_srli_h */ DoesNotAccessMemory, + /* mips_srli_w */ DoesNotAccessMemory, + /* mips_srlr_b */ DoesNotAccessMemory, + /* mips_srlr_d */ DoesNotAccessMemory, + /* mips_srlr_h */ DoesNotAccessMemory, + /* mips_srlr_w */ DoesNotAccessMemory, + /* mips_srlri_b */ DoesNotAccessMemory, + /* mips_srlri_d */ DoesNotAccessMemory, + /* mips_srlri_h */ DoesNotAccessMemory, + /* mips_srlri_w */ DoesNotAccessMemory, + /* mips_st_b */ OnlyAccessesArgumentPointees, + /* mips_st_d */ OnlyAccessesArgumentPointees, + /* mips_st_h */ OnlyAccessesArgumentPointees, + /* mips_st_w */ OnlyAccessesArgumentPointees, + /* mips_subq_ph */ DoesNotAccessMemory, + /* mips_subq_s_ph */ DoesNotAccessMemory, + /* mips_subq_s_w */ UnknownModRefBehavior, + /* mips_subqh_ph */ DoesNotAccessMemory, + /* mips_subqh_r_ph */ DoesNotAccessMemory, + /* mips_subqh_r_w */ DoesNotAccessMemory, + /* mips_subqh_w */ DoesNotAccessMemory, + /* mips_subs_s_b */ DoesNotAccessMemory, + /* mips_subs_s_d */ DoesNotAccessMemory, + /* mips_subs_s_h */ DoesNotAccessMemory, + /* mips_subs_s_w */ DoesNotAccessMemory, + /* mips_subs_u_b */ DoesNotAccessMemory, + /* mips_subs_u_d */ DoesNotAccessMemory, + /* mips_subs_u_h */ DoesNotAccessMemory, + /* mips_subs_u_w */ DoesNotAccessMemory, + /* mips_subsus_u_b */ DoesNotAccessMemory, + /* mips_subsus_u_d */ DoesNotAccessMemory, + /* mips_subsus_u_h */ DoesNotAccessMemory, + /* mips_subsus_u_w */ DoesNotAccessMemory, + /* mips_subsuu_s_b */ DoesNotAccessMemory, + /* mips_subsuu_s_d */ DoesNotAccessMemory, + /* mips_subsuu_s_h */ DoesNotAccessMemory, + /* mips_subsuu_s_w */ DoesNotAccessMemory, + /* mips_subu_ph */ UnknownModRefBehavior, + /* mips_subu_qb */ DoesNotAccessMemory, + /* mips_subu_s_ph */ UnknownModRefBehavior, + /* mips_subu_s_qb */ DoesNotAccessMemory, + /* mips_subuh_qb */ DoesNotAccessMemory, + /* mips_subuh_r_qb */ DoesNotAccessMemory, + /* mips_subv_b */ DoesNotAccessMemory, + /* mips_subv_d */ DoesNotAccessMemory, + /* mips_subv_h */ DoesNotAccessMemory, + /* mips_subv_w */ DoesNotAccessMemory, + /* mips_subvi_b */ DoesNotAccessMemory, + /* mips_subvi_d */ DoesNotAccessMemory, + /* mips_subvi_h */ DoesNotAccessMemory, + /* mips_subvi_w */ DoesNotAccessMemory, + /* mips_vshf_b */ DoesNotAccessMemory, + /* mips_vshf_d */ DoesNotAccessMemory, + /* mips_vshf_h */ DoesNotAccessMemory, + /* mips_vshf_w */ DoesNotAccessMemory, + /* mips_wrdsp */ UnknownModRefBehavior, + /* mips_xor_v */ DoesNotAccessMemory, + /* mips_xori_b */ DoesNotAccessMemory, + /* nearbyint */ DoesNotAccessMemory, + /* nvvm_abs_i */ DoesNotAccessMemory, + /* nvvm_abs_ll */ DoesNotAccessMemory, + /* nvvm_add_rm_d */ DoesNotAccessMemory, + /* nvvm_add_rm_f */ DoesNotAccessMemory, + /* nvvm_add_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_add_rn_d */ DoesNotAccessMemory, + /* nvvm_add_rn_f */ DoesNotAccessMemory, + /* nvvm_add_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_add_rp_d */ DoesNotAccessMemory, + /* nvvm_add_rp_f */ DoesNotAccessMemory, + /* nvvm_add_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_add_rz_d */ DoesNotAccessMemory, + /* nvvm_add_rz_f */ DoesNotAccessMemory, + /* nvvm_add_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_atomic_load_add_f32 */ OnlyAccessesArgumentPointees, + /* nvvm_atomic_load_dec_32 */ OnlyAccessesArgumentPointees, + /* nvvm_atomic_load_inc_32 */ OnlyAccessesArgumentPointees, + /* nvvm_barrier0 */ UnknownModRefBehavior, + /* nvvm_barrier0_and */ UnknownModRefBehavior, + /* nvvm_barrier0_or */ UnknownModRefBehavior, + /* nvvm_barrier0_popc */ UnknownModRefBehavior, + /* nvvm_bitcast_d2ll */ DoesNotAccessMemory, + /* nvvm_bitcast_f2i */ DoesNotAccessMemory, + /* nvvm_bitcast_i2f */ DoesNotAccessMemory, + /* nvvm_bitcast_ll2d */ DoesNotAccessMemory, + /* nvvm_brev32 */ DoesNotAccessMemory, + /* nvvm_brev64 */ DoesNotAccessMemory, + /* nvvm_ceil_d */ DoesNotAccessMemory, + /* nvvm_ceil_f */ DoesNotAccessMemory, + /* nvvm_ceil_ftz_f */ DoesNotAccessMemory, + /* nvvm_clz_i */ DoesNotAccessMemory, + /* nvvm_clz_ll */ DoesNotAccessMemory, + /* nvvm_compiler_error */ UnknownModRefBehavior, + /* nvvm_compiler_warn */ UnknownModRefBehavior, + /* nvvm_cos_approx_f */ DoesNotAccessMemory, + /* nvvm_cos_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_d2f_rm */ DoesNotAccessMemory, + /* nvvm_d2f_rm_ftz */ DoesNotAccessMemory, + /* nvvm_d2f_rn */ DoesNotAccessMemory, + /* nvvm_d2f_rn_ftz */ DoesNotAccessMemory, + /* nvvm_d2f_rp */ DoesNotAccessMemory, + /* nvvm_d2f_rp_ftz */ DoesNotAccessMemory, + /* nvvm_d2f_rz */ DoesNotAccessMemory, + /* nvvm_d2f_rz_ftz */ DoesNotAccessMemory, + /* nvvm_d2i_hi */ DoesNotAccessMemory, + /* nvvm_d2i_lo */ DoesNotAccessMemory, + /* nvvm_d2i_rm */ DoesNotAccessMemory, + /* nvvm_d2i_rn */ DoesNotAccessMemory, + /* nvvm_d2i_rp */ DoesNotAccessMemory, + /* nvvm_d2i_rz */ DoesNotAccessMemory, + /* nvvm_d2ll_rm */ DoesNotAccessMemory, + /* nvvm_d2ll_rn */ DoesNotAccessMemory, + /* nvvm_d2ll_rp */ DoesNotAccessMemory, + /* nvvm_d2ll_rz */ DoesNotAccessMemory, + /* nvvm_d2ui_rm */ DoesNotAccessMemory, + /* nvvm_d2ui_rn */ DoesNotAccessMemory, + /* nvvm_d2ui_rp */ DoesNotAccessMemory, + /* nvvm_d2ui_rz */ DoesNotAccessMemory, + /* nvvm_d2ull_rm */ DoesNotAccessMemory, + /* nvvm_d2ull_rn */ DoesNotAccessMemory, + /* nvvm_d2ull_rp */ DoesNotAccessMemory, + /* nvvm_d2ull_rz */ DoesNotAccessMemory, + /* nvvm_div_approx_f */ DoesNotAccessMemory, + /* nvvm_div_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_div_rm_d */ DoesNotAccessMemory, + /* nvvm_div_rm_f */ DoesNotAccessMemory, + /* nvvm_div_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_div_rn_d */ DoesNotAccessMemory, + /* nvvm_div_rn_f */ DoesNotAccessMemory, + /* nvvm_div_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_div_rp_d */ DoesNotAccessMemory, + /* nvvm_div_rp_f */ DoesNotAccessMemory, + /* nvvm_div_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_div_rz_d */ DoesNotAccessMemory, + /* nvvm_div_rz_f */ DoesNotAccessMemory, + /* nvvm_div_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_ex2_approx_d */ DoesNotAccessMemory, + /* nvvm_ex2_approx_f */ DoesNotAccessMemory, + /* nvvm_ex2_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_f2h_rn */ DoesNotAccessMemory, + /* nvvm_f2h_rn_ftz */ DoesNotAccessMemory, + /* nvvm_f2i_rm */ DoesNotAccessMemory, + /* nvvm_f2i_rm_ftz */ DoesNotAccessMemory, + /* nvvm_f2i_rn */ DoesNotAccessMemory, + /* nvvm_f2i_rn_ftz */ DoesNotAccessMemory, + /* nvvm_f2i_rp */ DoesNotAccessMemory, + /* nvvm_f2i_rp_ftz */ DoesNotAccessMemory, + /* nvvm_f2i_rz */ DoesNotAccessMemory, + /* nvvm_f2i_rz_ftz */ DoesNotAccessMemory, + /* nvvm_f2ll_rm */ DoesNotAccessMemory, + /* nvvm_f2ll_rm_ftz */ DoesNotAccessMemory, + /* nvvm_f2ll_rn */ DoesNotAccessMemory, + /* nvvm_f2ll_rn_ftz */ DoesNotAccessMemory, + /* nvvm_f2ll_rp */ DoesNotAccessMemory, + /* nvvm_f2ll_rp_ftz */ DoesNotAccessMemory, + /* nvvm_f2ll_rz */ DoesNotAccessMemory, + /* nvvm_f2ll_rz_ftz */ DoesNotAccessMemory, + /* nvvm_f2ui_rm */ DoesNotAccessMemory, + /* nvvm_f2ui_rm_ftz */ DoesNotAccessMemory, + /* nvvm_f2ui_rn */ DoesNotAccessMemory, + /* nvvm_f2ui_rn_ftz */ DoesNotAccessMemory, + /* nvvm_f2ui_rp */ DoesNotAccessMemory, + /* nvvm_f2ui_rp_ftz */ DoesNotAccessMemory, + /* nvvm_f2ui_rz */ DoesNotAccessMemory, + /* nvvm_f2ui_rz_ftz */ DoesNotAccessMemory, + /* nvvm_f2ull_rm */ DoesNotAccessMemory, + /* nvvm_f2ull_rm_ftz */ DoesNotAccessMemory, + /* nvvm_f2ull_rn */ DoesNotAccessMemory, + /* nvvm_f2ull_rn_ftz */ DoesNotAccessMemory, + /* nvvm_f2ull_rp */ DoesNotAccessMemory, + /* nvvm_f2ull_rp_ftz */ DoesNotAccessMemory, + /* nvvm_f2ull_rz */ DoesNotAccessMemory, + /* nvvm_f2ull_rz_ftz */ DoesNotAccessMemory, + /* nvvm_fabs_d */ DoesNotAccessMemory, + /* nvvm_fabs_f */ DoesNotAccessMemory, + /* nvvm_fabs_ftz_f */ DoesNotAccessMemory, + /* nvvm_floor_d */ DoesNotAccessMemory, + /* nvvm_floor_f */ DoesNotAccessMemory, + /* nvvm_floor_ftz_f */ DoesNotAccessMemory, + /* nvvm_fma_rm_d */ DoesNotAccessMemory, + /* nvvm_fma_rm_f */ DoesNotAccessMemory, + /* nvvm_fma_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_fma_rn_d */ DoesNotAccessMemory, + /* nvvm_fma_rn_f */ DoesNotAccessMemory, + /* nvvm_fma_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_fma_rp_d */ DoesNotAccessMemory, + /* nvvm_fma_rp_f */ DoesNotAccessMemory, + /* nvvm_fma_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_fma_rz_d */ DoesNotAccessMemory, + /* nvvm_fma_rz_f */ DoesNotAccessMemory, + /* nvvm_fma_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_fmax_d */ DoesNotAccessMemory, + /* nvvm_fmax_f */ DoesNotAccessMemory, + /* nvvm_fmax_ftz_f */ DoesNotAccessMemory, + /* nvvm_fmin_d */ DoesNotAccessMemory, + /* nvvm_fmin_f */ DoesNotAccessMemory, + /* nvvm_fmin_ftz_f */ DoesNotAccessMemory, + /* nvvm_h2f */ DoesNotAccessMemory, + /* nvvm_i2d_rm */ DoesNotAccessMemory, + /* nvvm_i2d_rn */ DoesNotAccessMemory, + /* nvvm_i2d_rp */ DoesNotAccessMemory, + /* nvvm_i2d_rz */ DoesNotAccessMemory, + /* nvvm_i2f_rm */ DoesNotAccessMemory, + /* nvvm_i2f_rn */ DoesNotAccessMemory, + /* nvvm_i2f_rp */ DoesNotAccessMemory, + /* nvvm_i2f_rz */ DoesNotAccessMemory, + /* nvvm_isspacep_const */ DoesNotAccessMemory, + /* nvvm_isspacep_global */ DoesNotAccessMemory, + /* nvvm_isspacep_local */ DoesNotAccessMemory, + /* nvvm_isspacep_shared */ DoesNotAccessMemory, + /* nvvm_istypep_sampler */ DoesNotAccessMemory, + /* nvvm_istypep_surface */ DoesNotAccessMemory, + /* nvvm_istypep_texture */ DoesNotAccessMemory, + /* nvvm_ldg_global_f */ OnlyReadsMemory, + /* nvvm_ldg_global_i */ OnlyReadsMemory, + /* nvvm_ldg_global_p */ OnlyReadsMemory, + /* nvvm_ldu_global_f */ OnlyReadsMemory, + /* nvvm_ldu_global_i */ OnlyReadsMemory, + /* nvvm_ldu_global_p */ OnlyReadsMemory, + /* nvvm_lg2_approx_d */ DoesNotAccessMemory, + /* nvvm_lg2_approx_f */ DoesNotAccessMemory, + /* nvvm_lg2_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_ll2d_rm */ DoesNotAccessMemory, + /* nvvm_ll2d_rn */ DoesNotAccessMemory, + /* nvvm_ll2d_rp */ DoesNotAccessMemory, + /* nvvm_ll2d_rz */ DoesNotAccessMemory, + /* nvvm_ll2f_rm */ DoesNotAccessMemory, + /* nvvm_ll2f_rn */ DoesNotAccessMemory, + /* nvvm_ll2f_rp */ DoesNotAccessMemory, + /* nvvm_ll2f_rz */ DoesNotAccessMemory, + /* nvvm_lohi_i2d */ DoesNotAccessMemory, + /* nvvm_max_i */ DoesNotAccessMemory, + /* nvvm_max_ll */ DoesNotAccessMemory, + /* nvvm_max_ui */ DoesNotAccessMemory, + /* nvvm_max_ull */ DoesNotAccessMemory, + /* nvvm_membar_cta */ UnknownModRefBehavior, + /* nvvm_membar_gl */ UnknownModRefBehavior, + /* nvvm_membar_sys */ UnknownModRefBehavior, + /* nvvm_min_i */ DoesNotAccessMemory, + /* nvvm_min_ll */ DoesNotAccessMemory, + /* nvvm_min_ui */ DoesNotAccessMemory, + /* nvvm_min_ull */ DoesNotAccessMemory, + /* nvvm_move_double */ DoesNotAccessMemory, + /* nvvm_move_float */ DoesNotAccessMemory, + /* nvvm_move_i16 */ DoesNotAccessMemory, + /* nvvm_move_i32 */ DoesNotAccessMemory, + /* nvvm_move_i64 */ DoesNotAccessMemory, + /* nvvm_move_ptr */ DoesNotAccessMemory, + /* nvvm_mul24_i */ DoesNotAccessMemory, + /* nvvm_mul24_ui */ DoesNotAccessMemory, + /* nvvm_mul_rm_d */ DoesNotAccessMemory, + /* nvvm_mul_rm_f */ DoesNotAccessMemory, + /* nvvm_mul_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_mul_rn_d */ DoesNotAccessMemory, + /* nvvm_mul_rn_f */ DoesNotAccessMemory, + /* nvvm_mul_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_mul_rp_d */ DoesNotAccessMemory, + /* nvvm_mul_rp_f */ DoesNotAccessMemory, + /* nvvm_mul_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_mul_rz_d */ DoesNotAccessMemory, + /* nvvm_mul_rz_f */ DoesNotAccessMemory, + /* nvvm_mul_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_mulhi_i */ DoesNotAccessMemory, + /* nvvm_mulhi_ll */ DoesNotAccessMemory, + /* nvvm_mulhi_ui */ DoesNotAccessMemory, + /* nvvm_mulhi_ull */ DoesNotAccessMemory, + /* nvvm_popc_i */ DoesNotAccessMemory, + /* nvvm_popc_ll */ DoesNotAccessMemory, + /* nvvm_prmt */ DoesNotAccessMemory, + /* nvvm_ptr_constant_to_gen */ DoesNotAccessMemory, + /* nvvm_ptr_gen_to_constant */ DoesNotAccessMemory, + /* nvvm_ptr_gen_to_global */ DoesNotAccessMemory, + /* nvvm_ptr_gen_to_local */ DoesNotAccessMemory, + /* nvvm_ptr_gen_to_param */ DoesNotAccessMemory, + /* nvvm_ptr_gen_to_shared */ DoesNotAccessMemory, + /* nvvm_ptr_global_to_gen */ DoesNotAccessMemory, + /* nvvm_ptr_local_to_gen */ DoesNotAccessMemory, + /* nvvm_ptr_shared_to_gen */ DoesNotAccessMemory, + /* nvvm_rcp_approx_ftz_d */ DoesNotAccessMemory, + /* nvvm_rcp_rm_d */ DoesNotAccessMemory, + /* nvvm_rcp_rm_f */ DoesNotAccessMemory, + /* nvvm_rcp_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_rcp_rn_d */ DoesNotAccessMemory, + /* nvvm_rcp_rn_f */ DoesNotAccessMemory, + /* nvvm_rcp_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_rcp_rp_d */ DoesNotAccessMemory, + /* nvvm_rcp_rp_f */ DoesNotAccessMemory, + /* nvvm_rcp_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_rcp_rz_d */ DoesNotAccessMemory, + /* nvvm_rcp_rz_f */ DoesNotAccessMemory, + /* nvvm_rcp_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ctaid_x */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ctaid_y */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ctaid_z */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg0 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg1 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg10 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg11 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg12 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg13 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg14 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg15 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg16 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg17 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg18 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg19 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg2 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg20 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg21 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg22 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg23 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg24 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg25 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg26 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg27 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg28 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg29 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg3 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg30 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg31 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg4 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg5 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg6 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg7 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg8 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_envreg9 */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_nctaid_x */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_nctaid_y */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_nctaid_z */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ntid_x */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ntid_y */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_ntid_z */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_tid_x */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_tid_y */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_tid_z */ DoesNotAccessMemory, + /* nvvm_read_ptx_sreg_warpsize */ DoesNotAccessMemory, + /* nvvm_reflect */ DoesNotAccessMemory, + /* nvvm_rotate_b32 */ DoesNotAccessMemory, + /* nvvm_rotate_b64 */ DoesNotAccessMemory, + /* nvvm_rotate_right_b64 */ DoesNotAccessMemory, + /* nvvm_round_d */ DoesNotAccessMemory, + /* nvvm_round_f */ DoesNotAccessMemory, + /* nvvm_round_ftz_f */ DoesNotAccessMemory, + /* nvvm_rsqrt_approx_d */ DoesNotAccessMemory, + /* nvvm_rsqrt_approx_f */ DoesNotAccessMemory, + /* nvvm_rsqrt_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_sad_i */ DoesNotAccessMemory, + /* nvvm_sad_ui */ DoesNotAccessMemory, + /* nvvm_saturate_d */ DoesNotAccessMemory, + /* nvvm_saturate_f */ DoesNotAccessMemory, + /* nvvm_saturate_ftz_f */ DoesNotAccessMemory, + /* nvvm_sin_approx_f */ DoesNotAccessMemory, + /* nvvm_sin_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_approx_f */ DoesNotAccessMemory, + /* nvvm_sqrt_approx_ftz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rm_d */ DoesNotAccessMemory, + /* nvvm_sqrt_rm_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rm_ftz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rn_d */ DoesNotAccessMemory, + /* nvvm_sqrt_rn_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rn_ftz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rp_d */ DoesNotAccessMemory, + /* nvvm_sqrt_rp_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rp_ftz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rz_d */ DoesNotAccessMemory, + /* nvvm_sqrt_rz_f */ DoesNotAccessMemory, + /* nvvm_sqrt_rz_ftz_f */ DoesNotAccessMemory, + /* nvvm_suld_1d_array_i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_array_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_1d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_array_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_2d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_suld_3d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_suq_array_size */ DoesNotAccessMemory, + /* nvvm_suq_channel_data_type */ DoesNotAccessMemory, + /* nvvm_suq_channel_order */ DoesNotAccessMemory, + /* nvvm_suq_depth */ DoesNotAccessMemory, + /* nvvm_suq_height */ DoesNotAccessMemory, + /* nvvm_suq_width */ DoesNotAccessMemory, + /* nvvm_sust_b_1d_array_i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_array_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_1d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_array_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_2d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i64_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i64_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i64_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v2i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i16_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i16_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i32_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i32_zero */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i8_clamp */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_b_3d_v4i8_zero */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_1d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_array_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_2d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v2i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v2i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v2i8_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v4i16_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v4i32_trap */ UnknownModRefBehavior, + /* nvvm_sust_p_3d_v4i8_trap */ UnknownModRefBehavior, + /* nvvm_swap_lo_hi_b64 */ DoesNotAccessMemory, + /* nvvm_tex_1d_array_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_array_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_1d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_array_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_2d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_3d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_cube_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_array_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_1d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_array_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_2d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_grad_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_grad_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_grad_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4f32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4s32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_3d_v4u32_s32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_array_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_level_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_level_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_level_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tex_unified_cube_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_texsurf_handle */ DoesNotAccessMemory, + /* nvvm_texsurf_handle_internal */ DoesNotAccessMemory, + /* nvvm_tld4_a_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_a_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_a_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_b_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_b_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_b_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_g_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_g_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_g_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_r_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_r_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_r_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_a_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_a_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_a_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_b_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_b_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_b_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_g_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_g_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_g_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_r_2d_v4f32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_r_2d_v4s32_f32 */ UnknownModRefBehavior, + /* nvvm_tld4_unified_r_2d_v4u32_f32 */ UnknownModRefBehavior, + /* nvvm_trunc_d */ DoesNotAccessMemory, + /* nvvm_trunc_f */ DoesNotAccessMemory, + /* nvvm_trunc_ftz_f */ DoesNotAccessMemory, + /* nvvm_txq_array_size */ DoesNotAccessMemory, + /* nvvm_txq_channel_data_type */ DoesNotAccessMemory, + /* nvvm_txq_channel_order */ DoesNotAccessMemory, + /* nvvm_txq_depth */ DoesNotAccessMemory, + /* nvvm_txq_height */ DoesNotAccessMemory, + /* nvvm_txq_num_mipmap_levels */ DoesNotAccessMemory, + /* nvvm_txq_num_samples */ DoesNotAccessMemory, + /* nvvm_txq_width */ DoesNotAccessMemory, + /* nvvm_ui2d_rm */ DoesNotAccessMemory, + /* nvvm_ui2d_rn */ DoesNotAccessMemory, + /* nvvm_ui2d_rp */ DoesNotAccessMemory, + /* nvvm_ui2d_rz */ DoesNotAccessMemory, + /* nvvm_ui2f_rm */ DoesNotAccessMemory, + /* nvvm_ui2f_rn */ DoesNotAccessMemory, + /* nvvm_ui2f_rp */ DoesNotAccessMemory, + /* nvvm_ui2f_rz */ DoesNotAccessMemory, + /* nvvm_ull2d_rm */ DoesNotAccessMemory, + /* nvvm_ull2d_rn */ DoesNotAccessMemory, + /* nvvm_ull2d_rp */ DoesNotAccessMemory, + /* nvvm_ull2d_rz */ DoesNotAccessMemory, + /* nvvm_ull2f_rm */ DoesNotAccessMemory, + /* nvvm_ull2f_rn */ DoesNotAccessMemory, + /* nvvm_ull2f_rp */ DoesNotAccessMemory, + /* nvvm_ull2f_rz */ DoesNotAccessMemory, + /* objectsize */ DoesNotAccessMemory, + /* pcmarker */ UnknownModRefBehavior, + /* pow */ DoesNotAccessMemory, + /* powi */ DoesNotAccessMemory, + /* ppc_altivec_dss */ UnknownModRefBehavior, + /* ppc_altivec_dssall */ UnknownModRefBehavior, + /* ppc_altivec_dst */ UnknownModRefBehavior, + /* ppc_altivec_dstst */ UnknownModRefBehavior, + /* ppc_altivec_dststt */ UnknownModRefBehavior, + /* ppc_altivec_dstt */ UnknownModRefBehavior, + /* ppc_altivec_lvebx */ OnlyReadsArgumentPointees, + /* ppc_altivec_lvehx */ OnlyReadsArgumentPointees, + /* ppc_altivec_lvewx */ OnlyReadsArgumentPointees, + /* ppc_altivec_lvsl */ DoesNotAccessMemory, + /* ppc_altivec_lvsr */ DoesNotAccessMemory, + /* ppc_altivec_lvx */ OnlyReadsArgumentPointees, + /* ppc_altivec_lvxl */ OnlyReadsArgumentPointees, + /* ppc_altivec_mfvscr */ OnlyReadsMemory, + /* ppc_altivec_mtvscr */ UnknownModRefBehavior, + /* ppc_altivec_stvebx */ OnlyAccessesArgumentPointees, + /* ppc_altivec_stvehx */ OnlyAccessesArgumentPointees, + /* ppc_altivec_stvewx */ OnlyAccessesArgumentPointees, + /* ppc_altivec_stvx */ OnlyAccessesArgumentPointees, + /* ppc_altivec_stvxl */ OnlyAccessesArgumentPointees, + /* ppc_altivec_vaddcuw */ DoesNotAccessMemory, + /* ppc_altivec_vaddsbs */ DoesNotAccessMemory, + /* ppc_altivec_vaddshs */ DoesNotAccessMemory, + /* ppc_altivec_vaddsws */ DoesNotAccessMemory, + /* ppc_altivec_vaddubs */ DoesNotAccessMemory, + /* ppc_altivec_vadduhs */ DoesNotAccessMemory, + /* ppc_altivec_vadduws */ DoesNotAccessMemory, + /* ppc_altivec_vavgsb */ DoesNotAccessMemory, + /* ppc_altivec_vavgsh */ DoesNotAccessMemory, + /* ppc_altivec_vavgsw */ DoesNotAccessMemory, + /* ppc_altivec_vavgub */ DoesNotAccessMemory, + /* ppc_altivec_vavguh */ DoesNotAccessMemory, + /* ppc_altivec_vavguw */ DoesNotAccessMemory, + /* ppc_altivec_vcfsx */ DoesNotAccessMemory, + /* ppc_altivec_vcfux */ DoesNotAccessMemory, + /* ppc_altivec_vcmpbfp */ DoesNotAccessMemory, + /* ppc_altivec_vcmpbfp_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpeqfp */ DoesNotAccessMemory, + /* ppc_altivec_vcmpeqfp_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequb */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequb_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequh */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequh_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequw */ DoesNotAccessMemory, + /* ppc_altivec_vcmpequw_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgefp */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgefp_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtfp */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtfp_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsb */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsb_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsh */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsh_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsw */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtsw_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtub */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtub_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtuh */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtuh_p */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtuw */ DoesNotAccessMemory, + /* ppc_altivec_vcmpgtuw_p */ DoesNotAccessMemory, + /* ppc_altivec_vctsxs */ DoesNotAccessMemory, + /* ppc_altivec_vctuxs */ DoesNotAccessMemory, + /* ppc_altivec_vexptefp */ DoesNotAccessMemory, + /* ppc_altivec_vlogefp */ DoesNotAccessMemory, + /* ppc_altivec_vmaddfp */ DoesNotAccessMemory, + /* ppc_altivec_vmaxfp */ DoesNotAccessMemory, + /* ppc_altivec_vmaxsb */ DoesNotAccessMemory, + /* ppc_altivec_vmaxsh */ DoesNotAccessMemory, + /* ppc_altivec_vmaxsw */ DoesNotAccessMemory, + /* ppc_altivec_vmaxub */ DoesNotAccessMemory, + /* ppc_altivec_vmaxuh */ DoesNotAccessMemory, + /* ppc_altivec_vmaxuw */ DoesNotAccessMemory, + /* ppc_altivec_vmhaddshs */ DoesNotAccessMemory, + /* ppc_altivec_vmhraddshs */ DoesNotAccessMemory, + /* ppc_altivec_vminfp */ DoesNotAccessMemory, + /* ppc_altivec_vminsb */ DoesNotAccessMemory, + /* ppc_altivec_vminsh */ DoesNotAccessMemory, + /* ppc_altivec_vminsw */ DoesNotAccessMemory, + /* ppc_altivec_vminub */ DoesNotAccessMemory, + /* ppc_altivec_vminuh */ DoesNotAccessMemory, + /* ppc_altivec_vminuw */ DoesNotAccessMemory, + /* ppc_altivec_vmladduhm */ DoesNotAccessMemory, + /* ppc_altivec_vmsummbm */ DoesNotAccessMemory, + /* ppc_altivec_vmsumshm */ DoesNotAccessMemory, + /* ppc_altivec_vmsumshs */ DoesNotAccessMemory, + /* ppc_altivec_vmsumubm */ DoesNotAccessMemory, + /* ppc_altivec_vmsumuhm */ DoesNotAccessMemory, + /* ppc_altivec_vmsumuhs */ DoesNotAccessMemory, + /* ppc_altivec_vmulesb */ DoesNotAccessMemory, + /* ppc_altivec_vmulesh */ DoesNotAccessMemory, + /* ppc_altivec_vmuleub */ DoesNotAccessMemory, + /* ppc_altivec_vmuleuh */ DoesNotAccessMemory, + /* ppc_altivec_vmulosb */ DoesNotAccessMemory, + /* ppc_altivec_vmulosh */ DoesNotAccessMemory, + /* ppc_altivec_vmuloub */ DoesNotAccessMemory, + /* ppc_altivec_vmulouh */ DoesNotAccessMemory, + /* ppc_altivec_vnmsubfp */ DoesNotAccessMemory, + /* ppc_altivec_vperm */ DoesNotAccessMemory, + /* ppc_altivec_vpkpx */ DoesNotAccessMemory, + /* ppc_altivec_vpkshss */ DoesNotAccessMemory, + /* ppc_altivec_vpkshus */ DoesNotAccessMemory, + /* ppc_altivec_vpkswss */ DoesNotAccessMemory, + /* ppc_altivec_vpkswus */ DoesNotAccessMemory, + /* ppc_altivec_vpkuhus */ DoesNotAccessMemory, + /* ppc_altivec_vpkuwus */ DoesNotAccessMemory, + /* ppc_altivec_vrefp */ DoesNotAccessMemory, + /* ppc_altivec_vrfim */ DoesNotAccessMemory, + /* ppc_altivec_vrfin */ DoesNotAccessMemory, + /* ppc_altivec_vrfip */ DoesNotAccessMemory, + /* ppc_altivec_vrfiz */ DoesNotAccessMemory, + /* ppc_altivec_vrlb */ DoesNotAccessMemory, + /* ppc_altivec_vrlh */ DoesNotAccessMemory, + /* ppc_altivec_vrlw */ DoesNotAccessMemory, + /* ppc_altivec_vrsqrtefp */ DoesNotAccessMemory, + /* ppc_altivec_vsel */ DoesNotAccessMemory, + /* ppc_altivec_vsl */ DoesNotAccessMemory, + /* ppc_altivec_vslb */ DoesNotAccessMemory, + /* ppc_altivec_vslh */ DoesNotAccessMemory, + /* ppc_altivec_vslo */ DoesNotAccessMemory, + /* ppc_altivec_vslw */ DoesNotAccessMemory, + /* ppc_altivec_vsr */ DoesNotAccessMemory, + /* ppc_altivec_vsrab */ DoesNotAccessMemory, + /* ppc_altivec_vsrah */ DoesNotAccessMemory, + /* ppc_altivec_vsraw */ DoesNotAccessMemory, + /* ppc_altivec_vsrb */ DoesNotAccessMemory, + /* ppc_altivec_vsrh */ DoesNotAccessMemory, + /* ppc_altivec_vsro */ DoesNotAccessMemory, + /* ppc_altivec_vsrw */ DoesNotAccessMemory, + /* ppc_altivec_vsubcuw */ DoesNotAccessMemory, + /* ppc_altivec_vsubsbs */ DoesNotAccessMemory, + /* ppc_altivec_vsubshs */ DoesNotAccessMemory, + /* ppc_altivec_vsubsws */ DoesNotAccessMemory, + /* ppc_altivec_vsububs */ DoesNotAccessMemory, + /* ppc_altivec_vsubuhs */ DoesNotAccessMemory, + /* ppc_altivec_vsubuws */ DoesNotAccessMemory, + /* ppc_altivec_vsum2sws */ DoesNotAccessMemory, + /* ppc_altivec_vsum4sbs */ DoesNotAccessMemory, + /* ppc_altivec_vsum4shs */ DoesNotAccessMemory, + /* ppc_altivec_vsum4ubs */ DoesNotAccessMemory, + /* ppc_altivec_vsumsws */ DoesNotAccessMemory, + /* ppc_altivec_vupkhpx */ DoesNotAccessMemory, + /* ppc_altivec_vupkhsb */ DoesNotAccessMemory, + /* ppc_altivec_vupkhsh */ DoesNotAccessMemory, + /* ppc_altivec_vupklpx */ DoesNotAccessMemory, + /* ppc_altivec_vupklsb */ DoesNotAccessMemory, + /* ppc_altivec_vupklsh */ DoesNotAccessMemory, + /* ppc_dcba */ UnknownModRefBehavior, + /* ppc_dcbf */ UnknownModRefBehavior, + /* ppc_dcbi */ UnknownModRefBehavior, + /* ppc_dcbst */ UnknownModRefBehavior, + /* ppc_dcbt */ OnlyAccessesArgumentPointees, + /* ppc_dcbtst */ UnknownModRefBehavior, + /* ppc_dcbz */ UnknownModRefBehavior, + /* ppc_dcbzl */ UnknownModRefBehavior, + /* ppc_is_decremented_ctr_nonzero */ UnknownModRefBehavior, + /* ppc_mtctr */ UnknownModRefBehavior, + /* ppc_sync */ UnknownModRefBehavior, + /* prefetch */ OnlyAccessesArgumentPointees, + /* ptr_annotation */ UnknownModRefBehavior, + /* ptx_bar_sync */ UnknownModRefBehavior, + /* ptx_read_clock */ DoesNotAccessMemory, + /* ptx_read_clock64 */ DoesNotAccessMemory, + /* ptx_read_ctaid_w */ DoesNotAccessMemory, + /* ptx_read_ctaid_x */ DoesNotAccessMemory, + /* ptx_read_ctaid_y */ DoesNotAccessMemory, + /* ptx_read_ctaid_z */ DoesNotAccessMemory, + /* ptx_read_gridid */ DoesNotAccessMemory, + /* ptx_read_laneid */ DoesNotAccessMemory, + /* ptx_read_lanemask_eq */ DoesNotAccessMemory, + /* ptx_read_lanemask_ge */ DoesNotAccessMemory, + /* ptx_read_lanemask_gt */ DoesNotAccessMemory, + /* ptx_read_lanemask_le */ DoesNotAccessMemory, + /* ptx_read_lanemask_lt */ DoesNotAccessMemory, + /* ptx_read_nctaid_w */ DoesNotAccessMemory, + /* ptx_read_nctaid_x */ DoesNotAccessMemory, + /* ptx_read_nctaid_y */ DoesNotAccessMemory, + /* ptx_read_nctaid_z */ DoesNotAccessMemory, + /* ptx_read_nsmid */ DoesNotAccessMemory, + /* ptx_read_ntid_w */ DoesNotAccessMemory, + /* ptx_read_ntid_x */ DoesNotAccessMemory, + /* ptx_read_ntid_y */ DoesNotAccessMemory, + /* ptx_read_ntid_z */ DoesNotAccessMemory, + /* ptx_read_nwarpid */ DoesNotAccessMemory, + /* ptx_read_pm0 */ DoesNotAccessMemory, + /* ptx_read_pm1 */ DoesNotAccessMemory, + /* ptx_read_pm2 */ DoesNotAccessMemory, + /* ptx_read_pm3 */ DoesNotAccessMemory, + /* ptx_read_smid */ DoesNotAccessMemory, + /* ptx_read_tid_w */ DoesNotAccessMemory, + /* ptx_read_tid_x */ DoesNotAccessMemory, + /* ptx_read_tid_y */ DoesNotAccessMemory, + /* ptx_read_tid_z */ DoesNotAccessMemory, + /* ptx_read_warpid */ DoesNotAccessMemory, + /* r600_read_global_size_x */ DoesNotAccessMemory, + /* r600_read_global_size_y */ DoesNotAccessMemory, + /* r600_read_global_size_z */ DoesNotAccessMemory, + /* r600_read_local_size_x */ DoesNotAccessMemory, + /* r600_read_local_size_y */ DoesNotAccessMemory, + /* r600_read_local_size_z */ DoesNotAccessMemory, + /* r600_read_ngroups_x */ DoesNotAccessMemory, + /* r600_read_ngroups_y */ DoesNotAccessMemory, + /* r600_read_ngroups_z */ DoesNotAccessMemory, + /* r600_read_tgid_x */ DoesNotAccessMemory, + /* r600_read_tgid_y */ DoesNotAccessMemory, + /* r600_read_tgid_z */ DoesNotAccessMemory, + /* r600_read_tidig_x */ DoesNotAccessMemory, + /* r600_read_tidig_y */ DoesNotAccessMemory, + /* r600_read_tidig_z */ DoesNotAccessMemory, + /* read_register */ DoesNotAccessMemory, + /* readcyclecounter */ UnknownModRefBehavior, + /* returnaddress */ DoesNotAccessMemory, + /* rint */ DoesNotAccessMemory, + /* round */ DoesNotAccessMemory, + /* sadd_with_overflow */ DoesNotAccessMemory, + /* setjmp */ UnknownModRefBehavior, + /* siglongjmp */ UnknownModRefBehavior, + /* sigsetjmp */ UnknownModRefBehavior, + /* sin */ DoesNotAccessMemory, + /* smul_with_overflow */ DoesNotAccessMemory, + /* sqrt */ DoesNotAccessMemory, + /* ssub_with_overflow */ DoesNotAccessMemory, + /* stackprotector */ UnknownModRefBehavior, + /* stackprotectorcheck */ OnlyAccessesArgumentPointees, + /* stackrestore */ UnknownModRefBehavior, + /* stacksave */ UnknownModRefBehavior, + /* trap */ UnknownModRefBehavior, + /* trunc */ DoesNotAccessMemory, + /* uadd_with_overflow */ DoesNotAccessMemory, + /* umul_with_overflow */ DoesNotAccessMemory, + /* usub_with_overflow */ DoesNotAccessMemory, + /* vacopy */ UnknownModRefBehavior, + /* vaend */ UnknownModRefBehavior, + /* var_annotation */ UnknownModRefBehavior, + /* vastart */ UnknownModRefBehavior, + /* write_register */ UnknownModRefBehavior, + /* x86_3dnow_pavgusb */ DoesNotAccessMemory, + /* x86_3dnow_pf2id */ DoesNotAccessMemory, + /* x86_3dnow_pfacc */ DoesNotAccessMemory, + /* x86_3dnow_pfadd */ DoesNotAccessMemory, + /* x86_3dnow_pfcmpeq */ DoesNotAccessMemory, + /* x86_3dnow_pfcmpge */ DoesNotAccessMemory, + /* x86_3dnow_pfcmpgt */ DoesNotAccessMemory, + /* x86_3dnow_pfmax */ DoesNotAccessMemory, + /* x86_3dnow_pfmin */ DoesNotAccessMemory, + /* x86_3dnow_pfmul */ DoesNotAccessMemory, + /* x86_3dnow_pfrcp */ DoesNotAccessMemory, + /* x86_3dnow_pfrcpit1 */ DoesNotAccessMemory, + /* x86_3dnow_pfrcpit2 */ DoesNotAccessMemory, + /* x86_3dnow_pfrsqit1 */ DoesNotAccessMemory, + /* x86_3dnow_pfrsqrt */ DoesNotAccessMemory, + /* x86_3dnow_pfsub */ DoesNotAccessMemory, + /* x86_3dnow_pfsubr */ DoesNotAccessMemory, + /* x86_3dnow_pi2fd */ DoesNotAccessMemory, + /* x86_3dnow_pmulhrw */ DoesNotAccessMemory, + /* x86_3dnowa_pf2iw */ DoesNotAccessMemory, + /* x86_3dnowa_pfnacc */ DoesNotAccessMemory, + /* x86_3dnowa_pfpnacc */ DoesNotAccessMemory, + /* x86_3dnowa_pi2fw */ DoesNotAccessMemory, + /* x86_3dnowa_pswapd */ DoesNotAccessMemory, + /* x86_aesni_aesdec */ DoesNotAccessMemory, + /* x86_aesni_aesdeclast */ DoesNotAccessMemory, + /* x86_aesni_aesenc */ DoesNotAccessMemory, + /* x86_aesni_aesenclast */ DoesNotAccessMemory, + /* x86_aesni_aesimc */ DoesNotAccessMemory, + /* x86_aesni_aeskeygenassist */ DoesNotAccessMemory, + /* x86_avx2_gather_d_d */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_d_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_pd */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_pd_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_ps */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_ps_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_q */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_d_q_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_d */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_d_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_pd */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_pd_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_ps */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_ps_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_q */ OnlyReadsArgumentPointees, + /* x86_avx2_gather_q_q_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_maskload_d */ OnlyReadsArgumentPointees, + /* x86_avx2_maskload_d_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_maskload_q */ OnlyReadsArgumentPointees, + /* x86_avx2_maskload_q_256 */ OnlyReadsArgumentPointees, + /* x86_avx2_maskstore_d */ OnlyAccessesArgumentPointees, + /* x86_avx2_maskstore_d_256 */ OnlyAccessesArgumentPointees, + /* x86_avx2_maskstore_q */ OnlyAccessesArgumentPointees, + /* x86_avx2_maskstore_q_256 */ OnlyAccessesArgumentPointees, + /* x86_avx2_movntdqa */ OnlyReadsMemory, + /* x86_avx2_mpsadbw */ DoesNotAccessMemory, + /* x86_avx2_pabs_b */ DoesNotAccessMemory, + /* x86_avx2_pabs_d */ DoesNotAccessMemory, + /* x86_avx2_pabs_w */ DoesNotAccessMemory, + /* x86_avx2_packssdw */ DoesNotAccessMemory, + /* x86_avx2_packsswb */ DoesNotAccessMemory, + /* x86_avx2_packusdw */ DoesNotAccessMemory, + /* x86_avx2_packuswb */ DoesNotAccessMemory, + /* x86_avx2_padds_b */ DoesNotAccessMemory, + /* x86_avx2_padds_w */ DoesNotAccessMemory, + /* x86_avx2_paddus_b */ DoesNotAccessMemory, + /* x86_avx2_paddus_w */ DoesNotAccessMemory, + /* x86_avx2_pavg_b */ DoesNotAccessMemory, + /* x86_avx2_pavg_w */ DoesNotAccessMemory, + /* x86_avx2_pblendd_128 */ DoesNotAccessMemory, + /* x86_avx2_pblendd_256 */ DoesNotAccessMemory, + /* x86_avx2_pblendvb */ DoesNotAccessMemory, + /* x86_avx2_pblendw */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastb_128 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastb_256 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastd_128 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastd_256 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastq_128 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastq_256 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastw_128 */ DoesNotAccessMemory, + /* x86_avx2_pbroadcastw_256 */ DoesNotAccessMemory, + /* x86_avx2_permd */ DoesNotAccessMemory, + /* x86_avx2_permps */ DoesNotAccessMemory, + /* x86_avx2_phadd_d */ DoesNotAccessMemory, + /* x86_avx2_phadd_sw */ DoesNotAccessMemory, + /* x86_avx2_phadd_w */ DoesNotAccessMemory, + /* x86_avx2_phsub_d */ DoesNotAccessMemory, + /* x86_avx2_phsub_sw */ DoesNotAccessMemory, + /* x86_avx2_phsub_w */ DoesNotAccessMemory, + /* x86_avx2_pmadd_ub_sw */ DoesNotAccessMemory, + /* x86_avx2_pmadd_wd */ DoesNotAccessMemory, + /* x86_avx2_pmaxs_b */ DoesNotAccessMemory, + /* x86_avx2_pmaxs_d */ DoesNotAccessMemory, + /* x86_avx2_pmaxs_w */ DoesNotAccessMemory, + /* x86_avx2_pmaxu_b */ DoesNotAccessMemory, + /* x86_avx2_pmaxu_d */ DoesNotAccessMemory, + /* x86_avx2_pmaxu_w */ DoesNotAccessMemory, + /* x86_avx2_pmins_b */ DoesNotAccessMemory, + /* x86_avx2_pmins_d */ DoesNotAccessMemory, + /* x86_avx2_pmins_w */ DoesNotAccessMemory, + /* x86_avx2_pminu_b */ DoesNotAccessMemory, + /* x86_avx2_pminu_d */ DoesNotAccessMemory, + /* x86_avx2_pminu_w */ DoesNotAccessMemory, + /* x86_avx2_pmovmskb */ DoesNotAccessMemory, + /* x86_avx2_pmovsxbd */ DoesNotAccessMemory, + /* x86_avx2_pmovsxbq */ DoesNotAccessMemory, + /* x86_avx2_pmovsxbw */ DoesNotAccessMemory, + /* x86_avx2_pmovsxdq */ DoesNotAccessMemory, + /* x86_avx2_pmovsxwd */ DoesNotAccessMemory, + /* x86_avx2_pmovsxwq */ DoesNotAccessMemory, + /* x86_avx2_pmovzxbd */ DoesNotAccessMemory, + /* x86_avx2_pmovzxbq */ DoesNotAccessMemory, + /* x86_avx2_pmovzxbw */ DoesNotAccessMemory, + /* x86_avx2_pmovzxdq */ DoesNotAccessMemory, + /* x86_avx2_pmovzxwd */ DoesNotAccessMemory, + /* x86_avx2_pmovzxwq */ DoesNotAccessMemory, + /* x86_avx2_pmul_dq */ DoesNotAccessMemory, + /* x86_avx2_pmul_hr_sw */ DoesNotAccessMemory, + /* x86_avx2_pmulh_w */ DoesNotAccessMemory, + /* x86_avx2_pmulhu_w */ DoesNotAccessMemory, + /* x86_avx2_pmulu_dq */ DoesNotAccessMemory, + /* x86_avx2_psad_bw */ DoesNotAccessMemory, + /* x86_avx2_pshuf_b */ DoesNotAccessMemory, + /* x86_avx2_psign_b */ DoesNotAccessMemory, + /* x86_avx2_psign_d */ DoesNotAccessMemory, + /* x86_avx2_psign_w */ DoesNotAccessMemory, + /* x86_avx2_psll_d */ DoesNotAccessMemory, + /* x86_avx2_psll_dq */ DoesNotAccessMemory, + /* x86_avx2_psll_dq_bs */ DoesNotAccessMemory, + /* x86_avx2_psll_q */ DoesNotAccessMemory, + /* x86_avx2_psll_w */ DoesNotAccessMemory, + /* x86_avx2_pslli_d */ DoesNotAccessMemory, + /* x86_avx2_pslli_q */ DoesNotAccessMemory, + /* x86_avx2_pslli_w */ DoesNotAccessMemory, + /* x86_avx2_psllv_d */ DoesNotAccessMemory, + /* x86_avx2_psllv_d_256 */ DoesNotAccessMemory, + /* x86_avx2_psllv_q */ DoesNotAccessMemory, + /* x86_avx2_psllv_q_256 */ DoesNotAccessMemory, + /* x86_avx2_psra_d */ DoesNotAccessMemory, + /* x86_avx2_psra_w */ DoesNotAccessMemory, + /* x86_avx2_psrai_d */ DoesNotAccessMemory, + /* x86_avx2_psrai_w */ DoesNotAccessMemory, + /* x86_avx2_psrav_d */ DoesNotAccessMemory, + /* x86_avx2_psrav_d_256 */ DoesNotAccessMemory, + /* x86_avx2_psrl_d */ DoesNotAccessMemory, + /* x86_avx2_psrl_dq */ DoesNotAccessMemory, + /* x86_avx2_psrl_dq_bs */ DoesNotAccessMemory, + /* x86_avx2_psrl_q */ DoesNotAccessMemory, + /* x86_avx2_psrl_w */ DoesNotAccessMemory, + /* x86_avx2_psrli_d */ DoesNotAccessMemory, + /* x86_avx2_psrli_q */ DoesNotAccessMemory, + /* x86_avx2_psrli_w */ DoesNotAccessMemory, + /* x86_avx2_psrlv_d */ DoesNotAccessMemory, + /* x86_avx2_psrlv_d_256 */ DoesNotAccessMemory, + /* x86_avx2_psrlv_q */ DoesNotAccessMemory, + /* x86_avx2_psrlv_q_256 */ DoesNotAccessMemory, + /* x86_avx2_psubs_b */ DoesNotAccessMemory, + /* x86_avx2_psubs_w */ DoesNotAccessMemory, + /* x86_avx2_psubus_b */ DoesNotAccessMemory, + /* x86_avx2_psubus_w */ DoesNotAccessMemory, + /* x86_avx2_vbroadcast_sd_pd_256 */ DoesNotAccessMemory, + /* x86_avx2_vbroadcast_ss_ps */ DoesNotAccessMemory, + /* x86_avx2_vbroadcast_ss_ps_256 */ DoesNotAccessMemory, + /* x86_avx2_vbroadcasti128 */ OnlyReadsArgumentPointees, + /* x86_avx2_vextracti128 */ DoesNotAccessMemory, + /* x86_avx2_vinserti128 */ DoesNotAccessMemory, + /* x86_avx2_vperm2i128 */ DoesNotAccessMemory, + /* x86_avx512_cvtsd2usi */ DoesNotAccessMemory, + /* x86_avx512_cvtsd2usi64 */ DoesNotAccessMemory, + /* x86_avx512_cvtss2usi */ DoesNotAccessMemory, + /* x86_avx512_cvtss2usi64 */ DoesNotAccessMemory, + /* x86_avx512_cvttsd2usi */ DoesNotAccessMemory, + /* x86_avx512_cvttsd2usi64 */ DoesNotAccessMemory, + /* x86_avx512_cvttss2usi */ DoesNotAccessMemory, + /* x86_avx512_cvttss2usi64 */ DoesNotAccessMemory, + /* x86_avx512_cvtusi2sd */ DoesNotAccessMemory, + /* x86_avx512_cvtusi2ss */ DoesNotAccessMemory, + /* x86_avx512_cvtusi642sd */ DoesNotAccessMemory, + /* x86_avx512_cvtusi642ss */ DoesNotAccessMemory, + /* x86_avx512_gather_dpd_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_dpi_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_dpq_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_dps_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_qpd_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_qpi_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_qpq_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gather_qps_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_gatherpf_dpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_gatherpf_dps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_gatherpf_qpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_gatherpf_qps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_kand_w */ DoesNotAccessMemory, + /* x86_avx512_kandn_w */ DoesNotAccessMemory, + /* x86_avx512_knot_w */ DoesNotAccessMemory, + /* x86_avx512_kor_w */ DoesNotAccessMemory, + /* x86_avx512_kortestc_w */ DoesNotAccessMemory, + /* x86_avx512_kortestz_w */ DoesNotAccessMemory, + /* x86_avx512_kunpck_bw */ DoesNotAccessMemory, + /* x86_avx512_kxnor_w */ DoesNotAccessMemory, + /* x86_avx512_kxor_w */ DoesNotAccessMemory, + /* x86_avx512_mask_blend_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_blend_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_blend_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_blend_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cmp_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cmp_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_conflict_d_512 */ UnknownModRefBehavior, + /* x86_avx512_mask_conflict_q_512 */ UnknownModRefBehavior, + /* x86_avx512_mask_cvtdq2pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtdq2ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtpd2dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtpd2ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtpd2udq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtps2dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtps2udq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvttpd2dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvttpd2udq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvttps2dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvttps2udq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtudq2pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_cvtudq2ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_loadu_d_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_mask_loadu_pd_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_mask_loadu_ps_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_mask_loadu_q_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_mask_lzcnt_d_512 */ UnknownModRefBehavior, + /* x86_avx512_mask_lzcnt_q_512 */ UnknownModRefBehavior, + /* x86_avx512_mask_max_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_max_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_min_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_min_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pabs_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pabs_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pand_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pand_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pbroadcast_d_gpr_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pbroadcast_q_gpr_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pbroadcast_q_mem_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pcmpeq_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pcmpeq_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmaxs_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmaxs_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmaxu_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmaxu_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmins_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmins_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pminu_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pminu_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmul_dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_pmulu_dq_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_ptestm_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_ptestm_q_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_rndscale_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_rndscale_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_storeu_d_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_mask_storeu_pd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_mask_storeu_ps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_mask_storeu_q_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_mask_vcvtph2ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_vcvtps2ph_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_vpermt_d_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_vpermt_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_vpermt_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_mask_vpermt_q_512 */ DoesNotAccessMemory, + /* x86_avx512_movntdqa */ OnlyReadsMemory, + /* x86_avx512_pbroadcastd_512 */ DoesNotAccessMemory, + /* x86_avx512_pbroadcastd_i32_512 */ DoesNotAccessMemory, + /* x86_avx512_pbroadcastq_512 */ DoesNotAccessMemory, + /* x86_avx512_pbroadcastq_i64_512 */ DoesNotAccessMemory, + /* x86_avx512_pmovzxbd */ DoesNotAccessMemory, + /* x86_avx512_pmovzxbq */ DoesNotAccessMemory, + /* x86_avx512_pmovzxdq */ DoesNotAccessMemory, + /* x86_avx512_pmovzxwd */ DoesNotAccessMemory, + /* x86_avx512_pmovzxwq */ DoesNotAccessMemory, + /* x86_avx512_psll_dq */ DoesNotAccessMemory, + /* x86_avx512_psll_dq_bs */ DoesNotAccessMemory, + /* x86_avx512_psrl_dq */ DoesNotAccessMemory, + /* x86_avx512_psrl_dq_bs */ DoesNotAccessMemory, + /* x86_avx512_rcp14_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_rcp14_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_rcp14_sd */ DoesNotAccessMemory, + /* x86_avx512_rcp14_ss */ DoesNotAccessMemory, + /* x86_avx512_rcp28_pd */ DoesNotAccessMemory, + /* x86_avx512_rcp28_ps */ DoesNotAccessMemory, + /* x86_avx512_rcp28_sd */ DoesNotAccessMemory, + /* x86_avx512_rcp28_ss */ DoesNotAccessMemory, + /* x86_avx512_rndscale_sd */ DoesNotAccessMemory, + /* x86_avx512_rndscale_ss */ DoesNotAccessMemory, + /* x86_avx512_rsqrt14_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_rsqrt14_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_rsqrt14_sd */ DoesNotAccessMemory, + /* x86_avx512_rsqrt14_ss */ DoesNotAccessMemory, + /* x86_avx512_rsqrt28_pd */ DoesNotAccessMemory, + /* x86_avx512_rsqrt28_ps */ DoesNotAccessMemory, + /* x86_avx512_rsqrt28_sd */ DoesNotAccessMemory, + /* x86_avx512_rsqrt28_ss */ DoesNotAccessMemory, + /* x86_avx512_scatter_dpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_dpi_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_dpq_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_dps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_qpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_qpi_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_qpq_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatter_qps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatterpf_dpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatterpf_dps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatterpf_qpd_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_scatterpf_qps_512 */ OnlyAccessesArgumentPointees, + /* x86_avx512_sqrt_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_sqrt_ps_512 */ DoesNotAccessMemory, + /* x86_avx512_sqrt_sd */ DoesNotAccessMemory, + /* x86_avx512_sqrt_ss */ DoesNotAccessMemory, + /* x86_avx512_vbroadcast_sd_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_vbroadcast_sd_pd_512 */ DoesNotAccessMemory, + /* x86_avx512_vbroadcast_ss_512 */ OnlyReadsArgumentPointees, + /* x86_avx512_vbroadcast_ss_ps_512 */ DoesNotAccessMemory, + /* x86_avx_addsub_pd_256 */ DoesNotAccessMemory, + /* x86_avx_addsub_ps_256 */ DoesNotAccessMemory, + /* x86_avx_blend_pd_256 */ DoesNotAccessMemory, + /* x86_avx_blend_ps_256 */ DoesNotAccessMemory, + /* x86_avx_blendv_pd_256 */ DoesNotAccessMemory, + /* x86_avx_blendv_ps_256 */ DoesNotAccessMemory, + /* x86_avx_cmp_pd_256 */ DoesNotAccessMemory, + /* x86_avx_cmp_ps_256 */ DoesNotAccessMemory, + /* x86_avx_cvt_pd2_ps_256 */ DoesNotAccessMemory, + /* x86_avx_cvt_pd2dq_256 */ DoesNotAccessMemory, + /* x86_avx_cvt_ps2_pd_256 */ DoesNotAccessMemory, + /* x86_avx_cvt_ps2dq_256 */ DoesNotAccessMemory, + /* x86_avx_cvtdq2_pd_256 */ DoesNotAccessMemory, + /* x86_avx_cvtdq2_ps_256 */ DoesNotAccessMemory, + /* x86_avx_cvtt_pd2dq_256 */ DoesNotAccessMemory, + /* x86_avx_cvtt_ps2dq_256 */ DoesNotAccessMemory, + /* x86_avx_dp_ps_256 */ DoesNotAccessMemory, + /* x86_avx_hadd_pd_256 */ DoesNotAccessMemory, + /* x86_avx_hadd_ps_256 */ DoesNotAccessMemory, + /* x86_avx_hsub_pd_256 */ DoesNotAccessMemory, + /* x86_avx_hsub_ps_256 */ DoesNotAccessMemory, + /* x86_avx_ldu_dq_256 */ OnlyReadsMemory, + /* x86_avx_maskload_pd */ OnlyReadsArgumentPointees, + /* x86_avx_maskload_pd_256 */ OnlyReadsArgumentPointees, + /* x86_avx_maskload_ps */ OnlyReadsArgumentPointees, + /* x86_avx_maskload_ps_256 */ OnlyReadsArgumentPointees, + /* x86_avx_maskstore_pd */ OnlyAccessesArgumentPointees, + /* x86_avx_maskstore_pd_256 */ OnlyAccessesArgumentPointees, + /* x86_avx_maskstore_ps */ OnlyAccessesArgumentPointees, + /* x86_avx_maskstore_ps_256 */ OnlyAccessesArgumentPointees, + /* x86_avx_max_pd_256 */ DoesNotAccessMemory, + /* x86_avx_max_ps_256 */ DoesNotAccessMemory, + /* x86_avx_min_pd_256 */ DoesNotAccessMemory, + /* x86_avx_min_ps_256 */ DoesNotAccessMemory, + /* x86_avx_movmsk_pd_256 */ DoesNotAccessMemory, + /* x86_avx_movmsk_ps_256 */ DoesNotAccessMemory, + /* x86_avx_ptestc_256 */ DoesNotAccessMemory, + /* x86_avx_ptestnzc_256 */ DoesNotAccessMemory, + /* x86_avx_ptestz_256 */ DoesNotAccessMemory, + /* x86_avx_rcp_ps_256 */ DoesNotAccessMemory, + /* x86_avx_round_pd_256 */ DoesNotAccessMemory, + /* x86_avx_round_ps_256 */ DoesNotAccessMemory, + /* x86_avx_rsqrt_ps_256 */ DoesNotAccessMemory, + /* x86_avx_sqrt_pd_256 */ DoesNotAccessMemory, + /* x86_avx_sqrt_ps_256 */ DoesNotAccessMemory, + /* x86_avx_storeu_dq_256 */ OnlyAccessesArgumentPointees, + /* x86_avx_storeu_pd_256 */ OnlyAccessesArgumentPointees, + /* x86_avx_storeu_ps_256 */ OnlyAccessesArgumentPointees, + /* x86_avx_vbroadcastf128_pd_256 */ OnlyReadsArgumentPointees, + /* x86_avx_vbroadcastf128_ps_256 */ OnlyReadsArgumentPointees, + /* x86_avx_vextractf128_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vextractf128_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vextractf128_si_256 */ DoesNotAccessMemory, + /* x86_avx_vinsertf128_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vinsertf128_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vinsertf128_si_256 */ DoesNotAccessMemory, + /* x86_avx_vperm2f128_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vperm2f128_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vperm2f128_si_256 */ DoesNotAccessMemory, + /* x86_avx_vpermilvar_pd */ DoesNotAccessMemory, + /* x86_avx_vpermilvar_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vpermilvar_ps */ DoesNotAccessMemory, + /* x86_avx_vpermilvar_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vtestc_pd */ DoesNotAccessMemory, + /* x86_avx_vtestc_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vtestc_ps */ DoesNotAccessMemory, + /* x86_avx_vtestc_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vtestnzc_pd */ DoesNotAccessMemory, + /* x86_avx_vtestnzc_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vtestnzc_ps */ DoesNotAccessMemory, + /* x86_avx_vtestnzc_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vtestz_pd */ DoesNotAccessMemory, + /* x86_avx_vtestz_pd_256 */ DoesNotAccessMemory, + /* x86_avx_vtestz_ps */ DoesNotAccessMemory, + /* x86_avx_vtestz_ps_256 */ DoesNotAccessMemory, + /* x86_avx_vzeroall */ UnknownModRefBehavior, + /* x86_avx_vzeroupper */ UnknownModRefBehavior, + /* x86_bmi_bextr_32 */ DoesNotAccessMemory, + /* x86_bmi_bextr_64 */ DoesNotAccessMemory, + /* x86_bmi_bzhi_32 */ DoesNotAccessMemory, + /* x86_bmi_bzhi_64 */ DoesNotAccessMemory, + /* x86_bmi_pdep_32 */ DoesNotAccessMemory, + /* x86_bmi_pdep_64 */ DoesNotAccessMemory, + /* x86_bmi_pext_32 */ DoesNotAccessMemory, + /* x86_bmi_pext_64 */ DoesNotAccessMemory, + /* x86_fma_vfmadd_pd */ DoesNotAccessMemory, + /* x86_fma_vfmadd_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfmadd_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfmadd_ps */ DoesNotAccessMemory, + /* x86_fma_vfmadd_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfmadd_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfmadd_sd */ DoesNotAccessMemory, + /* x86_fma_vfmadd_ss */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_pd */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_ps */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfmaddsub_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfmsub_pd */ DoesNotAccessMemory, + /* x86_fma_vfmsub_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfmsub_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfmsub_ps */ DoesNotAccessMemory, + /* x86_fma_vfmsub_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfmsub_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfmsub_sd */ DoesNotAccessMemory, + /* x86_fma_vfmsub_ss */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_pd */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_ps */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfmsubadd_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_pd */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_ps */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_sd */ DoesNotAccessMemory, + /* x86_fma_vfnmadd_ss */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_pd */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_pd_256 */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_pd_512 */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_ps */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_ps_256 */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_ps_512 */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_sd */ DoesNotAccessMemory, + /* x86_fma_vfnmsub_ss */ DoesNotAccessMemory, + /* x86_int */ UnknownModRefBehavior, + /* x86_mmx_emms */ UnknownModRefBehavior, + /* x86_mmx_femms */ UnknownModRefBehavior, + /* x86_mmx_maskmovq */ UnknownModRefBehavior, + /* x86_mmx_movnt_dq */ UnknownModRefBehavior, + /* x86_mmx_packssdw */ DoesNotAccessMemory, + /* x86_mmx_packsswb */ DoesNotAccessMemory, + /* x86_mmx_packuswb */ DoesNotAccessMemory, + /* x86_mmx_padd_b */ DoesNotAccessMemory, + /* x86_mmx_padd_d */ DoesNotAccessMemory, + /* x86_mmx_padd_q */ DoesNotAccessMemory, + /* x86_mmx_padd_w */ DoesNotAccessMemory, + /* x86_mmx_padds_b */ DoesNotAccessMemory, + /* x86_mmx_padds_w */ DoesNotAccessMemory, + /* x86_mmx_paddus_b */ DoesNotAccessMemory, + /* x86_mmx_paddus_w */ DoesNotAccessMemory, + /* x86_mmx_palignr_b */ DoesNotAccessMemory, + /* x86_mmx_pand */ DoesNotAccessMemory, + /* x86_mmx_pandn */ DoesNotAccessMemory, + /* x86_mmx_pavg_b */ DoesNotAccessMemory, + /* x86_mmx_pavg_w */ DoesNotAccessMemory, + /* x86_mmx_pcmpeq_b */ DoesNotAccessMemory, + /* x86_mmx_pcmpeq_d */ DoesNotAccessMemory, + /* x86_mmx_pcmpeq_w */ DoesNotAccessMemory, + /* x86_mmx_pcmpgt_b */ DoesNotAccessMemory, + /* x86_mmx_pcmpgt_d */ DoesNotAccessMemory, + /* x86_mmx_pcmpgt_w */ DoesNotAccessMemory, + /* x86_mmx_pextr_w */ DoesNotAccessMemory, + /* x86_mmx_pinsr_w */ DoesNotAccessMemory, + /* x86_mmx_pmadd_wd */ DoesNotAccessMemory, + /* x86_mmx_pmaxs_w */ DoesNotAccessMemory, + /* x86_mmx_pmaxu_b */ DoesNotAccessMemory, + /* x86_mmx_pmins_w */ DoesNotAccessMemory, + /* x86_mmx_pminu_b */ DoesNotAccessMemory, + /* x86_mmx_pmovmskb */ DoesNotAccessMemory, + /* x86_mmx_pmulh_w */ DoesNotAccessMemory, + /* x86_mmx_pmulhu_w */ DoesNotAccessMemory, + /* x86_mmx_pmull_w */ DoesNotAccessMemory, + /* x86_mmx_pmulu_dq */ DoesNotAccessMemory, + /* x86_mmx_por */ DoesNotAccessMemory, + /* x86_mmx_psad_bw */ DoesNotAccessMemory, + /* x86_mmx_psll_d */ DoesNotAccessMemory, + /* x86_mmx_psll_q */ DoesNotAccessMemory, + /* x86_mmx_psll_w */ DoesNotAccessMemory, + /* x86_mmx_pslli_d */ DoesNotAccessMemory, + /* x86_mmx_pslli_q */ DoesNotAccessMemory, + /* x86_mmx_pslli_w */ DoesNotAccessMemory, + /* x86_mmx_psra_d */ DoesNotAccessMemory, + /* x86_mmx_psra_w */ DoesNotAccessMemory, + /* x86_mmx_psrai_d */ DoesNotAccessMemory, + /* x86_mmx_psrai_w */ DoesNotAccessMemory, + /* x86_mmx_psrl_d */ DoesNotAccessMemory, + /* x86_mmx_psrl_q */ DoesNotAccessMemory, + /* x86_mmx_psrl_w */ DoesNotAccessMemory, + /* x86_mmx_psrli_d */ DoesNotAccessMemory, + /* x86_mmx_psrli_q */ DoesNotAccessMemory, + /* x86_mmx_psrli_w */ DoesNotAccessMemory, + /* x86_mmx_psub_b */ DoesNotAccessMemory, + /* x86_mmx_psub_d */ DoesNotAccessMemory, + /* x86_mmx_psub_q */ DoesNotAccessMemory, + /* x86_mmx_psub_w */ DoesNotAccessMemory, + /* x86_mmx_psubs_b */ DoesNotAccessMemory, + /* x86_mmx_psubs_w */ DoesNotAccessMemory, + /* x86_mmx_psubus_b */ DoesNotAccessMemory, + /* x86_mmx_psubus_w */ DoesNotAccessMemory, + /* x86_mmx_punpckhbw */ DoesNotAccessMemory, + /* x86_mmx_punpckhdq */ DoesNotAccessMemory, + /* x86_mmx_punpckhwd */ DoesNotAccessMemory, + /* x86_mmx_punpcklbw */ DoesNotAccessMemory, + /* x86_mmx_punpckldq */ DoesNotAccessMemory, + /* x86_mmx_punpcklwd */ DoesNotAccessMemory, + /* x86_mmx_pxor */ DoesNotAccessMemory, + /* x86_pclmulqdq */ DoesNotAccessMemory, + /* x86_rdfsbase_32 */ UnknownModRefBehavior, + /* x86_rdfsbase_64 */ UnknownModRefBehavior, + /* x86_rdgsbase_32 */ UnknownModRefBehavior, + /* x86_rdgsbase_64 */ UnknownModRefBehavior, + /* x86_rdpmc */ UnknownModRefBehavior, + /* x86_rdrand_16 */ UnknownModRefBehavior, + /* x86_rdrand_32 */ UnknownModRefBehavior, + /* x86_rdrand_64 */ UnknownModRefBehavior, + /* x86_rdseed_16 */ UnknownModRefBehavior, + /* x86_rdseed_32 */ UnknownModRefBehavior, + /* x86_rdseed_64 */ UnknownModRefBehavior, + /* x86_rdtsc */ UnknownModRefBehavior, + /* x86_rdtscp */ OnlyAccessesArgumentPointees, + /* x86_sha1msg1 */ DoesNotAccessMemory, + /* x86_sha1msg2 */ DoesNotAccessMemory, + /* x86_sha1nexte */ DoesNotAccessMemory, + /* x86_sha1rnds4 */ DoesNotAccessMemory, + /* x86_sha256msg1 */ DoesNotAccessMemory, + /* x86_sha256msg2 */ DoesNotAccessMemory, + /* x86_sha256rnds2 */ DoesNotAccessMemory, + /* x86_sse2_add_sd */ DoesNotAccessMemory, + /* x86_sse2_clflush */ UnknownModRefBehavior, + /* x86_sse2_cmp_pd */ DoesNotAccessMemory, + /* x86_sse2_cmp_sd */ DoesNotAccessMemory, + /* x86_sse2_comieq_sd */ DoesNotAccessMemory, + /* x86_sse2_comige_sd */ DoesNotAccessMemory, + /* x86_sse2_comigt_sd */ DoesNotAccessMemory, + /* x86_sse2_comile_sd */ DoesNotAccessMemory, + /* x86_sse2_comilt_sd */ DoesNotAccessMemory, + /* x86_sse2_comineq_sd */ DoesNotAccessMemory, + /* x86_sse2_cvtdq2pd */ DoesNotAccessMemory, + /* x86_sse2_cvtdq2ps */ DoesNotAccessMemory, + /* x86_sse2_cvtpd2dq */ DoesNotAccessMemory, + /* x86_sse2_cvtpd2ps */ DoesNotAccessMemory, + /* x86_sse2_cvtps2dq */ DoesNotAccessMemory, + /* x86_sse2_cvtps2pd */ DoesNotAccessMemory, + /* x86_sse2_cvtsd2si */ DoesNotAccessMemory, + /* x86_sse2_cvtsd2si64 */ DoesNotAccessMemory, + /* x86_sse2_cvtsd2ss */ DoesNotAccessMemory, + /* x86_sse2_cvtsi2sd */ DoesNotAccessMemory, + /* x86_sse2_cvtsi642sd */ DoesNotAccessMemory, + /* x86_sse2_cvtss2sd */ DoesNotAccessMemory, + /* x86_sse2_cvttpd2dq */ DoesNotAccessMemory, + /* x86_sse2_cvttps2dq */ DoesNotAccessMemory, + /* x86_sse2_cvttsd2si */ DoesNotAccessMemory, + /* x86_sse2_cvttsd2si64 */ DoesNotAccessMemory, + /* x86_sse2_div_sd */ DoesNotAccessMemory, + /* x86_sse2_lfence */ UnknownModRefBehavior, + /* x86_sse2_maskmov_dqu */ UnknownModRefBehavior, + /* x86_sse2_max_pd */ DoesNotAccessMemory, + /* x86_sse2_max_sd */ DoesNotAccessMemory, + /* x86_sse2_mfence */ UnknownModRefBehavior, + /* x86_sse2_min_pd */ DoesNotAccessMemory, + /* x86_sse2_min_sd */ DoesNotAccessMemory, + /* x86_sse2_movmsk_pd */ DoesNotAccessMemory, + /* x86_sse2_mul_sd */ DoesNotAccessMemory, + /* x86_sse2_packssdw_128 */ DoesNotAccessMemory, + /* x86_sse2_packsswb_128 */ DoesNotAccessMemory, + /* x86_sse2_packuswb_128 */ DoesNotAccessMemory, + /* x86_sse2_padds_b */ DoesNotAccessMemory, + /* x86_sse2_padds_w */ DoesNotAccessMemory, + /* x86_sse2_paddus_b */ DoesNotAccessMemory, + /* x86_sse2_paddus_w */ DoesNotAccessMemory, + /* x86_sse2_pause */ UnknownModRefBehavior, + /* x86_sse2_pavg_b */ DoesNotAccessMemory, + /* x86_sse2_pavg_w */ DoesNotAccessMemory, + /* x86_sse2_pmadd_wd */ DoesNotAccessMemory, + /* x86_sse2_pmaxs_w */ DoesNotAccessMemory, + /* x86_sse2_pmaxu_b */ DoesNotAccessMemory, + /* x86_sse2_pmins_w */ DoesNotAccessMemory, + /* x86_sse2_pminu_b */ DoesNotAccessMemory, + /* x86_sse2_pmovmskb_128 */ DoesNotAccessMemory, + /* x86_sse2_pmulh_w */ DoesNotAccessMemory, + /* x86_sse2_pmulhu_w */ DoesNotAccessMemory, + /* x86_sse2_pmulu_dq */ DoesNotAccessMemory, + /* x86_sse2_psad_bw */ DoesNotAccessMemory, + /* x86_sse2_pshuf_d */ DoesNotAccessMemory, + /* x86_sse2_pshufh_w */ DoesNotAccessMemory, + /* x86_sse2_pshufl_w */ DoesNotAccessMemory, + /* x86_sse2_psll_d */ DoesNotAccessMemory, + /* x86_sse2_psll_dq */ DoesNotAccessMemory, + /* x86_sse2_psll_dq_bs */ DoesNotAccessMemory, + /* x86_sse2_psll_q */ DoesNotAccessMemory, + /* x86_sse2_psll_w */ DoesNotAccessMemory, + /* x86_sse2_pslli_d */ DoesNotAccessMemory, + /* x86_sse2_pslli_q */ DoesNotAccessMemory, + /* x86_sse2_pslli_w */ DoesNotAccessMemory, + /* x86_sse2_psra_d */ DoesNotAccessMemory, + /* x86_sse2_psra_w */ DoesNotAccessMemory, + /* x86_sse2_psrai_d */ DoesNotAccessMemory, + /* x86_sse2_psrai_w */ DoesNotAccessMemory, + /* x86_sse2_psrl_d */ DoesNotAccessMemory, + /* x86_sse2_psrl_dq */ DoesNotAccessMemory, + /* x86_sse2_psrl_dq_bs */ DoesNotAccessMemory, + /* x86_sse2_psrl_q */ DoesNotAccessMemory, + /* x86_sse2_psrl_w */ DoesNotAccessMemory, + /* x86_sse2_psrli_d */ DoesNotAccessMemory, + /* x86_sse2_psrli_q */ DoesNotAccessMemory, + /* x86_sse2_psrli_w */ DoesNotAccessMemory, + /* x86_sse2_psubs_b */ DoesNotAccessMemory, + /* x86_sse2_psubs_w */ DoesNotAccessMemory, + /* x86_sse2_psubus_b */ DoesNotAccessMemory, + /* x86_sse2_psubus_w */ DoesNotAccessMemory, + /* x86_sse2_sqrt_pd */ DoesNotAccessMemory, + /* x86_sse2_sqrt_sd */ DoesNotAccessMemory, + /* x86_sse2_storel_dq */ OnlyAccessesArgumentPointees, + /* x86_sse2_storeu_dq */ OnlyAccessesArgumentPointees, + /* x86_sse2_storeu_pd */ OnlyAccessesArgumentPointees, + /* x86_sse2_sub_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomieq_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomige_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomigt_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomile_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomilt_sd */ DoesNotAccessMemory, + /* x86_sse2_ucomineq_sd */ DoesNotAccessMemory, + /* x86_sse3_addsub_pd */ DoesNotAccessMemory, + /* x86_sse3_addsub_ps */ DoesNotAccessMemory, + /* x86_sse3_hadd_pd */ DoesNotAccessMemory, + /* x86_sse3_hadd_ps */ DoesNotAccessMemory, + /* x86_sse3_hsub_pd */ DoesNotAccessMemory, + /* x86_sse3_hsub_ps */ DoesNotAccessMemory, + /* x86_sse3_ldu_dq */ OnlyReadsMemory, + /* x86_sse3_monitor */ UnknownModRefBehavior, + /* x86_sse3_mwait */ UnknownModRefBehavior, + /* x86_sse41_blendpd */ DoesNotAccessMemory, + /* x86_sse41_blendps */ DoesNotAccessMemory, + /* x86_sse41_blendvpd */ DoesNotAccessMemory, + /* x86_sse41_blendvps */ DoesNotAccessMemory, + /* x86_sse41_dppd */ DoesNotAccessMemory, + /* x86_sse41_dpps */ DoesNotAccessMemory, + /* x86_sse41_extractps */ DoesNotAccessMemory, + /* x86_sse41_insertps */ DoesNotAccessMemory, + /* x86_sse41_movntdqa */ OnlyReadsMemory, + /* x86_sse41_mpsadbw */ DoesNotAccessMemory, + /* x86_sse41_packusdw */ DoesNotAccessMemory, + /* x86_sse41_pblendvb */ DoesNotAccessMemory, + /* x86_sse41_pblendw */ DoesNotAccessMemory, + /* x86_sse41_pextrb */ DoesNotAccessMemory, + /* x86_sse41_pextrd */ DoesNotAccessMemory, + /* x86_sse41_pextrq */ DoesNotAccessMemory, + /* x86_sse41_phminposuw */ DoesNotAccessMemory, + /* x86_sse41_pmaxsb */ DoesNotAccessMemory, + /* x86_sse41_pmaxsd */ DoesNotAccessMemory, + /* x86_sse41_pmaxud */ DoesNotAccessMemory, + /* x86_sse41_pmaxuw */ DoesNotAccessMemory, + /* x86_sse41_pminsb */ DoesNotAccessMemory, + /* x86_sse41_pminsd */ DoesNotAccessMemory, + /* x86_sse41_pminud */ DoesNotAccessMemory, + /* x86_sse41_pminuw */ DoesNotAccessMemory, + /* x86_sse41_pmovsxbd */ DoesNotAccessMemory, + /* x86_sse41_pmovsxbq */ DoesNotAccessMemory, + /* x86_sse41_pmovsxbw */ DoesNotAccessMemory, + /* x86_sse41_pmovsxdq */ DoesNotAccessMemory, + /* x86_sse41_pmovsxwd */ DoesNotAccessMemory, + /* x86_sse41_pmovsxwq */ DoesNotAccessMemory, + /* x86_sse41_pmovzxbd */ DoesNotAccessMemory, + /* x86_sse41_pmovzxbq */ DoesNotAccessMemory, + /* x86_sse41_pmovzxbw */ DoesNotAccessMemory, + /* x86_sse41_pmovzxdq */ DoesNotAccessMemory, + /* x86_sse41_pmovzxwd */ DoesNotAccessMemory, + /* x86_sse41_pmovzxwq */ DoesNotAccessMemory, + /* x86_sse41_pmuldq */ DoesNotAccessMemory, + /* x86_sse41_ptestc */ DoesNotAccessMemory, + /* x86_sse41_ptestnzc */ DoesNotAccessMemory, + /* x86_sse41_ptestz */ DoesNotAccessMemory, + /* x86_sse41_round_pd */ DoesNotAccessMemory, + /* x86_sse41_round_ps */ DoesNotAccessMemory, + /* x86_sse41_round_sd */ DoesNotAccessMemory, + /* x86_sse41_round_ss */ DoesNotAccessMemory, + /* x86_sse42_crc32_32_16 */ DoesNotAccessMemory, + /* x86_sse42_crc32_32_32 */ DoesNotAccessMemory, + /* x86_sse42_crc32_32_8 */ DoesNotAccessMemory, + /* x86_sse42_crc32_64_64 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestri128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestria128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestric128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestrio128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestris128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestriz128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpestrm128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistri128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistria128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistric128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistrio128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistris128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistriz128 */ DoesNotAccessMemory, + /* x86_sse42_pcmpistrm128 */ DoesNotAccessMemory, + /* x86_sse4a_extrq */ DoesNotAccessMemory, + /* x86_sse4a_extrqi */ DoesNotAccessMemory, + /* x86_sse4a_insertq */ DoesNotAccessMemory, + /* x86_sse4a_insertqi */ DoesNotAccessMemory, + /* x86_sse4a_movnt_sd */ UnknownModRefBehavior, + /* x86_sse4a_movnt_ss */ UnknownModRefBehavior, + /* x86_sse_add_ss */ DoesNotAccessMemory, + /* x86_sse_cmp_ps */ DoesNotAccessMemory, + /* x86_sse_cmp_ss */ DoesNotAccessMemory, + /* x86_sse_comieq_ss */ DoesNotAccessMemory, + /* x86_sse_comige_ss */ DoesNotAccessMemory, + /* x86_sse_comigt_ss */ DoesNotAccessMemory, + /* x86_sse_comile_ss */ DoesNotAccessMemory, + /* x86_sse_comilt_ss */ DoesNotAccessMemory, + /* x86_sse_comineq_ss */ DoesNotAccessMemory, + /* x86_sse_cvtpd2pi */ DoesNotAccessMemory, + /* x86_sse_cvtpi2pd */ DoesNotAccessMemory, + /* x86_sse_cvtpi2ps */ DoesNotAccessMemory, + /* x86_sse_cvtps2pi */ DoesNotAccessMemory, + /* x86_sse_cvtsi2ss */ DoesNotAccessMemory, + /* x86_sse_cvtsi642ss */ DoesNotAccessMemory, + /* x86_sse_cvtss2si */ DoesNotAccessMemory, + /* x86_sse_cvtss2si64 */ DoesNotAccessMemory, + /* x86_sse_cvttpd2pi */ DoesNotAccessMemory, + /* x86_sse_cvttps2pi */ DoesNotAccessMemory, + /* x86_sse_cvttss2si */ DoesNotAccessMemory, + /* x86_sse_cvttss2si64 */ DoesNotAccessMemory, + /* x86_sse_div_ss */ DoesNotAccessMemory, + /* x86_sse_ldmxcsr */ UnknownModRefBehavior, + /* x86_sse_max_ps */ DoesNotAccessMemory, + /* x86_sse_max_ss */ DoesNotAccessMemory, + /* x86_sse_min_ps */ DoesNotAccessMemory, + /* x86_sse_min_ss */ DoesNotAccessMemory, + /* x86_sse_movmsk_ps */ DoesNotAccessMemory, + /* x86_sse_mul_ss */ DoesNotAccessMemory, + /* x86_sse_pshuf_w */ DoesNotAccessMemory, + /* x86_sse_rcp_ps */ DoesNotAccessMemory, + /* x86_sse_rcp_ss */ DoesNotAccessMemory, + /* x86_sse_rsqrt_ps */ DoesNotAccessMemory, + /* x86_sse_rsqrt_ss */ DoesNotAccessMemory, + /* x86_sse_sfence */ UnknownModRefBehavior, + /* x86_sse_sqrt_ps */ DoesNotAccessMemory, + /* x86_sse_sqrt_ss */ DoesNotAccessMemory, + /* x86_sse_stmxcsr */ UnknownModRefBehavior, + /* x86_sse_storeu_ps */ OnlyAccessesArgumentPointees, + /* x86_sse_sub_ss */ DoesNotAccessMemory, + /* x86_sse_ucomieq_ss */ DoesNotAccessMemory, + /* x86_sse_ucomige_ss */ DoesNotAccessMemory, + /* x86_sse_ucomigt_ss */ DoesNotAccessMemory, + /* x86_sse_ucomile_ss */ DoesNotAccessMemory, + /* x86_sse_ucomilt_ss */ DoesNotAccessMemory, + /* x86_sse_ucomineq_ss */ DoesNotAccessMemory, + /* x86_ssse3_pabs_b */ DoesNotAccessMemory, + /* x86_ssse3_pabs_b_128 */ DoesNotAccessMemory, + /* x86_ssse3_pabs_d */ DoesNotAccessMemory, + /* x86_ssse3_pabs_d_128 */ DoesNotAccessMemory, + /* x86_ssse3_pabs_w */ DoesNotAccessMemory, + /* x86_ssse3_pabs_w_128 */ DoesNotAccessMemory, + /* x86_ssse3_phadd_d */ DoesNotAccessMemory, + /* x86_ssse3_phadd_d_128 */ DoesNotAccessMemory, + /* x86_ssse3_phadd_sw */ DoesNotAccessMemory, + /* x86_ssse3_phadd_sw_128 */ DoesNotAccessMemory, + /* x86_ssse3_phadd_w */ DoesNotAccessMemory, + /* x86_ssse3_phadd_w_128 */ DoesNotAccessMemory, + /* x86_ssse3_phsub_d */ DoesNotAccessMemory, + /* x86_ssse3_phsub_d_128 */ DoesNotAccessMemory, + /* x86_ssse3_phsub_sw */ DoesNotAccessMemory, + /* x86_ssse3_phsub_sw_128 */ DoesNotAccessMemory, + /* x86_ssse3_phsub_w */ DoesNotAccessMemory, + /* x86_ssse3_phsub_w_128 */ DoesNotAccessMemory, + /* x86_ssse3_pmadd_ub_sw */ DoesNotAccessMemory, + /* x86_ssse3_pmadd_ub_sw_128 */ DoesNotAccessMemory, + /* x86_ssse3_pmul_hr_sw */ DoesNotAccessMemory, + /* x86_ssse3_pmul_hr_sw_128 */ DoesNotAccessMemory, + /* x86_ssse3_pshuf_b */ DoesNotAccessMemory, + /* x86_ssse3_pshuf_b_128 */ DoesNotAccessMemory, + /* x86_ssse3_psign_b */ DoesNotAccessMemory, + /* x86_ssse3_psign_b_128 */ DoesNotAccessMemory, + /* x86_ssse3_psign_d */ DoesNotAccessMemory, + /* x86_ssse3_psign_d_128 */ DoesNotAccessMemory, + /* x86_ssse3_psign_w */ DoesNotAccessMemory, + /* x86_ssse3_psign_w_128 */ DoesNotAccessMemory, + /* x86_tbm_bextri_u32 */ DoesNotAccessMemory, + /* x86_tbm_bextri_u64 */ DoesNotAccessMemory, + /* x86_vcvtph2ps_128 */ DoesNotAccessMemory, + /* x86_vcvtph2ps_256 */ DoesNotAccessMemory, + /* x86_vcvtps2ph_128 */ DoesNotAccessMemory, + /* x86_vcvtps2ph_256 */ DoesNotAccessMemory, + /* x86_wrfsbase_32 */ UnknownModRefBehavior, + /* x86_wrfsbase_64 */ UnknownModRefBehavior, + /* x86_wrgsbase_32 */ UnknownModRefBehavior, + /* x86_wrgsbase_64 */ UnknownModRefBehavior, + /* x86_xabort */ UnknownModRefBehavior, + /* x86_xbegin */ UnknownModRefBehavior, + /* x86_xend */ UnknownModRefBehavior, + /* x86_xop_vfrcz_pd */ DoesNotAccessMemory, + /* x86_xop_vfrcz_pd_256 */ DoesNotAccessMemory, + /* x86_xop_vfrcz_ps */ DoesNotAccessMemory, + /* x86_xop_vfrcz_ps_256 */ DoesNotAccessMemory, + /* x86_xop_vfrcz_sd */ DoesNotAccessMemory, + /* x86_xop_vfrcz_ss */ DoesNotAccessMemory, + /* x86_xop_vpcmov */ DoesNotAccessMemory, + /* x86_xop_vpcmov_256 */ DoesNotAccessMemory, + /* x86_xop_vpcomb */ DoesNotAccessMemory, + /* x86_xop_vpcomd */ DoesNotAccessMemory, + /* x86_xop_vpcomq */ DoesNotAccessMemory, + /* x86_xop_vpcomub */ DoesNotAccessMemory, + /* x86_xop_vpcomud */ DoesNotAccessMemory, + /* x86_xop_vpcomuq */ DoesNotAccessMemory, + /* x86_xop_vpcomuw */ DoesNotAccessMemory, + /* x86_xop_vpcomw */ DoesNotAccessMemory, + /* x86_xop_vpermil2pd */ DoesNotAccessMemory, + /* x86_xop_vpermil2pd_256 */ DoesNotAccessMemory, + /* x86_xop_vpermil2ps */ DoesNotAccessMemory, + /* x86_xop_vpermil2ps_256 */ DoesNotAccessMemory, + /* x86_xop_vphaddbd */ DoesNotAccessMemory, + /* x86_xop_vphaddbq */ DoesNotAccessMemory, + /* x86_xop_vphaddbw */ DoesNotAccessMemory, + /* x86_xop_vphadddq */ DoesNotAccessMemory, + /* x86_xop_vphaddubd */ DoesNotAccessMemory, + /* x86_xop_vphaddubq */ DoesNotAccessMemory, + /* x86_xop_vphaddubw */ DoesNotAccessMemory, + /* x86_xop_vphaddudq */ DoesNotAccessMemory, + /* x86_xop_vphadduwd */ DoesNotAccessMemory, + /* x86_xop_vphadduwq */ DoesNotAccessMemory, + /* x86_xop_vphaddwd */ DoesNotAccessMemory, + /* x86_xop_vphaddwq */ DoesNotAccessMemory, + /* x86_xop_vphsubbw */ DoesNotAccessMemory, + /* x86_xop_vphsubdq */ DoesNotAccessMemory, + /* x86_xop_vphsubwd */ DoesNotAccessMemory, + /* x86_xop_vpmacsdd */ DoesNotAccessMemory, + /* x86_xop_vpmacsdqh */ DoesNotAccessMemory, + /* x86_xop_vpmacsdql */ DoesNotAccessMemory, + /* x86_xop_vpmacssdd */ DoesNotAccessMemory, + /* x86_xop_vpmacssdqh */ DoesNotAccessMemory, + /* x86_xop_vpmacssdql */ DoesNotAccessMemory, + /* x86_xop_vpmacsswd */ DoesNotAccessMemory, + /* x86_xop_vpmacssww */ DoesNotAccessMemory, + /* x86_xop_vpmacswd */ DoesNotAccessMemory, + /* x86_xop_vpmacsww */ DoesNotAccessMemory, + /* x86_xop_vpmadcsswd */ DoesNotAccessMemory, + /* x86_xop_vpmadcswd */ DoesNotAccessMemory, + /* x86_xop_vpperm */ DoesNotAccessMemory, + /* x86_xop_vprotb */ DoesNotAccessMemory, + /* x86_xop_vprotbi */ DoesNotAccessMemory, + /* x86_xop_vprotd */ DoesNotAccessMemory, + /* x86_xop_vprotdi */ DoesNotAccessMemory, + /* x86_xop_vprotq */ DoesNotAccessMemory, + /* x86_xop_vprotqi */ DoesNotAccessMemory, + /* x86_xop_vprotw */ DoesNotAccessMemory, + /* x86_xop_vprotwi */ DoesNotAccessMemory, + /* x86_xop_vpshab */ DoesNotAccessMemory, + /* x86_xop_vpshad */ DoesNotAccessMemory, + /* x86_xop_vpshaq */ DoesNotAccessMemory, + /* x86_xop_vpshaw */ DoesNotAccessMemory, + /* x86_xop_vpshlb */ DoesNotAccessMemory, + /* x86_xop_vpshld */ DoesNotAccessMemory, + /* x86_xop_vpshlq */ DoesNotAccessMemory, + /* x86_xop_vpshlw */ DoesNotAccessMemory, + /* x86_xtest */ UnknownModRefBehavior, + /* xcore_bitrev */ DoesNotAccessMemory, + /* xcore_checkevent */ UnknownModRefBehavior, + /* xcore_chkct */ UnknownModRefBehavior, + /* xcore_clre */ UnknownModRefBehavior, + /* xcore_clrpt */ UnknownModRefBehavior, + /* xcore_clrsr */ UnknownModRefBehavior, + /* xcore_crc32 */ DoesNotAccessMemory, + /* xcore_crc8 */ DoesNotAccessMemory, + /* xcore_edu */ UnknownModRefBehavior, + /* xcore_eeu */ UnknownModRefBehavior, + /* xcore_endin */ UnknownModRefBehavior, + /* xcore_freer */ UnknownModRefBehavior, + /* xcore_geted */ UnknownModRefBehavior, + /* xcore_getet */ UnknownModRefBehavior, + /* xcore_getid */ DoesNotAccessMemory, + /* xcore_getps */ UnknownModRefBehavior, + /* xcore_getr */ UnknownModRefBehavior, + /* xcore_getst */ UnknownModRefBehavior, + /* xcore_getts */ UnknownModRefBehavior, + /* xcore_in */ UnknownModRefBehavior, + /* xcore_inct */ UnknownModRefBehavior, + /* xcore_initcp */ UnknownModRefBehavior, + /* xcore_initdp */ UnknownModRefBehavior, + /* xcore_initlr */ UnknownModRefBehavior, + /* xcore_initpc */ UnknownModRefBehavior, + /* xcore_initsp */ UnknownModRefBehavior, + /* xcore_inshr */ UnknownModRefBehavior, + /* xcore_int */ UnknownModRefBehavior, + /* xcore_mjoin */ UnknownModRefBehavior, + /* xcore_msync */ UnknownModRefBehavior, + /* xcore_out */ UnknownModRefBehavior, + /* xcore_outct */ UnknownModRefBehavior, + /* xcore_outshr */ UnknownModRefBehavior, + /* xcore_outt */ UnknownModRefBehavior, + /* xcore_peek */ UnknownModRefBehavior, + /* xcore_setc */ UnknownModRefBehavior, + /* xcore_setclk */ UnknownModRefBehavior, + /* xcore_setd */ UnknownModRefBehavior, + /* xcore_setev */ UnknownModRefBehavior, + /* xcore_setps */ UnknownModRefBehavior, + /* xcore_setpsc */ UnknownModRefBehavior, + /* xcore_setpt */ UnknownModRefBehavior, + /* xcore_setrdy */ UnknownModRefBehavior, + /* xcore_setsr */ UnknownModRefBehavior, + /* xcore_settw */ UnknownModRefBehavior, + /* xcore_setv */ UnknownModRefBehavior, + /* xcore_sext */ DoesNotAccessMemory, + /* xcore_ssync */ UnknownModRefBehavior, + /* xcore_syncr */ UnknownModRefBehavior, + /* xcore_testct */ UnknownModRefBehavior, + /* xcore_testwct */ UnknownModRefBehavior, + /* xcore_waitevent */ OnlyReadsMemory, + /* xcore_zext */ DoesNotAccessMemory, +}; + +return static_cast<ModRefBehavior>(IntrinsicModRefBehavior[iid]); +#endif // GET_INTRINSIC_MODREF_BEHAVIOR + +// Get the LLVM intrinsic that corresponds to a GCC builtin. +// This is used by the C front-end. The GCC builtin name is passed +// in as BuiltinName, and a target prefix (e.g. 'ppc') is passed +// in as TargetPrefix. The result is assigned to 'IntrinsicID'. +#ifdef GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN +Intrinsic::ID Intrinsic::getIntrinsicForGCCBuiltin(const char *TargetPrefixStr, const char *BuiltinNameStr) { + StringRef BuiltinName(BuiltinNameStr); + StringRef TargetPrefix(TargetPrefixStr); + + /* Target Independent Builtins */ { + switch (BuiltinName.size()) { + default: break; + case 10: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_h2f", 10)) + break; + return Intrinsic::nvvm_h2f; // "__nvvm_h2f" + case 11: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ar0", 3)) + break; + return Intrinsic::nvvm_barrier0; // "__nvvm_bar0" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "rmt", 3)) + break; + return Intrinsic::nvvm_prmt; // "__nvvm_prmt" + } + break; + case 12: // 5 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "bs_i", 4)) + break; + return Intrinsic::nvvm_abs_i; // "__nvvm_abs_i" + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "lz_i", 4)) + break; + return Intrinsic::nvvm_clz_i; // "__nvvm_clz_i" + case 'm': // 2 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "x_i", 3)) + break; + return Intrinsic::nvvm_max_i; // "__nvvm_max_i" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "n_i", 3)) + break; + return Intrinsic::nvvm_min_i; // "__nvvm_min_i" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ad_i", 4)) + break; + return Intrinsic::nvvm_sad_i; // "__nvvm_sad_i" + } + break; + case 13: // 43 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'n': // 42 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "bs_ll", 5)) + break; + return Intrinsic::nvvm_abs_ll; // "__nvvm_abs_ll" + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "rev", 3)) + break; + switch (BuiltinName[11]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[12] != '2') + break; + return Intrinsic::nvvm_brev32; // "__nvvm_brev32" + case '6': // 1 string to match. + if (BuiltinName[12] != '4') + break; + return Intrinsic::nvvm_brev64; // "__nvvm_brev64" + } + break; + case 'c': // 3 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "il_", 3)) + break; + switch (BuiltinName[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_ceil_d; // "__nvvm_ceil_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_ceil_f; // "__nvvm_ceil_f" + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "z_ll", 4)) + break; + return Intrinsic::nvvm_clz_ll; // "__nvvm_clz_ll" + } + break; + case 'd': // 10 strings to match. + if (BuiltinName[8] != '2') + break; + switch (BuiltinName[9]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "_r", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2f_rm; // "__nvvm_d2f_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2f_rn; // "__nvvm_d2f_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2f_rp; // "__nvvm_d2f_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2f_rz; // "__nvvm_d2f_rz" + } + break; + case 'i': // 6 strings to match. + if (BuiltinName[10] != '_') + break; + switch (BuiltinName[11]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[12] != 'i') + break; + return Intrinsic::nvvm_d2i_hi; // "__nvvm_d2i_hi" + case 'l': // 1 string to match. + if (BuiltinName[12] != 'o') + break; + return Intrinsic::nvvm_d2i_lo; // "__nvvm_d2i_lo" + case 'r': // 4 strings to match. + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2i_rm; // "__nvvm_d2i_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2i_rn; // "__nvvm_d2i_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2i_rp; // "__nvvm_d2i_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2i_rz; // "__nvvm_d2i_rz" + } + break; + } + break; + } + break; + case 'f': // 11 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 5 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "_rn", 3)) + break; + return Intrinsic::nvvm_f2h_rn; // "__nvvm_f2h_rn" + case 'i': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "_r", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2i_rm; // "__nvvm_f2i_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2i_rn; // "__nvvm_f2i_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2i_rp; // "__nvvm_f2i_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2i_rz; // "__nvvm_f2i_rz" + } + break; + } + break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "bs_", 3)) + break; + switch (BuiltinName[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fabs_d; // "__nvvm_fabs_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fabs_f; // "__nvvm_fabs_f" + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+10, "x_", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fmax_d; // "__nvvm_fmax_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fmax_f; // "__nvvm_fmax_f" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+10, "n_", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fmin_d; // "__nvvm_fmin_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fmin_f; // "__nvvm_fmin_f" + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (BuiltinName[8] != '2') + break; + switch (BuiltinName[9]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "_r", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_i2d_rm; // "__nvvm_i2d_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_i2d_rn; // "__nvvm_i2d_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_i2d_rp; // "__nvvm_i2d_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_i2d_rz; // "__nvvm_i2d_rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "_r", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_i2f_rm; // "__nvvm_i2f_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_i2f_rn; // "__nvvm_i2f_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_i2f_rp; // "__nvvm_i2f_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_i2f_rz; // "__nvvm_i2f_rz" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "x_", 2)) + break; + switch (BuiltinName[11]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[12] != 'l') + break; + return Intrinsic::nvvm_max_ll; // "__nvvm_max_ll" + case 'u': // 1 string to match. + if (BuiltinName[12] != 'i') + break; + return Intrinsic::nvvm_max_ui; // "__nvvm_max_ui" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "n_", 2)) + break; + switch (BuiltinName[11]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[12] != 'l') + break; + return Intrinsic::nvvm_min_ll; // "__nvvm_min_ll" + case 'u': // 1 string to match. + if (BuiltinName[12] != 'i') + break; + return Intrinsic::nvvm_min_ui; // "__nvvm_min_ui" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "opc_i", 5)) + break; + return Intrinsic::nvvm_popc_i; // "__nvvm_popc_i" + case 's': // 2 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "d_ui", 4)) + break; + return Intrinsic::nvvm_sad_ui; // "__nvvm_sad_ui" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "rt_f", 4)) + break; + return Intrinsic::nvvm_sqrt_f; // "__nvvm_sqrt_f" + } + break; + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+3, "yncthreads", 10)) + break; + return Intrinsic::cuda_syncthreads; // "__syncthreads" + } + break; + case 14: // 45 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+3, "uiltin_trap", 11)) + break; + return Intrinsic::trap; // "__builtin_trap" + case 'n': // 44 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ar0_or", 6)) + break; + return Intrinsic::nvvm_barrier0_or; // "__nvvm_bar0_or" + case 'd': // 8 strings to match. + if (BuiltinName[8] != '2') + break; + switch (BuiltinName[9]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "l_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ll_rm; // "__nvvm_d2ll_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ll_rn; // "__nvvm_d2ll_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ll_rp; // "__nvvm_d2ll_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ll_rz; // "__nvvm_d2ll_rz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "i_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ui_rm; // "__nvvm_d2ui_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ui_rn; // "__nvvm_d2ui_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ui_rp; // "__nvvm_d2ui_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ui_rz; // "__nvvm_d2ui_rz" + } + break; + } + break; + case 'f': // 10 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 8 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "l_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ll_rm; // "__nvvm_f2ll_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ll_rn; // "__nvvm_f2ll_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ll_rp; // "__nvvm_f2ll_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ll_rz; // "__nvvm_f2ll_rz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "i_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ui_rm; // "__nvvm_f2ui_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ui_rn; // "__nvvm_f2ui_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ui_rp; // "__nvvm_f2ui_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ui_rz; // "__nvvm_f2ui_rz" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "oor_", 4)) + break; + switch (BuiltinName[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_floor_d; // "__nvvm_floor_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_floor_f; // "__nvvm_floor_f" + } + break; + } + break; + case 'l': // 8 strings to match. + if (memcmp(BuiltinName.data()+8, "l2", 2)) + break; + switch (BuiltinName[10]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+11, "_r", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ll2d_rm; // "__nvvm_ll2d_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ll2d_rn; // "__nvvm_ll2d_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ll2d_rp; // "__nvvm_ll2d_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ll2d_rz; // "__nvvm_ll2d_rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+11, "_r", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ll2f_rm; // "__nvvm_ll2f_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ll2f_rn; // "__nvvm_ll2f_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ll2f_rp; // "__nvvm_ll2f_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ll2f_rz; // "__nvvm_ll2f_rz" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "x_ull", 5)) + break; + return Intrinsic::nvvm_max_ull; // "__nvvm_max_ull" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "n_ull", 5)) + break; + return Intrinsic::nvvm_min_ull; // "__nvvm_min_ull" + case 'u': // 2 strings to match. + if (BuiltinName[9] != 'l') + break; + switch (BuiltinName[10]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "4_i", 3)) + break; + return Intrinsic::nvvm_mul24_i; // "__nvvm_mul24_i" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "i_i", 3)) + break; + return Intrinsic::nvvm_mulhi_i; // "__nvvm_mulhi_i" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "opc_ll", 6)) + break; + return Intrinsic::nvvm_popc_ll; // "__nvvm_popc_ll" + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "ound_", 5)) + break; + switch (BuiltinName[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_round_d; // "__nvvm_round_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_round_f; // "__nvvm_round_f" + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "runc_", 5)) + break; + switch (BuiltinName[13]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_trunc_d; // "__nvvm_trunc_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_trunc_f; // "__nvvm_trunc_f" + } + break; + case 'u': // 8 strings to match. + if (memcmp(BuiltinName.data()+8, "i2", 2)) + break; + switch (BuiltinName[10]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+11, "_r", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ui2d_rm; // "__nvvm_ui2d_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ui2d_rn; // "__nvvm_ui2d_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ui2d_rp; // "__nvvm_ui2d_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ui2d_rz; // "__nvvm_ui2d_rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+11, "_r", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ui2f_rm; // "__nvvm_ui2f_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ui2f_rn; // "__nvvm_ui2f_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ui2f_rp; // "__nvvm_ui2f_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ui2f_rz; // "__nvvm_ui2f_rz" + } + break; + } + break; + } + break; + } + break; + case 15: // 61 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+8, "dd_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rm_d; // "__nvvm_add_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rm_f; // "__nvvm_add_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rn_d; // "__nvvm_add_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rn_f; // "__nvvm_add_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rp_d; // "__nvvm_add_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rp_f; // "__nvvm_add_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_add_rz_d; // "__nvvm_add_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_add_rz_f; // "__nvvm_add_rz_f" + } + break; + } + break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ar0_and", 7)) + break; + return Intrinsic::nvvm_barrier0_and; // "__nvvm_bar0_and" + case 'd': // 12 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(BuiltinName.data()+9, "ull_r", 5)) + break; + switch (BuiltinName[14]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_d2ull_rm; // "__nvvm_d2ull_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_d2ull_rn; // "__nvvm_d2ull_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_d2ull_rp; // "__nvvm_d2ull_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_d2ull_rz; // "__nvvm_d2ull_rz" + } + break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+9, "v_r", 3)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rm_d; // "__nvvm_div_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rm_f; // "__nvvm_div_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rn_d; // "__nvvm_div_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rn_f; // "__nvvm_div_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rp_d; // "__nvvm_div_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rp_f; // "__nvvm_div_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_div_rz_d; // "__nvvm_div_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_div_rz_f; // "__nvvm_div_rz_f" + } + break; + } + break; + } + break; + case 'f': // 12 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(BuiltinName.data()+9, "ull_r", 5)) + break; + switch (BuiltinName[14]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_f2ull_rm; // "__nvvm_f2ull_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_f2ull_rn; // "__nvvm_f2ull_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_f2ull_rp; // "__nvvm_f2ull_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_f2ull_rz; // "__nvvm_f2ull_rz" + } + break; + case 'm': // 8 strings to match. + if (memcmp(BuiltinName.data()+9, "a_r", 3)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rm_d; // "__nvvm_fma_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rm_f; // "__nvvm_fma_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rn_d; // "__nvvm_fma_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rn_f; // "__nvvm_fma_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rp_d; // "__nvvm_fma_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rp_f; // "__nvvm_fma_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_fma_rz_d; // "__nvvm_fma_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_fma_rz_f; // "__nvvm_fma_rz_f" + } + break; + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ohi_i2d", 7)) + break; + return Intrinsic::nvvm_lohi_i2d; // "__nvvm_lohi_i2d" + case 'm': // 11 strings to match. + if (memcmp(BuiltinName.data()+8, "ul", 2)) + break; + switch (BuiltinName[10]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "4_ui", 4)) + break; + return Intrinsic::nvvm_mul24_ui; // "__nvvm_mul24_ui" + case '_': // 8 strings to match. + if (BuiltinName[11] != 'r') + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rm_d; // "__nvvm_mul_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rm_f; // "__nvvm_mul_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rn_d; // "__nvvm_mul_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rn_f; // "__nvvm_mul_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rp_d; // "__nvvm_mul_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rp_f; // "__nvvm_mul_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_mul_rz_d; // "__nvvm_mul_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_mul_rz_f; // "__nvvm_mul_rz_f" + } + break; + } + break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+11, "i_", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[14] != 'l') + break; + return Intrinsic::nvvm_mulhi_ll; // "__nvvm_mulhi_ll" + case 'u': // 1 string to match. + if (BuiltinName[14] != 'i') + break; + return Intrinsic::nvvm_mulhi_ui; // "__nvvm_mulhi_ui" + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(BuiltinName.data()+8, "cp_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rm_d; // "__nvvm_rcp_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rm_f; // "__nvvm_rcp_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rn_d; // "__nvvm_rcp_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rn_f; // "__nvvm_rcp_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rp_d; // "__nvvm_rcp_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rp_f; // "__nvvm_rcp_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rcp_rz_d; // "__nvvm_rcp_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rcp_rz_f; // "__nvvm_rcp_rz_f" + } + break; + } + break; + case 'u': // 8 strings to match. + if (memcmp(BuiltinName.data()+8, "ll2", 3)) + break; + switch (BuiltinName[11]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+12, "_r", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ull2d_rm; // "__nvvm_ull2d_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ull2d_rn; // "__nvvm_ull2d_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ull2d_rp; // "__nvvm_ull2d_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ull2d_rz; // "__nvvm_ull2d_rz" + } + break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+12, "_r", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::nvvm_ull2f_rm; // "__nvvm_ull2f_rm" + case 'n': // 1 string to match. + return Intrinsic::nvvm_ull2f_rn; // "__nvvm_ull2f_rn" + case 'p': // 1 string to match. + return Intrinsic::nvvm_ull2f_rp; // "__nvvm_ull2f_rp" + case 'z': // 1 string to match. + return Intrinsic::nvvm_ull2f_rz; // "__nvvm_ull2f_rz" + } + break; + } + break; + } + break; + case 16: // 15 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ar0_popc", 8)) + break; + return Intrinsic::nvvm_barrier0_popc; // "__nvvm_bar0_popc" + case 'm': // 2 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "mbar_gl", 7)) + break; + return Intrinsic::nvvm_membar_gl; // "__nvvm_membar_gl" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "lhi_ull", 7)) + break; + return Intrinsic::nvvm_mulhi_ull; // "__nvvm_mulhi_ull" + } + break; + case 's': // 10 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'q': // 8 strings to match. + if (memcmp(BuiltinName.data()+9, "rt_r", 4)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 2 strings to match. + if (BuiltinName[14] != '_') + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rm_d; // "__nvvm_sqrt_rm_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rm_f; // "__nvvm_sqrt_rm_f" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[14] != '_') + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rn_d; // "__nvvm_sqrt_rn_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rn_f; // "__nvvm_sqrt_rn_f" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[14] != '_') + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rp_d; // "__nvvm_sqrt_rp_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rp_f; // "__nvvm_sqrt_rp_f" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[14] != '_') + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_sqrt_rz_d; // "__nvvm_sqrt_rz_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_sqrt_rz_f; // "__nvvm_sqrt_rz_f" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "q_", 2)) + break; + switch (BuiltinName[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "epth", 4)) + break; + return Intrinsic::nvvm_suq_depth; // "__nvvm_suq_depth" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "idth", 4)) + break; + return Intrinsic::nvvm_suq_width; // "__nvvm_suq_width" + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "xq_", 3)) + break; + switch (BuiltinName[11]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "epth", 4)) + break; + return Intrinsic::nvvm_txq_depth; // "__nvvm_txq_depth" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "idth", 4)) + break; + return Intrinsic::nvvm_txq_width; // "__nvvm_txq_width" + } + break; + } + break; + case 17: // 21 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "eil_ftz_f", 9)) + break; + return Intrinsic::nvvm_ceil_ftz_f; // "__nvvm_ceil_ftz_f" + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+8, "2f_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rm_ftz; // "__nvvm_d2f_rm_ftz" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rn_ftz; // "__nvvm_d2f_rn_ftz" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rp_ftz; // "__nvvm_d2f_rp_ftz" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_d2f_rz_ftz; // "__nvvm_d2f_rz_ftz" + } + break; + case 'f': // 8 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 5 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "_rn_ftz", 7)) + break; + return Intrinsic::nvvm_f2h_rn_ftz; // "__nvvm_f2h_rn_ftz" + case 'i': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "_r", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rm_ftz; // "__nvvm_f2i_rm_ftz" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rn_ftz; // "__nvvm_f2i_rn_ftz" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rp_ftz; // "__nvvm_f2i_rp_ftz" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2i_rz_ftz; // "__nvvm_f2i_rz_ftz" + } + break; + } + break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "bs_ftz_f", 8)) + break; + return Intrinsic::nvvm_fabs_ftz_f; // "__nvvm_fabs_ftz_f" + case 'm': // 2 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "x_ftz_f", 7)) + break; + return Intrinsic::nvvm_fmax_ftz_f; // "__nvvm_fmax_ftz_f" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "n_ftz_f", 7)) + break; + return Intrinsic::nvvm_fmin_ftz_f; // "__nvvm_fmin_ftz_f" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "embar_", 6)) + break; + switch (BuiltinName[14]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "ta", 2)) + break; + return Intrinsic::nvvm_membar_cta; // "__nvvm_membar_cta" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "ys", 2)) + break; + return Intrinsic::nvvm_membar_sys; // "__nvvm_membar_sys" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "otate_b", 7)) + break; + switch (BuiltinName[15]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[16] != '2') + break; + return Intrinsic::nvvm_rotate_b32; // "__nvvm_rotate_b32" + case '6': // 1 string to match. + if (BuiltinName[16] != '4') + break; + return Intrinsic::nvvm_rotate_b64; // "__nvvm_rotate_b64" + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+9, "turate_", 7)) + break; + switch (BuiltinName[16]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_saturate_d; // "__nvvm_saturate_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_saturate_f; // "__nvvm_saturate_f" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "q_height", 8)) + break; + return Intrinsic::nvvm_suq_height; // "__nvvm_suq_height" + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "xq_height", 9)) + break; + return Intrinsic::nvvm_txq_height; // "__nvvm_txq_height" + } + break; + case 18: // 13 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_", 7)) + break; + switch (BuiltinName[7]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "itcast_", 7)) + break; + switch (BuiltinName[15]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "2i", 2)) + break; + return Intrinsic::nvvm_bitcast_f2i; // "__nvvm_bitcast_f2i" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "2f", 2)) + break; + return Intrinsic::nvvm_bitcast_i2f; // "__nvvm_bitcast_i2f" + } + break; + case 'f': // 9 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 8 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "l_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rm_ftz; // "__nvvm_f2ll_rm_ftz" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rn_ftz; // "__nvvm_f2ll_rn_ftz" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rp_ftz; // "__nvvm_f2ll_rp_ftz" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ll_rz_ftz; // "__nvvm_f2ll_rz_ftz" + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+10, "i_r", 3)) + break; + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rm_ftz; // "__nvvm_f2ui_rm_ftz" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rn_ftz; // "__nvvm_f2ui_rn_ftz" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rp_ftz; // "__nvvm_f2ui_rp_ftz" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ui_rz_ftz; // "__nvvm_f2ui_rz_ftz" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "oor_ftz_f", 9)) + break; + return Intrinsic::nvvm_floor_ftz_f; // "__nvvm_floor_ftz_f" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "ound_ftz_f", 10)) + break; + return Intrinsic::nvvm_round_ftz_f; // "__nvvm_round_ftz_f" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "runc_ftz_f", 10)) + break; + return Intrinsic::nvvm_trunc_ftz_f; // "__nvvm_trunc_ftz_f" + } + break; + case 19: // 34 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+3, "uiltin_debugtrap", 16)) + break; + return Intrinsic::debugtrap; // "__builtin_debugtrap" + case 'n': // 33 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+8, "dd_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_add_rm_ftz_f; // "__nvvm_add_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_add_rn_ftz_f; // "__nvvm_add_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_add_rp_ftz_f; // "__nvvm_add_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_add_rz_ftz_f; // "__nvvm_add_rz_ftz_f" + } + break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "itcast_", 7)) + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "2ll", 3)) + break; + return Intrinsic::nvvm_bitcast_d2ll; // "__nvvm_bitcast_d2ll" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "l2d", 3)) + break; + return Intrinsic::nvvm_bitcast_ll2d; // "__nvvm_bitcast_ll2d" + } + break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "os_approx_f", 11)) + break; + return Intrinsic::nvvm_cos_approx_f; // "__nvvm_cos_approx_f" + case 'd': // 5 strings to match. + if (memcmp(BuiltinName.data()+8, "iv_", 3)) + break; + switch (BuiltinName[11]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "pprox_f", 7)) + break; + return Intrinsic::nvvm_div_approx_f; // "__nvvm_div_approx_f" + case 'r': // 4 strings to match. + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_div_rm_ftz_f; // "__nvvm_div_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_div_rn_ftz_f; // "__nvvm_div_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_div_rp_ftz_f; // "__nvvm_div_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_div_rz_ftz_f; // "__nvvm_div_rz_ftz_f" + } + break; + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "x2_approx_", 10)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_ex2_approx_d; // "__nvvm_ex2_approx_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_ex2_approx_f; // "__nvvm_ex2_approx_f" + } + break; + case 'f': // 8 strings to match. + switch (BuiltinName[8]) { + default: break; + case '2': // 4 strings to match. + if (memcmp(BuiltinName.data()+9, "ull_r", 5)) + break; + switch (BuiltinName[14]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rm_ftz; // "__nvvm_f2ull_rm_ftz" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rn_ftz; // "__nvvm_f2ull_rn_ftz" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rp_ftz; // "__nvvm_f2ull_rp_ftz" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "_ftz", 4)) + break; + return Intrinsic::nvvm_f2ull_rz_ftz; // "__nvvm_f2ull_rz_ftz" + } + break; + case 'm': // 4 strings to match. + if (memcmp(BuiltinName.data()+9, "a_r", 3)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_fma_rm_ftz_f; // "__nvvm_fma_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_fma_rn_ftz_f; // "__nvvm_fma_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_fma_rp_ftz_f; // "__nvvm_fma_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_fma_rz_ftz_f; // "__nvvm_fma_rz_ftz_f" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "g2_approx_", 10)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_lg2_approx_d; // "__nvvm_lg2_approx_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_lg2_approx_f; // "__nvvm_lg2_approx_f" + } + break; + case 'm': // 4 strings to match. + if (memcmp(BuiltinName.data()+8, "ul_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_mul_rm_ftz_f; // "__nvvm_mul_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_mul_rn_ftz_f; // "__nvvm_mul_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_mul_rp_ftz_f; // "__nvvm_mul_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_mul_rz_ftz_f; // "__nvvm_mul_rz_ftz_f" + } + break; + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+8, "cp_r", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_rcp_rm_ftz_f; // "__nvvm_rcp_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_rcp_rn_ftz_f; // "__nvvm_rcp_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_rcp_rp_ftz_f; // "__nvvm_rcp_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_rcp_rz_ftz_f; // "__nvvm_rcp_rz_ftz_f" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "in_approx_f", 11)) + break; + return Intrinsic::nvvm_sin_approx_f; // "__nvvm_sin_approx_f" + } + break; + } + break; + case 20: // 7 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "lt_rounds", 9)) + break; + return Intrinsic::flt_rounds; // "__builtin_flt_rounds" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "tack_save", 9)) + break; + return Intrinsic::stacksave; // "__builtin_stack_save" + } + break; + case 'n': // 5 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_sqrt_", 9)) + break; + switch (BuiltinName[12]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+13, "pprox_f", 7)) + break; + return Intrinsic::nvvm_sqrt_approx_f; // "__nvvm_sqrt_approx_f" + case 'r': // 4 strings to match. + switch (BuiltinName[13]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_sqrt_rm_ftz_f; // "__nvvm_sqrt_rm_ftz_f" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_sqrt_rn_ftz_f; // "__nvvm_sqrt_rn_ftz_f" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_sqrt_rp_ftz_f; // "__nvvm_sqrt_rp_ftz_f" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+14, "_ftz_f", 6)) + break; + return Intrinsic::nvvm_sqrt_rz_ftz_f; // "__nvvm_sqrt_rz_ftz_f" + } + break; + } + break; + } + break; + case 21: // 28 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 20 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'i': // 18 strings to match. + if (memcmp(BuiltinName.data()+11, "a32_vp", 6)) + break; + switch (BuiltinName[17]) { + default: break; + case 'c': // 5 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "ov", 2)) + break; + return Intrinsic::x86_xop_vpcmov; // "__builtin_ia32_vpcmov" + case 'o': // 4 strings to match. + if (BuiltinName[19] != 'm') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpcomb; // "__builtin_ia32_vpcomb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpcomd; // "__builtin_ia32_vpcomd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpcomq; // "__builtin_ia32_vpcomq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpcomw; // "__builtin_ia32_vpcomw" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "erm", 3)) + break; + return Intrinsic::x86_xop_vpperm; // "__builtin_ia32_vpperm" + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "ot", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vprotb; // "__builtin_ia32_vprotb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vprotd; // "__builtin_ia32_vprotd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vprotq; // "__builtin_ia32_vprotq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vprotw; // "__builtin_ia32_vprotw" + } + break; + case 's': // 8 strings to match. + if (BuiltinName[18] != 'h') + break; + switch (BuiltinName[19]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpshab; // "__builtin_ia32_vpshab" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpshad; // "__builtin_ia32_vpshad" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpshaq; // "__builtin_ia32_vpshaq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpshaw; // "__builtin_ia32_vpshaw" + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpshlb; // "__builtin_ia32_vpshlb" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpshld; // "__builtin_ia32_vpshld" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpshlq; // "__builtin_ia32_vpshlq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpshlw; // "__builtin_ia32_vpshlw" + } + break; + } + break; + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "bject_size", 10)) + break; + return Intrinsic::objectsize; // "__builtin_object_size" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "nwind_init", 10)) + break; + return Intrinsic::eh_unwind_init; // "__builtin_unwind_init" + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "sspacep_", 8)) + break; + switch (BuiltinName[16]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "onst", 4)) + break; + return Intrinsic::nvvm_isspacep_const; // "__nvvm_isspacep_const" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ocal", 4)) + break; + return Intrinsic::nvvm_isspacep_local; // "__nvvm_isspacep_local" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "sqrt_approx_", 12)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::nvvm_rsqrt_approx_d; // "__nvvm_rsqrt_approx_d" + case 'f': // 1 string to match. + return Intrinsic::nvvm_rsqrt_approx_f; // "__nvvm_rsqrt_approx_f" + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "turate_ftz_f", 12)) + break; + return Intrinsic::nvvm_saturate_ftz_f; // "__nvvm_saturate_ftz_f" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "q_array_size", 12)) + break; + return Intrinsic::nvvm_suq_array_size; // "__nvvm_suq_array_size" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "ap_lo_hi_b64", 12)) + break; + return Intrinsic::nvvm_swap_lo_hi_b64; // "__nvvm_swap_lo_hi_b64" + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "xq_array_size", 13)) + break; + return Intrinsic::nvvm_txq_array_size; // "__nvvm_txq_array_size" + } + break; + } + break; + case 22: // 23 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 17 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'i': // 12 strings to match. + if (memcmp(BuiltinName.data()+11, "a32_v", 5)) + break; + switch (BuiltinName[16]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "rcz", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_pd; // "__builtin_ia32_vfrczpd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_ps; // "__builtin_ia32_vfrczps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_sd; // "__builtin_ia32_vfrczsd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vfrcz_ss; // "__builtin_ia32_vfrczss" + } + break; + } + break; + case 'p': // 8 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "omu", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_xop_vpcomub; // "__builtin_ia32_vpcomub" + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpcomud; // "__builtin_ia32_vpcomud" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vpcomuq; // "__builtin_ia32_vpcomuq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpcomuw; // "__builtin_ia32_vpcomuw" + } + break; + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "ot", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_xop_vprotbi; // "__builtin_ia32_vprotbi" + case 'd': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_xop_vprotdi; // "__builtin_ia32_vprotdi" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_xop_vprotqi; // "__builtin_ia32_vprotqi" + case 'w': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_xop_vprotwi; // "__builtin_ia32_vprotwi" + } + break; + } + break; + } + break; + case 'p': // 5 strings to match. + if (memcmp(BuiltinName.data()+11, "tx_", 3)) + break; + switch (BuiltinName[14]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "ar_sync", 7)) + break; + return Intrinsic::ptx_bar_sync; // "__builtin_ptx_bar_sync" + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "ead_pm", 6)) + break; + switch (BuiltinName[21]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::ptx_read_pm0; // "__builtin_ptx_read_pm0" + case '1': // 1 string to match. + return Intrinsic::ptx_read_pm1; // "__builtin_ptx_read_pm1" + case '2': // 1 string to match. + return Intrinsic::ptx_read_pm2; // "__builtin_ptx_read_pm2" + case '3': // 1 string to match. + return Intrinsic::ptx_read_pm3; // "__builtin_ptx_read_pm3" + } + break; + } + break; + } + break; + case 'n': // 6 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'i': // 5 strings to match. + if (BuiltinName[8] != 's') + break; + switch (BuiltinName[9]) { + default: break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+10, "pacep_", 6)) + break; + switch (BuiltinName[16]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "lobal", 5)) + break; + return Intrinsic::nvvm_isspacep_global; // "__nvvm_isspacep_global" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "hared", 5)) + break; + return Intrinsic::nvvm_isspacep_shared; // "__nvvm_isspacep_shared" + } + break; + case 't': // 3 strings to match. + if (memcmp(BuiltinName.data()+10, "ypep_", 5)) + break; + switch (BuiltinName[15]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "mpler", 5)) + break; + return Intrinsic::nvvm_istypep_sampler; // "__nvvm_istypep_sampler" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "rface", 5)) + break; + return Intrinsic::nvvm_istypep_surface; // "__nvvm_istypep_surface" + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "exture", 6)) + break; + return Intrinsic::nvvm_istypep_texture; // "__nvvm_istypep_texture" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "xq_num_samples", 14)) + break; + return Intrinsic::nvvm_txq_num_samples; // "__nvvm_txq_num_samples" + } + break; + } + break; + case 23: // 21 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 14 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'i': // 12 strings to match. + if (memcmp(BuiltinName.data()+11, "a32_vp", 6)) + break; + switch (BuiltinName[17]) { + default: break; + case 'h': // 9 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+19, "dd", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddbd; // "__builtin_ia32_vphaddbd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddbq; // "__builtin_ia32_vphaddbq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vphaddbw; // "__builtin_ia32_vphaddbw" + } + break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'q') + break; + return Intrinsic::x86_xop_vphadddq; // "__builtin_ia32_vphadddq" + case 'w': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddwd; // "__builtin_ia32_vphaddwd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddwq; // "__builtin_ia32_vphaddwq" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(BuiltinName.data()+19, "ub", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[22] != 'w') + break; + return Intrinsic::x86_xop_vphsubbw; // "__builtin_ia32_vphsubbw" + case 'd': // 1 string to match. + if (BuiltinName[22] != 'q') + break; + return Intrinsic::x86_xop_vphsubdq; // "__builtin_ia32_vphsubdq" + case 'w': // 1 string to match. + if (BuiltinName[22] != 'd') + break; + return Intrinsic::x86_xop_vphsubwd; // "__builtin_ia32_vphsubwd" + } + break; + } + break; + case 'm': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "acs", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'd') + break; + return Intrinsic::x86_xop_vpmacsdd; // "__builtin_ia32_vpmacsdd" + case 'w': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpmacswd; // "__builtin_ia32_vpmacswd" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpmacsww; // "__builtin_ia32_vpmacsww" + } + break; + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "tx_read_smid", 12)) + break; + return Intrinsic::ptx_read_smid; // "__builtin_ptx_read_smid" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "tack_restore", 12)) + break; + return Intrinsic::stackrestore; // "__builtin_stack_restore" + } + break; + case 'n': // 7 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "os_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_cos_approx_ftz_f; // "__nvvm_cos_approx_ftz_f" + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "iv_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_div_approx_ftz_f; // "__nvvm_div_approx_ftz_f" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "x2_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_ex2_approx_ftz_f; // "__nvvm_ex2_approx_ftz_f" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "g2_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_lg2_approx_ftz_f; // "__nvvm_lg2_approx_ftz_f" + case 'r': // 2 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "p_approx_ftz_d", 14)) + break; + return Intrinsic::nvvm_rcp_approx_ftz_d; // "__nvvm_rcp_approx_ftz_d" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "tate_right_b64", 14)) + break; + return Intrinsic::nvvm_rotate_right_b64; // "__nvvm_rotate_right_b64" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "in_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_sin_approx_ftz_f; // "__nvvm_sin_approx_ftz_f" + } + break; + } + break; + case 24: // 30 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 18 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'i': // 12 strings to match. + if (memcmp(BuiltinName.data()+11, "a32_vp", 6)) + break; + switch (BuiltinName[17]) { + default: break; + case 'h': // 6 strings to match. + if (memcmp(BuiltinName.data()+18, "addu", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case 'b': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphaddubd; // "__builtin_ia32_vphaddubd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphaddubq; // "__builtin_ia32_vphaddubq" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vphaddubw; // "__builtin_ia32_vphaddubw" + } + break; + case 'd': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_xop_vphaddudq; // "__builtin_ia32_vphaddudq" + case 'w': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vphadduwd; // "__builtin_ia32_vphadduwd" + case 'q': // 1 string to match. + return Intrinsic::x86_xop_vphadduwq; // "__builtin_ia32_vphadduwq" + } + break; + } + break; + case 'm': // 6 strings to match. + if (BuiltinName[18] != 'a') + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 5 strings to match. + if (BuiltinName[20] != 's') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[22] != 'q') + break; + switch (BuiltinName[23]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::x86_xop_vpmacsdqh; // "__builtin_ia32_vpmacsdqh" + case 'l': // 1 string to match. + return Intrinsic::x86_xop_vpmacsdql; // "__builtin_ia32_vpmacsdql" + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[23] != 'd') + break; + return Intrinsic::x86_xop_vpmacssdd; // "__builtin_ia32_vpmacssdd" + case 'w': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpmacsswd; // "__builtin_ia32_vpmacsswd" + case 'w': // 1 string to match. + return Intrinsic::x86_xop_vpmacssww; // "__builtin_ia32_vpmacssww" + } + break; + } + break; + } + break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "cswd", 4)) + break; + return Intrinsic::x86_xop_vpmadcswd; // "__builtin_ia32_vpmadcswd" + } + break; + } + break; + case 'p': // 6 strings to match. + if (memcmp(BuiltinName.data()+11, "tx_read_", 8)) + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "lock", 4)) + break; + return Intrinsic::ptx_read_clock; // "__builtin_ptx_read_clock" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "smid", 4)) + break; + return Intrinsic::ptx_read_nsmid; // "__builtin_ptx_read_nsmid" + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "id_", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_tid_w; // "__builtin_ptx_read_tid_w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_tid_x; // "__builtin_ptx_read_tid_x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_tid_y; // "__builtin_ptx_read_tid_y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_tid_z; // "__builtin_ptx_read_tid_z" + } + break; + } + break; + } + break; + case 'n': // 12 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 's': // 11 strings to match. + switch (BuiltinName[8]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+9, "rt_approx_ftz_f", 15)) + break; + return Intrinsic::nvvm_sqrt_approx_ftz_f; // "__nvvm_sqrt_approx_ftz_f" + case 'u': // 10 strings to match. + switch (BuiltinName[9]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "_channel_order", 14)) + break; + return Intrinsic::nvvm_suq_channel_order; // "__nvvm_suq_channel_order" + case 's': // 9 strings to match. + if (memcmp(BuiltinName.data()+10, "t_", 2)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 6 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i8_", 5)) + break; + switch (BuiltinName[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_trap; // "__nvvm_sust_b_1d_i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_zero; // "__nvvm_sust_b_1d_i8_zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i8_", 5)) + break; + switch (BuiltinName[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_trap; // "__nvvm_sust_b_2d_i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_zero; // "__nvvm_sust_b_2d_i8_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i8_", 5)) + break; + switch (BuiltinName[20]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_trap; // "__nvvm_sust_b_3d_i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_zero; // "__nvvm_sust_b_3d_i8_zero" + } + break; + } + break; + case 'p': // 3 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "d_i8_trap", 9)) + break; + return Intrinsic::nvvm_sust_p_1d_i8_trap; // "__nvvm_sust_p_1d_i8_trap" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "d_i8_trap", 9)) + break; + return Intrinsic::nvvm_sust_p_2d_i8_trap; // "__nvvm_sust_p_2d_i8_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "d_i8_trap", 9)) + break; + return Intrinsic::nvvm_sust_p_3d_i8_trap; // "__nvvm_sust_p_3d_i8_trap" + } + break; + } + break; + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "xq_channel_order", 16)) + break; + return Intrinsic::nvvm_txq_channel_order; // "__nvvm_txq_channel_order" + } + break; + } + break; + case 25: // 44 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 16 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'i': // 9 strings to match. + switch (BuiltinName[11]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+12, "32_v", 4)) + break; + switch (BuiltinName[16]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "rczp", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_xop_vfrcz_pd_256; // "__builtin_ia32_vfrczpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_xop_vfrcz_ps_256; // "__builtin_ia32_vfrczps256" + } + break; + case 'p': // 6 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "mov_256", 7)) + break; + return Intrinsic::x86_xop_vpcmov_256; // "__builtin_ia32_vpcmov_256" + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "rmil2p", 6)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_xop_vpermil2pd; // "__builtin_ia32_vpermil2pd" + case 's': // 1 string to match. + return Intrinsic::x86_xop_vpermil2ps; // "__builtin_ia32_vpermil2ps" + } + break; + case 'm': // 3 strings to match. + if (BuiltinName[18] != 'a') + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "ssdq", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::x86_xop_vpmacssdqh; // "__builtin_ia32_vpmacssdqh" + case 'l': // 1 string to match. + return Intrinsic::x86_xop_vpmacssdql; // "__builtin_ia32_vpmacssdql" + } + break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "csswd", 5)) + break; + return Intrinsic::x86_xop_vpmadcsswd; // "__builtin_ia32_vpmadcsswd" + } + break; + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "it_trampoline", 13)) + break; + return Intrinsic::init_trampoline; // "__builtin_init_trampoline" + } + break; + case 'p': // 7 strings to match. + if (memcmp(BuiltinName.data()+11, "tx_read_", 8)) + break; + switch (BuiltinName[19]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "ridid", 5)) + break; + return Intrinsic::ptx_read_gridid; // "__builtin_ptx_read_gridid" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "aneid", 5)) + break; + return Intrinsic::ptx_read_laneid; // "__builtin_ptx_read_laneid" + case 'n': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "tid_", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_ntid_w; // "__builtin_ptx_read_ntid_w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_ntid_x; // "__builtin_ptx_read_ntid_x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_ntid_y; // "__builtin_ptx_read_ntid_y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_ntid_z; // "__builtin_ptx_read_ntid_z" + } + break; + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "arpid", 5)) + break; + return Intrinsic::ptx_read_warpid; // "__builtin_ptx_read_warpid" + } + break; + } + break; + case 'n': // 28 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+8, "sqrt_approx_ftz_f", 17)) + break; + return Intrinsic::nvvm_rsqrt_approx_ftz_f; // "__nvvm_rsqrt_approx_ftz_f" + case 's': // 27 strings to match. + if (memcmp(BuiltinName.data()+8, "ust_", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 21 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "6_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_trap; // "__nvvm_sust_b_1d_i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_zero; // "__nvvm_sust_b_1d_i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_trap; // "__nvvm_sust_b_1d_i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_zero; // "__nvvm_sust_b_1d_i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "4_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_trap; // "__nvvm_sust_b_1d_i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_zero; // "__nvvm_sust_b_1d_i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_i8_clamp; // "__nvvm_sust_b_1d_i8_clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "6_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_trap; // "__nvvm_sust_b_2d_i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_zero; // "__nvvm_sust_b_2d_i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_trap; // "__nvvm_sust_b_2d_i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_zero; // "__nvvm_sust_b_2d_i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "4_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_trap; // "__nvvm_sust_b_2d_i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_zero; // "__nvvm_sust_b_2d_i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_i8_clamp; // "__nvvm_sust_b_2d_i8_clamp" + } + break; + case '3': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "6_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_trap; // "__nvvm_sust_b_3d_i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_zero; // "__nvvm_sust_b_3d_i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_trap; // "__nvvm_sust_b_3d_i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_zero; // "__nvvm_sust_b_3d_i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "4_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_trap; // "__nvvm_sust_b_3d_i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_zero; // "__nvvm_sust_b_3d_i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_i8_clamp; // "__nvvm_sust_b_3d_i8_clamp" + } + break; + } + break; + case 'p': // 6 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_i16_trap; // "__nvvm_sust_p_1d_i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_i32_trap; // "__nvvm_sust_p_1d_i32_trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_i16_trap; // "__nvvm_sust_p_2d_i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_i32_trap; // "__nvvm_sust_p_2d_i32_trap" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_i", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_i16_trap; // "__nvvm_sust_p_3d_i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_i32_trap; // "__nvvm_sust_p_3d_i32_trap" + } + break; + } + break; + } + break; + } + break; + } + break; + case 26: // 36 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 6 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_ptx_read_", 16)) + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 5 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "ock64", 5)) + break; + return Intrinsic::ptx_read_clock64; // "__builtin_ptx_read_clock64" + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+21, "aid_", 4)) + break; + switch (BuiltinName[25]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_ctaid_w; // "__builtin_ptx_read_ctaid_w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_ctaid_x; // "__builtin_ptx_read_ctaid_x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_ctaid_y; // "__builtin_ptx_read_ctaid_y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_ctaid_z; // "__builtin_ptx_read_ctaid_z" + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "warpid", 6)) + break; + return Intrinsic::ptx_read_nwarpid; // "__builtin_ptx_read_nwarpid" + } + break; + case 'n': // 30 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'r': // 3 strings to match. + if (memcmp(BuiltinName.data()+8, "ead_ptx_sreg_tid_", 17)) + break; + switch (BuiltinName[25]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_x; // "__nvvm_read_ptx_sreg_tid_x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_y; // "__nvvm_read_ptx_sreg_tid_y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_tid_z; // "__nvvm_read_ptx_sreg_tid_z" + } + break; + case 's': // 27 strings to match. + if (memcmp(BuiltinName.data()+8, "ust_", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 21 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'i': // 3 strings to match. + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i16_clamp; // "__nvvm_sust_b_1d_i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i32_clamp; // "__nvvm_sust_b_1d_i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_i64_clamp; // "__nvvm_sust_b_1d_i64_clamp" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_trap; // "__nvvm_sust_b_1d_v2i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_zero; // "__nvvm_sust_b_1d_v2i8_zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_trap; // "__nvvm_sust_b_1d_v4i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_zero; // "__nvvm_sust_b_1d_v4i8_zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'i': // 3 strings to match. + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i16_clamp; // "__nvvm_sust_b_2d_i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i32_clamp; // "__nvvm_sust_b_2d_i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_i64_clamp; // "__nvvm_sust_b_2d_i64_clamp" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_trap; // "__nvvm_sust_b_2d_v2i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_zero; // "__nvvm_sust_b_2d_v2i8_zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_trap; // "__nvvm_sust_b_2d_v4i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_zero; // "__nvvm_sust_b_2d_v4i8_zero" + } + break; + } + break; + } + break; + case '3': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'i': // 3 strings to match. + switch (BuiltinName[18]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i16_clamp; // "__nvvm_sust_b_3d_i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i32_clamp; // "__nvvm_sust_b_3d_i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_i64_clamp; // "__nvvm_sust_b_3d_i64_clamp" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_trap; // "__nvvm_sust_b_3d_v2i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_zero; // "__nvvm_sust_b_3d_v2i8_zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "i8_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_trap; // "__nvvm_sust_b_3d_v4i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_zero; // "__nvvm_sust_b_3d_v4i8_zero" + } + break; + } + break; + } + break; + } + break; + case 'p': // 6 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i8_trap; // "__nvvm_sust_p_1d_v2i8_trap" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i8_trap; // "__nvvm_sust_p_1d_v4i8_trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i8_trap; // "__nvvm_sust_p_2d_v2i8_trap" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i8_trap; // "__nvvm_sust_p_2d_v4i8_trap" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i8_trap; // "__nvvm_sust_p_3d_v2i8_trap" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i8_trap; // "__nvvm_sust_p_3d_v4i8_trap" + } + break; + } + break; + } + break; + } + break; + } + break; + case 27: // 56 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 5 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_", 7)) + break; + switch (BuiltinName[10]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "djust_trampoline", 16)) + break; + return Intrinsic::adjust_trampoline; // "__builtin_adjust_trampoline" + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+11, "tx_read_nctaid_", 15)) + break; + switch (BuiltinName[26]) { + default: break; + case 'w': // 1 string to match. + return Intrinsic::ptx_read_nctaid_w; // "__builtin_ptx_read_nctaid_w" + case 'x': // 1 string to match. + return Intrinsic::ptx_read_nctaid_x; // "__builtin_ptx_read_nctaid_x" + case 'y': // 1 string to match. + return Intrinsic::ptx_read_nctaid_y; // "__builtin_ptx_read_nctaid_y" + case 'z': // 1 string to match. + return Intrinsic::ptx_read_nctaid_z; // "__builtin_ptx_read_nctaid_z" + } + break; + } + break; + case 'n': // 51 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'r': // 3 strings to match. + if (memcmp(BuiltinName.data()+8, "ead_ptx_sreg_ntid_", 18)) + break; + switch (BuiltinName[26]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_x; // "__nvvm_read_ptx_sreg_ntid_x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_y; // "__nvvm_read_ptx_sreg_ntid_y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ntid_z; // "__nvvm_read_ptx_sreg_ntid_z" + } + break; + case 's': // 48 strings to match. + if (memcmp(BuiltinName.data()+8, "ust_", 4)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 36 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_trap; // "__nvvm_sust_b_1d_v2i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_zero; // "__nvvm_sust_b_1d_v2i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_trap; // "__nvvm_sust_b_1d_v2i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_zero; // "__nvvm_sust_b_1d_v2i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "4_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_trap; // "__nvvm_sust_b_1d_v2i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_zero; // "__nvvm_sust_b_1d_v2i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i8_clamp; // "__nvvm_sust_b_1d_v2i8_clamp" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_trap; // "__nvvm_sust_b_1d_v4i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_zero; // "__nvvm_sust_b_1d_v4i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_trap; // "__nvvm_sust_b_1d_v4i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_zero; // "__nvvm_sust_b_1d_v4i32_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i8_clamp; // "__nvvm_sust_b_1d_v4i8_clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_trap; // "__nvvm_sust_b_2d_v2i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_zero; // "__nvvm_sust_b_2d_v2i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_trap; // "__nvvm_sust_b_2d_v2i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_zero; // "__nvvm_sust_b_2d_v2i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "4_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_trap; // "__nvvm_sust_b_2d_v2i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_zero; // "__nvvm_sust_b_2d_v2i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i8_clamp; // "__nvvm_sust_b_2d_v2i8_clamp" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_trap; // "__nvvm_sust_b_2d_v4i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_zero; // "__nvvm_sust_b_2d_v4i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_trap; // "__nvvm_sust_b_2d_v4i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_zero; // "__nvvm_sust_b_2d_v4i32_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i8_clamp; // "__nvvm_sust_b_2d_v4i8_clamp" + } + break; + } + break; + case '3': // 12 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_trap; // "__nvvm_sust_b_3d_v2i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_zero; // "__nvvm_sust_b_3d_v2i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_trap; // "__nvvm_sust_b_3d_v2i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_zero; // "__nvvm_sust_b_3d_v2i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "4_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_trap; // "__nvvm_sust_b_3d_v2i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_zero; // "__nvvm_sust_b_3d_v2i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i8_clamp; // "__nvvm_sust_b_3d_v2i8_clamp" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "6_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_trap; // "__nvvm_sust_b_3d_v4i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_zero; // "__nvvm_sust_b_3d_v4i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "2_", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_trap; // "__nvvm_sust_b_3d_v4i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_zero; // "__nvvm_sust_b_3d_v4i32_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i8_clamp; // "__nvvm_sust_b_3d_v4i8_clamp" + } + break; + } + break; + } + break; + case 'p': // 12 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i16_trap; // "__nvvm_sust_p_1d_v2i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v2i32_trap; // "__nvvm_sust_p_1d_v2i32_trap" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i16_trap; // "__nvvm_sust_p_1d_v4i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_v4i32_trap; // "__nvvm_sust_p_1d_v4i32_trap" + } + break; + } + break; + case '2': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i16_trap; // "__nvvm_sust_p_2d_v2i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v2i32_trap; // "__nvvm_sust_p_2d_v2i32_trap" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i16_trap; // "__nvvm_sust_p_2d_v4i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_v4i32_trap; // "__nvvm_sust_p_2d_v4i32_trap" + } + break; + } + break; + case '3': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i16_trap; // "__nvvm_sust_p_3d_v2i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v2i32_trap; // "__nvvm_sust_p_3d_v2i32_trap" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i16_trap; // "__nvvm_sust_p_3d_v4i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_3d_v4i32_trap; // "__nvvm_sust_p_3d_v4i32_trap" + } + break; + } + break; + } + break; + } + break; + } + break; + } + break; + case 28: // 33 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_ia32_vpermil2p", 21)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_xop_vpermil2pd_256; // "__builtin_ia32_vpermil2pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_xop_vpermil2ps_256; // "__builtin_ia32_vpermil2ps256" + } + break; + case 'n': // 31 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_", 4)) + break; + switch (BuiltinName[7]) { + default: break; + case 'r': // 13 strings to match. + if (memcmp(BuiltinName.data()+8, "ead_ptx_sreg_", 13)) + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "taid_", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_x; // "__nvvm_read_ptx_sreg_ctaid_x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_y; // "__nvvm_read_ptx_sreg_ctaid_y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_ctaid_z; // "__nvvm_read_ptx_sreg_ctaid_z" + } + break; + case 'e': // 10 strings to match. + if (memcmp(BuiltinName.data()+22, "nvreg", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg0; // "__nvvm_read_ptx_sreg_envreg0" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg1; // "__nvvm_read_ptx_sreg_envreg1" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg2; // "__nvvm_read_ptx_sreg_envreg2" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg3; // "__nvvm_read_ptx_sreg_envreg3" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg4; // "__nvvm_read_ptx_sreg_envreg4" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg5; // "__nvvm_read_ptx_sreg_envreg5" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg6; // "__nvvm_read_ptx_sreg_envreg6" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg7; // "__nvvm_read_ptx_sreg_envreg7" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg8; // "__nvvm_read_ptx_sreg_envreg8" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg9; // "__nvvm_read_ptx_sreg_envreg9" + } + break; + } + break; + case 's': // 16 strings to match. + if (BuiltinName[8] != 'u') + break; + switch (BuiltinName[9]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+10, "_channel_data_type", 18)) + break; + return Intrinsic::nvvm_suq_channel_data_type; // "__nvvm_suq_channel_data_type" + case 's': // 15 strings to match. + if (memcmp(BuiltinName.data()+10, "t_b_", 4)) + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i16_clamp; // "__nvvm_sust_b_1d_v2i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i32_clamp; // "__nvvm_sust_b_1d_v2i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v2i64_clamp; // "__nvvm_sust_b_1d_v2i64_clamp" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i16_clamp; // "__nvvm_sust_b_1d_v4i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_v4i32_clamp; // "__nvvm_sust_b_1d_v4i32_clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i16_clamp; // "__nvvm_sust_b_2d_v2i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i32_clamp; // "__nvvm_sust_b_2d_v2i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v2i64_clamp; // "__nvvm_sust_b_2d_v2i64_clamp" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i16_clamp; // "__nvvm_sust_b_2d_v4i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_v4i32_clamp; // "__nvvm_sust_b_2d_v4i32_clamp" + } + break; + } + break; + case '3': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "d_v", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i16_clamp; // "__nvvm_sust_b_3d_v2i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i32_clamp; // "__nvvm_sust_b_3d_v2i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v2i64_clamp; // "__nvvm_sust_b_3d_v2i64_clamp" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[19] != 'i') + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i16_clamp; // "__nvvm_sust_b_3d_v4i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_3d_v4i32_clamp; // "__nvvm_sust_b_3d_v4i32_clamp" + } + break; + } + break; + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+8, "xq_", 3)) + break; + switch (BuiltinName[11]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "hannel_data_type", 16)) + break; + return Intrinsic::nvvm_txq_channel_data_type; // "__nvvm_txq_channel_data_type" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+12, "um_mipmap_levels", 16)) + break; + return Intrinsic::nvvm_txq_num_mipmap_levels; // "__nvvm_txq_num_mipmap_levels" + } + break; + } + break; + } + break; + case 29: // 26 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_read_ptx_sreg_", 21)) + break; + switch (BuiltinName[21]) { + default: break; + case 'e': // 22 strings to match. + if (memcmp(BuiltinName.data()+22, "nvreg", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case '1': // 10 strings to match. + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg10; // "__nvvm_read_ptx_sreg_envreg10" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg11; // "__nvvm_read_ptx_sreg_envreg11" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg12; // "__nvvm_read_ptx_sreg_envreg12" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg13; // "__nvvm_read_ptx_sreg_envreg13" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg14; // "__nvvm_read_ptx_sreg_envreg14" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg15; // "__nvvm_read_ptx_sreg_envreg15" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg16; // "__nvvm_read_ptx_sreg_envreg16" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg17; // "__nvvm_read_ptx_sreg_envreg17" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg18; // "__nvvm_read_ptx_sreg_envreg18" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg19; // "__nvvm_read_ptx_sreg_envreg19" + } + break; + case '2': // 10 strings to match. + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg20; // "__nvvm_read_ptx_sreg_envreg20" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg21; // "__nvvm_read_ptx_sreg_envreg21" + case '2': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg22; // "__nvvm_read_ptx_sreg_envreg22" + case '3': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg23; // "__nvvm_read_ptx_sreg_envreg23" + case '4': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg24; // "__nvvm_read_ptx_sreg_envreg24" + case '5': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg25; // "__nvvm_read_ptx_sreg_envreg25" + case '6': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg26; // "__nvvm_read_ptx_sreg_envreg26" + case '7': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg27; // "__nvvm_read_ptx_sreg_envreg27" + case '8': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg28; // "__nvvm_read_ptx_sreg_envreg28" + case '9': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg29; // "__nvvm_read_ptx_sreg_envreg29" + } + break; + case '3': // 2 strings to match. + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg30; // "__nvvm_read_ptx_sreg_envreg30" + case '1': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_envreg31; // "__nvvm_read_ptx_sreg_envreg31" + } + break; + } + break; + case 'n': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "ctaid_", 6)) + break; + switch (BuiltinName[28]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_x; // "__nvvm_read_ptx_sreg_nctaid_x" + case 'y': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_y; // "__nvvm_read_ptx_sreg_nctaid_y" + case 'z': // 1 string to match. + return Intrinsic::nvvm_read_ptx_sreg_nctaid_z; // "__nvvm_read_ptx_sreg_nctaid_z" + } + break; + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "arpsize", 7)) + break; + return Intrinsic::nvvm_read_ptx_sreg_warpsize; // "__nvvm_read_ptx_sreg_warpsize" + } + break; + case 30: // 11 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'b': // 5 strings to match. + if (memcmp(BuiltinName.data()+3, "uiltin_ptx_read_lanemask_", 25)) + break; + switch (BuiltinName[28]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[29] != 'q') + break; + return Intrinsic::ptx_read_lanemask_eq; // "__builtin_ptx_read_lanemask_eq" + case 'g': // 2 strings to match. + switch (BuiltinName[29]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::ptx_read_lanemask_ge; // "__builtin_ptx_read_lanemask_ge" + case 't': // 1 string to match. + return Intrinsic::ptx_read_lanemask_gt; // "__builtin_ptx_read_lanemask_gt" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[29]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::ptx_read_lanemask_le; // "__builtin_ptx_read_lanemask_le" + case 't': // 1 string to match. + return Intrinsic::ptx_read_lanemask_lt; // "__builtin_ptx_read_lanemask_lt" + } + break; + } + break; + case 'n': // 6 strings to match. + if (memcmp(BuiltinName.data()+3, "vvm_sust_", 9)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 4 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i8_", 11)) + break; + switch (BuiltinName[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_trap; // "__nvvm_sust_b_1d_array_i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_zero; // "__nvvm_sust_b_1d_array_i8_zero" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i8_", 11)) + break; + switch (BuiltinName[26]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_trap; // "__nvvm_sust_b_2d_array_i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_zero; // "__nvvm_sust_b_2d_array_i8_zero" + } + break; + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "d_array_i8_trap", 15)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i8_trap; // "__nvvm_sust_p_1d_array_i8_trap" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "d_array_i8_trap", 15)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i8_trap; // "__nvvm_sust_p_2d_array_i8_trap" + } + break; + } + break; + } + break; + case 31: // 18 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_sust_", 12)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 14 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "6_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_trap; // "__nvvm_sust_b_1d_array_i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_zero; // "__nvvm_sust_b_1d_array_i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "2_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_trap; // "__nvvm_sust_b_1d_array_i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_zero; // "__nvvm_sust_b_1d_array_i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "4_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_trap; // "__nvvm_sust_b_1d_array_i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_zero; // "__nvvm_sust_b_1d_array_i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i8_clamp; // "__nvvm_sust_b_1d_array_i8_clamp" + } + break; + case '2': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "6_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_trap; // "__nvvm_sust_b_2d_array_i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_zero; // "__nvvm_sust_b_2d_array_i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "2_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_trap; // "__nvvm_sust_b_2d_array_i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_zero; // "__nvvm_sust_b_2d_array_i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "4_", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_trap; // "__nvvm_sust_b_2d_array_i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_zero; // "__nvvm_sust_b_2d_array_i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i8_clamp; // "__nvvm_sust_b_2d_array_i8_clamp" + } + break; + } + break; + case 'p': // 4 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i16_trap; // "__nvvm_sust_p_1d_array_i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_i32_trap; // "__nvvm_sust_p_1d_array_i32_trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_i", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i16_trap; // "__nvvm_sust_p_2d_array_i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_i32_trap; // "__nvvm_sust_p_2d_array_i32_trap" + } + break; + } + break; + } + break; + case 32: // 18 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_sust_", 12)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 14 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_", 8)) + break; + switch (BuiltinName[23]) { + default: break; + case 'i': // 3 strings to match. + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i16_clamp; // "__nvvm_sust_b_1d_array_i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i32_clamp; // "__nvvm_sust_b_1d_array_i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_i64_clamp; // "__nvvm_sust_b_1d_array_i64_clamp" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "i8_", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_trap; // "__nvvm_sust_b_1d_array_v2i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_zero; // "__nvvm_sust_b_1d_array_v2i8_zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "i8_", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_trap; // "__nvvm_sust_b_1d_array_v4i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_zero; // "__nvvm_sust_b_1d_array_v4i8_zero" + } + break; + } + break; + } + break; + case '2': // 7 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_", 8)) + break; + switch (BuiltinName[23]) { + default: break; + case 'i': // 3 strings to match. + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i16_clamp; // "__nvvm_sust_b_2d_array_i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i32_clamp; // "__nvvm_sust_b_2d_array_i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_i64_clamp; // "__nvvm_sust_b_2d_array_i64_clamp" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "i8_", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_trap; // "__nvvm_sust_b_2d_array_v2i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_zero; // "__nvvm_sust_b_2d_array_v2i8_zero" + } + break; + case '4': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "i8_", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_trap; // "__nvvm_sust_b_2d_array_v4i8_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_zero; // "__nvvm_sust_b_2d_array_v4i8_zero" + } + break; + } + break; + } + break; + } + break; + case 'p': // 4 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i8_trap; // "__nvvm_sust_p_1d_array_v2i8_trap" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i8_trap; // "__nvvm_sust_p_1d_array_v4i8_trap" + } + break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i8_trap; // "__nvvm_sust_p_2d_array_v2i8_trap" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "i8_trap", 7)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i8_trap; // "__nvvm_sust_p_2d_array_v4i8_trap" + } + break; + } + break; + } + break; + case 33: // 32 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_sust_", 12)) + break; + switch (BuiltinName[12]) { + default: break; + case 'b': // 24 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 12 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "6_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_trap; // "__nvvm_sust_b_1d_array_v2i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_zero; // "__nvvm_sust_b_1d_array_v2i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "2_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_trap; // "__nvvm_sust_b_1d_array_v2i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_zero; // "__nvvm_sust_b_1d_array_v2i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "4_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_trap; // "__nvvm_sust_b_1d_array_v2i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_zero; // "__nvvm_sust_b_1d_array_v2i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i8_clamp; // "__nvvm_sust_b_1d_array_v2i8_clamp" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "6_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_trap; // "__nvvm_sust_b_1d_array_v4i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_zero; // "__nvvm_sust_b_1d_array_v4i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "2_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_trap; // "__nvvm_sust_b_1d_array_v4i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_zero; // "__nvvm_sust_b_1d_array_v4i32_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i8_clamp; // "__nvvm_sust_b_1d_array_v4i8_clamp" + } + break; + } + break; + case '2': // 12 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "6_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_trap; // "__nvvm_sust_b_2d_array_v2i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_zero; // "__nvvm_sust_b_2d_array_v2i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "2_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_trap; // "__nvvm_sust_b_2d_array_v2i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_zero; // "__nvvm_sust_b_2d_array_v2i32_zero" + } + break; + case '6': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "4_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_trap; // "__nvvm_sust_b_2d_array_v2i64_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_zero; // "__nvvm_sust_b_2d_array_v2i64_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i8_clamp; // "__nvvm_sust_b_2d_array_v2i8_clamp" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "6_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_trap; // "__nvvm_sust_b_2d_array_v4i16_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_zero; // "__nvvm_sust_b_2d_array_v4i16_zero" + } + break; + case '3': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "2_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "rap", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_trap; // "__nvvm_sust_b_2d_array_v4i32_trap" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ero", 3)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_zero; // "__nvvm_sust_b_2d_array_v4i32_zero" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_clamp", 6)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i8_clamp; // "__nvvm_sust_b_2d_array_v4i8_clamp" + } + break; + } + break; + } + break; + case 'p': // 8 strings to match. + if (BuiltinName[13] != '_') + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i16_trap; // "__nvvm_sust_p_1d_array_v2i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v2i32_trap; // "__nvvm_sust_p_1d_array_v2i32_trap" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i16_trap; // "__nvvm_sust_p_1d_array_v4i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_1d_array_v4i32_trap; // "__nvvm_sust_p_1d_array_v4i32_trap" + } + break; + } + break; + case '2': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i16_trap; // "__nvvm_sust_p_2d_array_v2i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v2i32_trap; // "__nvvm_sust_p_2d_array_v2i32_trap" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i16_trap; // "__nvvm_sust_p_2d_array_v4i16_trap" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_trap", 6)) + break; + return Intrinsic::nvvm_sust_p_2d_array_v4i32_trap; // "__nvvm_sust_p_2d_array_v4i32_trap" + } + break; + } + break; + } + break; + } + break; + case 34: // 10 strings to match. + if (memcmp(BuiltinName.data()+0, "__nvvm_sust_b_", 14)) + break; + switch (BuiltinName[14]) { + default: break; + case '1': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i16_clamp; // "__nvvm_sust_b_1d_array_v2i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i32_clamp; // "__nvvm_sust_b_1d_array_v2i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v2i64_clamp; // "__nvvm_sust_b_1d_array_v2i64_clamp" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i16_clamp; // "__nvvm_sust_b_1d_array_v4i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_1d_array_v4i32_clamp; // "__nvvm_sust_b_1d_array_v4i32_clamp" + } + break; + } + break; + case '2': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "d_array_v", 9)) + break; + switch (BuiltinName[24]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i16_clamp; // "__nvvm_sust_b_2d_array_v2i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i32_clamp; // "__nvvm_sust_b_2d_array_v2i32_clamp" + case '6': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "4_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v2i64_clamp; // "__nvvm_sust_b_2d_array_v2i64_clamp" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[25] != 'i') + break; + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "6_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i16_clamp; // "__nvvm_sust_b_2d_array_v4i16_clamp" + case '3': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "2_clamp", 7)) + break; + return Intrinsic::nvvm_sust_b_2d_array_v4i32_clamp; // "__nvvm_sust_b_2d_array_v4i32_clamp" + } + break; + } + break; + } + break; + } + } + if (TargetPrefix == "AMDGPU") { + switch (BuiltinName.size()) { + default: break; + case 20: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_amdgpu_r", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[19] != 'p') + break; + return Intrinsic::AMDGPU_rcp; // "__builtin_amdgpu_rcp" + case 's': // 1 string to match. + if (BuiltinName[19] != 'q') + break; + return Intrinsic::AMDGPU_rsq; // "__builtin_amdgpu_rsq" + } + break; + case 25: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_amdgpu_div_fmas", 25)) + break; + return Intrinsic::AMDGPU_div_fmas; // "__builtin_amdgpu_div_fmas" + case 26: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_amdgpu_div_", 21)) + break; + switch (BuiltinName[21]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ixup", 4)) + break; + return Intrinsic::AMDGPU_div_fixup; // "__builtin_amdgpu_div_fixup" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "cale", 4)) + break; + return Intrinsic::AMDGPU_div_scale; // "__builtin_amdgpu_div_scale" + } + break; + case 27: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_amdgpu_trig_preop", 27)) + break; + return Intrinsic::AMDGPU_trig_preop; // "__builtin_amdgpu_trig_preop" + case 28: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_amdgpu_rsq_clamped", 28)) + break; + return Intrinsic::AMDGPU_rsq_clamped; // "__builtin_amdgpu_rsq_clamped" + } + } + if (TargetPrefix == "aarch64") { + switch (BuiltinName.size()) { + default: break; + case 17: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_arm_", 14)) + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'm': // 1 string to match. + if (BuiltinName[16] != 'b') + break; + return Intrinsic::aarch64_dmb; // "__builtin_arm_dmb" + case 's': // 1 string to match. + if (BuiltinName[16] != 'b') + break; + return Intrinsic::aarch64_dsb; // "__builtin_arm_dsb" + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "sb", 2)) + break; + return Intrinsic::aarch64_isb; // "__builtin_arm_isb" + } + break; + } + } + if (TargetPrefix == "arm") { + switch (BuiltinName.size()) { + default: break; + case 17: // 6 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_arm_", 14)) + break; + switch (BuiltinName[14]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "dp", 2)) + break; + return Intrinsic::arm_cdp; // "__builtin_arm_cdp" + case 'd': // 2 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'm': // 1 string to match. + if (BuiltinName[16] != 'b') + break; + return Intrinsic::arm_dmb; // "__builtin_arm_dmb" + case 's': // 1 string to match. + if (BuiltinName[16] != 'b') + break; + return Intrinsic::arm_dsb; // "__builtin_arm_dsb" + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "sb", 2)) + break; + return Intrinsic::arm_isb; // "__builtin_arm_isb" + case 'm': // 2 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[16] != 'r') + break; + return Intrinsic::arm_mcr; // "__builtin_arm_mcr" + case 'r': // 1 string to match. + if (BuiltinName[16] != 'c') + break; + return Intrinsic::arm_mrc; // "__builtin_arm_mrc" + } + break; + } + break; + case 18: // 8 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_arm_", 14)) + break; + switch (BuiltinName[14]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "dp2", 3)) + break; + return Intrinsic::arm_cdp2; // "__builtin_arm_cdp2" + case 'm': // 3 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 2 strings to match. + if (BuiltinName[16] != 'r') + break; + switch (BuiltinName[17]) { + default: break; + case '2': // 1 string to match. + return Intrinsic::arm_mcr2; // "__builtin_arm_mcr2" + case 'r': // 1 string to match. + return Intrinsic::arm_mcrr; // "__builtin_arm_mcrr" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "c2", 2)) + break; + return Intrinsic::arm_mrc2; // "__builtin_arm_mrc2" + } + break; + case 'q': // 2 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "dd", 2)) + break; + return Intrinsic::arm_qadd; // "__builtin_arm_qadd" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ub", 2)) + break; + return Intrinsic::arm_qsub; // "__builtin_arm_qsub" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "sat", 3)) + break; + return Intrinsic::arm_ssat; // "__builtin_arm_ssat" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "sat", 3)) + break; + return Intrinsic::arm_usat; // "__builtin_arm_usat" + } + break; + case 19: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_arm_mcrr2", 19)) + break; + return Intrinsic::arm_mcrr2; // "__builtin_arm_mcrr2" + case 23: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_arm_", 14)) + break; + switch (BuiltinName[14]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "et_fpscr", 8)) + break; + return Intrinsic::arm_get_fpscr; // "__builtin_arm_get_fpscr" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "et_fpscr", 8)) + break; + return Intrinsic::arm_set_fpscr; // "__builtin_arm_set_fpscr" + } + break; + case 24: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_thread_pointer", 24)) + break; + return Intrinsic::arm_thread_pointer; // "__builtin_thread_pointer" + } + } + if (TargetPrefix == "hexagon") { + switch (BuiltinName.size()) { + default: break; + case 18: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_circ_ldd", 18)) + break; + return Intrinsic::hexagon_circ_ldd; // "__builtin_circ_ldd" + case 23: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_or", 4)) + break; + return Intrinsic::hexagon_A2_or; // "__builtin_HEXAGON_A2_or" + case 'C': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_or", 4)) + break; + return Intrinsic::hexagon_C2_or; // "__builtin_HEXAGON_C2_or" + } + break; + case 24: // 23 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 13 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 12 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[23] != 's') + break; + return Intrinsic::hexagon_A2_abs; // "__builtin_HEXAGON_A2_abs" + case 'd': // 1 string to match. + if (BuiltinName[23] != 'd') + break; + return Intrinsic::hexagon_A2_add; // "__builtin_HEXAGON_A2_add" + case 'n': // 1 string to match. + if (BuiltinName[23] != 'd') + break; + return Intrinsic::hexagon_A2_and; // "__builtin_HEXAGON_A2_and" + } + break; + case 'm': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (BuiltinName[23] != 'x') + break; + return Intrinsic::hexagon_A2_max; // "__builtin_HEXAGON_A2_max" + case 'i': // 1 string to match. + if (BuiltinName[23] != 'n') + break; + return Intrinsic::hexagon_A2_min; // "__builtin_HEXAGON_A2_min" + } + break; + case 'n': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[23] != 'g') + break; + return Intrinsic::hexagon_A2_neg; // "__builtin_HEXAGON_A2_neg" + case 'o': // 1 string to match. + if (BuiltinName[23] != 't') + break; + return Intrinsic::hexagon_A2_not; // "__builtin_HEXAGON_A2_not" + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rp", 2)) + break; + return Intrinsic::hexagon_A2_orp; // "__builtin_HEXAGON_A2_orp" + case 's': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (BuiltinName[23] != 't') + break; + return Intrinsic::hexagon_A2_sat; // "__builtin_HEXAGON_A2_sat" + case 'u': // 1 string to match. + if (BuiltinName[23] != 'b') + break; + return Intrinsic::hexagon_A2_sub; // "__builtin_HEXAGON_A2_sub" + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "fr", 2)) + break; + return Intrinsic::hexagon_A2_tfr; // "__builtin_HEXAGON_A2_tfr" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "or", 2)) + break; + return Intrinsic::hexagon_A2_xor; // "__builtin_HEXAGON_A2_xor" + } + break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_orn", 4)) + break; + return Intrinsic::hexagon_A4_orn; // "__builtin_HEXAGON_A4_orn" + } + break; + case 'C': // 5 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nd", 2)) + break; + return Intrinsic::hexagon_C2_and; // "__builtin_HEXAGON_C2_and" + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ux", 2)) + break; + return Intrinsic::hexagon_C2_mux; // "__builtin_HEXAGON_C2_mux" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ot", 2)) + break; + return Intrinsic::hexagon_C2_not; // "__builtin_HEXAGON_C2_not" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rn", 2)) + break; + return Intrinsic::hexagon_C2_orn; // "__builtin_HEXAGON_C2_orn" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "or", 2)) + break; + return Intrinsic::hexagon_C2_xor; // "__builtin_HEXAGON_C2_xor" + } + break; + case 'S': // 5 strings to match. + if (memcmp(BuiltinName.data()+19, "2_c", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'l': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_S2_cl0; // "__builtin_HEXAGON_S2_cl0" + case '1': // 1 string to match. + return Intrinsic::hexagon_S2_cl1; // "__builtin_HEXAGON_S2_cl1" + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_clb; // "__builtin_HEXAGON_S2_clb" + } + break; + case 't': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_S2_ct0; // "__builtin_HEXAGON_S2_ct0" + case '1': // 1 string to match. + return Intrinsic::hexagon_S2_ct1; // "__builtin_HEXAGON_S2_ct1" + } + break; + } + break; + } + break; + case 25: // 42 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 26 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 24 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 6 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "sp", 2)) + break; + return Intrinsic::hexagon_A2_absp; // "__builtin_HEXAGON_A2_absp" + case 'd': // 2 strings to match. + if (BuiltinName[23] != 'd') + break; + switch (BuiltinName[24]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A2_addi; // "__builtin_HEXAGON_A2_addi" + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_addp; // "__builtin_HEXAGON_A2_addp" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "dp", 2)) + break; + return Intrinsic::hexagon_A2_andp; // "__builtin_HEXAGON_A2_andp" + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[24] != 'h') + break; + return Intrinsic::hexagon_A2_aslh; // "__builtin_HEXAGON_A2_aslh" + case 'r': // 1 string to match. + if (BuiltinName[24] != 'h') + break; + return Intrinsic::hexagon_A2_asrh; // "__builtin_HEXAGON_A2_asrh" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[23] != 'x') + break; + switch (BuiltinName[24]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_maxp; // "__builtin_HEXAGON_A2_maxp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A2_maxu; // "__builtin_HEXAGON_A2_maxu" + } + break; + case 'i': // 2 strings to match. + if (BuiltinName[23] != 'n') + break; + switch (BuiltinName[24]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_A2_minp; // "__builtin_HEXAGON_A2_minp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A2_minu; // "__builtin_HEXAGON_A2_minu" + } + break; + } + break; + case 'n': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "gp", 2)) + break; + return Intrinsic::hexagon_A2_negp; // "__builtin_HEXAGON_A2_negp" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "tp", 2)) + break; + return Intrinsic::hexagon_A2_notp; // "__builtin_HEXAGON_A2_notp" + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rir", 3)) + break; + return Intrinsic::hexagon_A2_orir; // "__builtin_HEXAGON_A2_orir" + case 's': // 7 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[23] != 't') + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_satb; // "__builtin_HEXAGON_A2_satb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_sath; // "__builtin_HEXAGON_A2_sath" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "bp", 2)) + break; + return Intrinsic::hexagon_A2_subp; // "__builtin_HEXAGON_A2_subp" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "iz", 2)) + break; + return Intrinsic::hexagon_A2_swiz; // "__builtin_HEXAGON_A2_swiz" + case 'x': // 3 strings to match. + if (BuiltinName[23] != 't') + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_sxtb; // "__builtin_HEXAGON_A2_sxtb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_sxth; // "__builtin_HEXAGON_A2_sxth" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_sxtw; // "__builtin_HEXAGON_A2_sxtw" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "frp", 3)) + break; + return Intrinsic::hexagon_A2_tfrp; // "__builtin_HEXAGON_A2_tfrp" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "orp", 3)) + break; + return Intrinsic::hexagon_A2_xorp; // "__builtin_HEXAGON_A2_xorp" + case 'z': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "xt", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_zxtb; // "__builtin_HEXAGON_A2_zxtb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_zxth; // "__builtin_HEXAGON_A2_zxth" + } + break; + } + break; + case '4': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ndn", 3)) + break; + return Intrinsic::hexagon_A4_andn; // "__builtin_HEXAGON_A4_andn" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rnp", 3)) + break; + return Intrinsic::hexagon_A4_ornp; // "__builtin_HEXAGON_A4_ornp" + } + break; + } + break; + case 'C': // 5 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "l8", 2)) + break; + return Intrinsic::hexagon_C2_all8; // "__builtin_HEXAGON_C2_all8" + case 'n': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[24] != 'n') + break; + return Intrinsic::hexagon_C2_andn; // "__builtin_HEXAGON_C2_andn" + case 'y': // 1 string to match. + if (BuiltinName[24] != '8') + break; + return Intrinsic::hexagon_C2_any8; // "__builtin_HEXAGON_C2_any8" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ask", 3)) + break; + return Intrinsic::hexagon_C2_mask; // "__builtin_HEXAGON_C2_mask" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "mux", 3)) + break; + return Intrinsic::hexagon_C2_vmux; // "__builtin_HEXAGON_C2_vmux" + } + break; + case 'M': // 3 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "cci", 3)) + break; + return Intrinsic::hexagon_M2_acci; // "__builtin_HEXAGON_M2_acci" + case 'm': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ci", 2)) + break; + return Intrinsic::hexagon_M2_maci; // "__builtin_HEXAGON_M2_maci" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "yi", 2)) + break; + return Intrinsic::hexagon_M2_mpyi; // "__builtin_HEXAGON_M2_mpyi" + } + break; + } + break; + case 'S': // 8 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rev", 3)) + break; + return Intrinsic::hexagon_S2_brev; // "__builtin_HEXAGON_S2_brev" + case 'c': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'l': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '0': // 1 string to match. + if (BuiltinName[24] != 'p') + break; + return Intrinsic::hexagon_S2_cl0p; // "__builtin_HEXAGON_S2_cl0p" + case '1': // 1 string to match. + if (BuiltinName[24] != 'p') + break; + return Intrinsic::hexagon_S2_cl1p; // "__builtin_HEXAGON_S2_cl1p" + case 'b': // 1 string to match. + if (BuiltinName[24] != 'p') + break; + return Intrinsic::hexagon_S2_clbp; // "__builtin_HEXAGON_S2_clbp" + } + break; + case 't': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '0': // 1 string to match. + if (BuiltinName[24] != 'p') + break; + return Intrinsic::hexagon_S2_ct0p; // "__builtin_HEXAGON_S2_ct0p" + case '1': // 1 string to match. + if (BuiltinName[24] != 'p') + break; + return Intrinsic::hexagon_S2_ct1p; // "__builtin_HEXAGON_S2_ct1p" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "fsp", 3)) + break; + return Intrinsic::hexagon_S2_lfsp; // "__builtin_HEXAGON_S2_lfsp" + } + break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_lsli", 5)) + break; + return Intrinsic::hexagon_S4_lsli; // "__builtin_HEXAGON_S4_lsli" + } + break; + } + break; + case 26: // 58 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_", 10)) + break; + switch (BuiltinName[10]) { + default: break; + case 'H': // 57 strings to match. + if (memcmp(BuiltinName.data()+11, "EXAGON_", 7)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 27 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 26 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "dsp", 3)) + break; + return Intrinsic::hexagon_A2_addsp; // "__builtin_HEXAGON_A2_addsp" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "dir", 3)) + break; + return Intrinsic::hexagon_A2_andir; // "__builtin_HEXAGON_A2_andir" + } + break; + case 'm': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "xup", 3)) + break; + return Intrinsic::hexagon_A2_maxup; // "__builtin_HEXAGON_A2_maxup" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "nup", 3)) + break; + return Intrinsic::hexagon_A2_minup; // "__builtin_HEXAGON_A2_minup" + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "tu", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_satub; // "__builtin_HEXAGON_A2_satub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_satuh; // "__builtin_HEXAGON_A2_satuh" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "bri", 3)) + break; + return Intrinsic::hexagon_A2_subri; // "__builtin_HEXAGON_A2_subri" + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "fr", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'i': // 2 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_tfrih; // "__builtin_HEXAGON_A2_tfrih" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_tfril; // "__builtin_HEXAGON_A2_tfril" + } + break; + case 'p': // 1 string to match. + if (BuiltinName[25] != 'i') + break; + return Intrinsic::hexagon_A2_tfrpi; // "__builtin_HEXAGON_A2_tfrpi" + case 's': // 1 string to match. + if (BuiltinName[25] != 'i') + break; + return Intrinsic::hexagon_A2_tfrsi; // "__builtin_HEXAGON_A2_tfrsi" + } + break; + case 'v': // 15 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 6 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 2 strings to match. + if (BuiltinName[24] != 's') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vabsh; // "__builtin_HEXAGON_A2_vabsh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vabsw; // "__builtin_HEXAGON_A2_vabsw" + } + break; + case 'd': // 2 strings to match. + if (BuiltinName[24] != 'd') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vaddh; // "__builtin_HEXAGON_A2_vaddh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vaddw; // "__builtin_HEXAGON_A2_vaddw" + } + break; + case 'v': // 2 strings to match. + if (BuiltinName[24] != 'g') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vavgh; // "__builtin_HEXAGON_A2_vavgh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vavgw; // "__builtin_HEXAGON_A2_vavgw" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "onj", 3)) + break; + return Intrinsic::hexagon_A2_vconj; // "__builtin_HEXAGON_A2_vconj" + case 'm': // 6 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 3 strings to match. + if (BuiltinName[24] != 'x') + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxb; // "__builtin_HEXAGON_A2_vmaxb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxh; // "__builtin_HEXAGON_A2_vmaxh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxw; // "__builtin_HEXAGON_A2_vmaxw" + } + break; + case 'i': // 3 strings to match. + if (BuiltinName[24] != 'n') + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vminb; // "__builtin_HEXAGON_A2_vminb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vminh; // "__builtin_HEXAGON_A2_vminh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vminw; // "__builtin_HEXAGON_A2_vminw" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "ub", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vsubh; // "__builtin_HEXAGON_A2_vsubh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vsubw; // "__builtin_HEXAGON_A2_vsubw" + } + break; + } + break; + } + break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_andnp", 6)) + break; + return Intrinsic::hexagon_A4_andnp; // "__builtin_HEXAGON_A4_andnp" + } + break; + case 'C': // 9 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 8 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[25] != 'q') + break; + return Intrinsic::hexagon_C2_cmpeq; // "__builtin_HEXAGON_C2_cmpeq" + case 'g': // 1 string to match. + if (BuiltinName[25] != 't') + break; + return Intrinsic::hexagon_C2_cmpgt; // "__builtin_HEXAGON_C2_cmpgt" + case 'l': // 1 string to match. + if (BuiltinName[25] != 't') + break; + return Intrinsic::hexagon_C2_cmplt; // "__builtin_HEXAGON_C2_cmplt" + } + break; + case 'm': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "ux", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'i': // 2 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_muxii; // "__builtin_HEXAGON_C2_muxii" + case 'r': // 1 string to match. + return Intrinsic::hexagon_C2_muxir; // "__builtin_HEXAGON_C2_muxir" + } + break; + case 'r': // 1 string to match. + if (BuiltinName[25] != 'i') + break; + return Intrinsic::hexagon_C2_muxri; // "__builtin_HEXAGON_C2_muxri" + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "fr", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[25] != 'r') + break; + return Intrinsic::hexagon_C2_tfrpr; // "__builtin_HEXAGON_C2_tfrpr" + case 'r': // 1 string to match. + if (BuiltinName[25] != 'p') + break; + return Intrinsic::hexagon_C2_tfrrp; // "__builtin_HEXAGON_C2_tfrrp" + } + break; + } + break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_or_or", 6)) + break; + return Intrinsic::hexagon_C4_or_or; // "__builtin_HEXAGON_C4_or_or" + } + break; + case 'F': // 14 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 7 strings to match. + if (BuiltinName[22] != 'f') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "dd", 2)) + break; + return Intrinsic::hexagon_F2_dfadd; // "__builtin_HEXAGON_F2_dfadd" + case 'f': // 2 strings to match. + if (BuiltinName[24] != 'm') + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + return Intrinsic::hexagon_F2_dffma; // "__builtin_HEXAGON_F2_dffma" + case 's': // 1 string to match. + return Intrinsic::hexagon_F2_dffms; // "__builtin_HEXAGON_F2_dffms" + } + break; + case 'm': // 3 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (BuiltinName[25] != 'x') + break; + return Intrinsic::hexagon_F2_dfmax; // "__builtin_HEXAGON_F2_dfmax" + case 'i': // 1 string to match. + if (BuiltinName[25] != 'n') + break; + return Intrinsic::hexagon_F2_dfmin; // "__builtin_HEXAGON_F2_dfmin" + case 'p': // 1 string to match. + if (BuiltinName[25] != 'y') + break; + return Intrinsic::hexagon_F2_dfmpy; // "__builtin_HEXAGON_F2_dfmpy" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ub", 2)) + break; + return Intrinsic::hexagon_F2_dfsub; // "__builtin_HEXAGON_F2_dfsub" + } + break; + case 's': // 7 strings to match. + if (BuiltinName[22] != 'f') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "dd", 2)) + break; + return Intrinsic::hexagon_F2_sfadd; // "__builtin_HEXAGON_F2_sfadd" + case 'f': // 2 strings to match. + if (BuiltinName[24] != 'm') + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + return Intrinsic::hexagon_F2_sffma; // "__builtin_HEXAGON_F2_sffma" + case 's': // 1 string to match. + return Intrinsic::hexagon_F2_sffms; // "__builtin_HEXAGON_F2_sffms" + } + break; + case 'm': // 3 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (BuiltinName[25] != 'x') + break; + return Intrinsic::hexagon_F2_sfmax; // "__builtin_HEXAGON_F2_sfmax" + case 'i': // 1 string to match. + if (BuiltinName[25] != 'n') + break; + return Intrinsic::hexagon_F2_sfmin; // "__builtin_HEXAGON_F2_sfmin" + case 'p': // 1 string to match. + if (BuiltinName[25] != 'y') + break; + return Intrinsic::hexagon_F2_sfmpy; // "__builtin_HEXAGON_F2_sfmpy" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ub", 2)) + break; + return Intrinsic::hexagon_F2_sfsub; // "__builtin_HEXAGON_F2_sfsub" + } + break; + } + break; + case 'M': // 6 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ccii", 4)) + break; + return Intrinsic::hexagon_M2_accii; // "__builtin_HEXAGON_M2_accii" + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "pyui", 4)) + break; + return Intrinsic::hexagon_M2_mpyui; // "__builtin_HEXAGON_M2_mpyui" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "acci", 4)) + break; + return Intrinsic::hexagon_M2_nacci; // "__builtin_HEXAGON_M2_nacci" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "mac2", 4)) + break; + return Intrinsic::hexagon_M2_vmac2; // "__builtin_HEXAGON_M2_vmac2" + } + break; + case '4': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_or", 4)) + break; + return Intrinsic::hexagon_M4_or_or; // "__builtin_HEXAGON_M4_or_or" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "mpyw", 4)) + break; + return Intrinsic::hexagon_M4_pmpyw; // "__builtin_HEXAGON_M4_pmpyw" + } + break; + } + break; + case 'S': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_brevp", 7)) + break; + return Intrinsic::hexagon_S2_brevp; // "__builtin_HEXAGON_S2_brevp" + } + break; + case 'S': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "I_to_SXTHI_asrh", 15)) + break; + return Intrinsic::hexagon_SI_to_SXTHI_asrh; // "__builtin_SI_to_SXTHI_asrh" + } + break; + case 27: // 70 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 35 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 26 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ssat", 4)) + break; + return Intrinsic::hexagon_A2_abssat; // "__builtin_HEXAGON_A2_abssat" + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "dsat", 4)) + break; + return Intrinsic::hexagon_A2_addsat; // "__builtin_HEXAGON_A2_addsat" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "egsat", 5)) + break; + return Intrinsic::hexagon_A2_negsat; // "__builtin_HEXAGON_A2_negsat" + case 's': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "bsat", 4)) + break; + return Intrinsic::hexagon_A2_subsat; // "__builtin_HEXAGON_A2_subsat" + case 'v': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "dh", 2)) + break; + return Intrinsic::hexagon_A2_svaddh; // "__builtin_HEXAGON_A2_svaddh" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "gh", 2)) + break; + return Intrinsic::hexagon_A2_svavgh; // "__builtin_HEXAGON_A2_svavgh" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ubh", 3)) + break; + return Intrinsic::hexagon_A2_svsubh; // "__builtin_HEXAGON_A2_svsubh" + } + break; + } + break; + case 'v': // 19 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 8 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 3 strings to match. + if (BuiltinName[24] != 'd') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[26] != 's') + break; + return Intrinsic::hexagon_A2_vaddhs; // "__builtin_HEXAGON_A2_vaddhs" + case 'u': // 1 string to match. + if (BuiltinName[26] != 'b') + break; + return Intrinsic::hexagon_A2_vaddub; // "__builtin_HEXAGON_A2_vaddub" + case 'w': // 1 string to match. + if (BuiltinName[26] != 's') + break; + return Intrinsic::hexagon_A2_vaddws; // "__builtin_HEXAGON_A2_vaddws" + } + break; + case 'v': // 5 strings to match. + if (BuiltinName[24] != 'g') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[26] != 'r') + break; + return Intrinsic::hexagon_A2_vavghr; // "__builtin_HEXAGON_A2_vavghr" + case 'u': // 3 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vavgub; // "__builtin_HEXAGON_A2_vavgub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vavguh; // "__builtin_HEXAGON_A2_vavguh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vavguw; // "__builtin_HEXAGON_A2_vavguw" + } + break; + case 'w': // 1 string to match. + if (BuiltinName[26] != 'r') + break; + return Intrinsic::hexagon_A2_vavgwr; // "__builtin_HEXAGON_A2_vavgwr" + } + break; + } + break; + case 'm': // 6 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(BuiltinName.data()+24, "xu", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxub; // "__builtin_HEXAGON_A2_vmaxub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxuh; // "__builtin_HEXAGON_A2_vmaxuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vmaxuw; // "__builtin_HEXAGON_A2_vmaxuw" + } + break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+24, "nu", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_A2_vminub; // "__builtin_HEXAGON_A2_vminub" + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vminuh; // "__builtin_HEXAGON_A2_vminuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vminuw; // "__builtin_HEXAGON_A2_vminuw" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "avg", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_vnavgh; // "__builtin_HEXAGON_A2_vnavgh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A2_vnavgw; // "__builtin_HEXAGON_A2_vnavgw" + } + break; + case 's': // 3 strings to match. + if (memcmp(BuiltinName.data()+23, "ub", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[26] != 's') + break; + return Intrinsic::hexagon_A2_vsubhs; // "__builtin_HEXAGON_A2_vsubhs" + case 'u': // 1 string to match. + if (BuiltinName[26] != 'b') + break; + return Intrinsic::hexagon_A2_vsubub; // "__builtin_HEXAGON_A2_vsubub" + case 'w': // 1 string to match. + if (BuiltinName[26] != 's') + break; + return Intrinsic::hexagon_A2_vsubws; // "__builtin_HEXAGON_A2_vsubws" + } + break; + } + break; + } + break; + case '4': // 9 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[26] != 'q') + break; + return Intrinsic::hexagon_A4_cmpbeq; // "__builtin_HEXAGON_A4_cmpbeq" + case 'g': // 1 string to match. + if (BuiltinName[26] != 't') + break; + return Intrinsic::hexagon_A4_cmpbgt; // "__builtin_HEXAGON_A4_cmpbgt" + } + break; + case 'h': // 2 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[26] != 'q') + break; + return Intrinsic::hexagon_A4_cmpheq; // "__builtin_HEXAGON_A4_cmpheq" + case 'g': // 1 string to match. + if (BuiltinName[26] != 't') + break; + return Intrinsic::hexagon_A4_cmphgt; // "__builtin_HEXAGON_A4_cmphgt" + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "cmpeq", 5)) + break; + return Intrinsic::hexagon_A4_rcmpeq; // "__builtin_HEXAGON_A4_rcmpeq" + case 'v': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "rm", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[25] != 'x') + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxh; // "__builtin_HEXAGON_A4_vrmaxh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxw; // "__builtin_HEXAGON_A4_vrmaxw" + } + break; + case 'i': // 2 strings to match. + if (BuiltinName[25] != 'n') + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrminh; // "__builtin_HEXAGON_A4_vrminh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrminw; // "__builtin_HEXAGON_A4_vrminw" + } + break; + } + break; + } + break; + } + break; + case 'C': // 12 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 7 strings to match. + if (memcmp(BuiltinName.data()+20, "_cmp", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'e': // 2 strings to match. + if (BuiltinName[25] != 'q') + break; + switch (BuiltinName[26]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpeqi; // "__builtin_HEXAGON_C2_cmpeqi" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpeqp; // "__builtin_HEXAGON_C2_cmpeqp" + } + break; + case 'g': // 4 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[26] != 'i') + break; + return Intrinsic::hexagon_C2_cmpgei; // "__builtin_HEXAGON_C2_cmpgei" + case 't': // 3 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgti; // "__builtin_HEXAGON_C2_cmpgti" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtp; // "__builtin_HEXAGON_C2_cmpgtp" + case 'u': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtu; // "__builtin_HEXAGON_C2_cmpgtu" + } + break; + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "tu", 2)) + break; + return Intrinsic::hexagon_C2_cmpltu; // "__builtin_HEXAGON_C2_cmpltu" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nd_or", 5)) + break; + return Intrinsic::hexagon_C4_and_or; // "__builtin_HEXAGON_C4_and_or" + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "te", 2)) + break; + return Intrinsic::hexagon_C4_cmplte; // "__builtin_HEXAGON_C4_cmplte" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "eq", 2)) + break; + return Intrinsic::hexagon_C4_cmpneq; // "__builtin_HEXAGON_C4_cmpneq" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "r_", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "nd", 2)) + break; + return Intrinsic::hexagon_C4_or_and; // "__builtin_HEXAGON_C4_or_and" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "rn", 2)) + break; + return Intrinsic::hexagon_C4_or_orn; // "__builtin_HEXAGON_C4_or_orn" + } + break; + } + break; + } + break; + case 'M': // 12 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 7 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "csi", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_M2_macsin; // "__builtin_HEXAGON_M2_macsin" + case 'p': // 1 string to match. + return Intrinsic::hexagon_M2_macsip; // "__builtin_HEXAGON_M2_macsip" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[23] != 'y') + break; + switch (BuiltinName[24]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "up", 2)) + break; + return Intrinsic::hexagon_M2_mpy_up; // "__builtin_HEXAGON_M2_mpy_up" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "mi", 2)) + break; + return Intrinsic::hexagon_M2_mpysmi; // "__builtin_HEXAGON_M2_mpysmi" + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "accii", 5)) + break; + return Intrinsic::hexagon_M2_naccii; // "__builtin_HEXAGON_M2_naccii" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ubacc", 5)) + break; + return Intrinsic::hexagon_M2_subacc; // "__builtin_HEXAGON_M2_subacc" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "raddh", 5)) + break; + return Intrinsic::hexagon_M2_vraddh; // "__builtin_HEXAGON_M2_vraddh" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nd_or", 5)) + break; + return Intrinsic::hexagon_M4_and_or; // "__builtin_HEXAGON_M4_and_or" + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "r_", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "nd", 2)) + break; + return Intrinsic::hexagon_M4_or_and; // "__builtin_HEXAGON_M4_or_and" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "or", 2)) + break; + return Intrinsic::hexagon_M4_or_xor; // "__builtin_HEXAGON_M4_or_xor" + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "pmpyh", 5)) + break; + return Intrinsic::hexagon_M4_vpmpyh; // "__builtin_HEXAGON_M4_vpmpyh" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "or_or", 5)) + break; + return Intrinsic::hexagon_M4_xor_or; // "__builtin_HEXAGON_M4_xor_or" + } + break; + } + break; + case 'S': // 11 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 9 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nsert", 5)) + break; + return Intrinsic::hexagon_S2_insert; // "__builtin_HEXAGON_S2_insert" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ackhl", 5)) + break; + return Intrinsic::hexagon_S2_packhl; // "__builtin_HEXAGON_S2_packhl" + case 'v': // 7 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "negh", 4)) + break; + return Intrinsic::hexagon_S2_vcnegh; // "__builtin_HEXAGON_S2_vcnegh" + case 's': // 4 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[24] != 't') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[26] != 'b') + break; + return Intrinsic::hexagon_S2_vsathb; // "__builtin_HEXAGON_S2_vsathb" + case 'w': // 1 string to match. + if (BuiltinName[26] != 'h') + break; + return Intrinsic::hexagon_S2_vsatwh; // "__builtin_HEXAGON_S2_vsatwh" + } + break; + case 'x': // 2 strings to match. + if (BuiltinName[24] != 't') + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[26] != 'h') + break; + return Intrinsic::hexagon_S2_vsxtbh; // "__builtin_HEXAGON_S2_vsxtbh" + case 'h': // 1 string to match. + if (BuiltinName[26] != 'w') + break; + return Intrinsic::hexagon_S2_vsxthw; // "__builtin_HEXAGON_S2_vsxthw" + } + break; + } + break; + case 'z': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "xt", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[26] != 'h') + break; + return Intrinsic::hexagon_S2_vzxtbh; // "__builtin_HEXAGON_S2_vzxtbh" + case 'h': // 1 string to match. + if (BuiltinName[26] != 'w') + break; + return Intrinsic::hexagon_S2_vzxthw; // "__builtin_HEXAGON_S2_vzxthw" + } + break; + } + break; + } + break; + case '4': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_ori", 5)) + break; + return Intrinsic::hexagon_S4_or_ori; // "__builtin_HEXAGON_S4_or_ori" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "arity", 5)) + break; + return Intrinsic::hexagon_S4_parity; // "__builtin_HEXAGON_S4_parity" + } + break; + } + break; + } + break; + case 28: // 103 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 36 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 23 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ddpsat", 6)) + break; + return Intrinsic::hexagon_A2_addpsat; // "__builtin_HEXAGON_A2_addpsat" + case 's': // 4 strings to match. + if (BuiltinName[22] != 'v') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "dhs", 3)) + break; + return Intrinsic::hexagon_A2_svaddhs; // "__builtin_HEXAGON_A2_svaddhs" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "ghs", 3)) + break; + return Intrinsic::hexagon_A2_svavghs; // "__builtin_HEXAGON_A2_svavghs" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "avgh", 4)) + break; + return Intrinsic::hexagon_A2_svnavgh; // "__builtin_HEXAGON_A2_svnavgh" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ubhs", 4)) + break; + return Intrinsic::hexagon_A2_svsubhs; // "__builtin_HEXAGON_A2_svsubhs" + } + break; + case 'v': // 18 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 7 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "du", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[27] != 's') + break; + return Intrinsic::hexagon_A2_vaddubs; // "__builtin_HEXAGON_A2_vaddubs" + case 'h': // 1 string to match. + if (BuiltinName[27] != 's') + break; + return Intrinsic::hexagon_A2_vadduhs; // "__builtin_HEXAGON_A2_vadduhs" + } + break; + case 'v': // 5 strings to match. + if (BuiltinName[24] != 'g') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vavghcr; // "__builtin_HEXAGON_A2_vavghcr" + case 'u': // 3 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[27] != 'r') + break; + return Intrinsic::hexagon_A2_vavgubr; // "__builtin_HEXAGON_A2_vavgubr" + case 'h': // 1 string to match. + if (BuiltinName[27] != 'r') + break; + return Intrinsic::hexagon_A2_vavguhr; // "__builtin_HEXAGON_A2_vavguhr" + case 'w': // 1 string to match. + if (BuiltinName[27] != 'r') + break; + return Intrinsic::hexagon_A2_vavguwr; // "__builtin_HEXAGON_A2_vavguwr" + } + break; + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vavgwcr; // "__builtin_HEXAGON_A2_vavgwcr" + } + break; + } + break; + case 'c': // 5 strings to match. + if (memcmp(BuiltinName.data()+23, "mp", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "eq", 2)) + break; + return Intrinsic::hexagon_A2_vcmpbeq; // "__builtin_HEXAGON_A2_vcmpbeq" + case 'h': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[27] != 'q') + break; + return Intrinsic::hexagon_A2_vcmpheq; // "__builtin_HEXAGON_A2_vcmpheq" + case 'g': // 1 string to match. + if (BuiltinName[27] != 't') + break; + return Intrinsic::hexagon_A2_vcmphgt; // "__builtin_HEXAGON_A2_vcmphgt" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[27] != 'q') + break; + return Intrinsic::hexagon_A2_vcmpweq; // "__builtin_HEXAGON_A2_vcmpweq" + case 'g': // 1 string to match. + if (BuiltinName[27] != 't') + break; + return Intrinsic::hexagon_A2_vcmpwgt; // "__builtin_HEXAGON_A2_vcmpwgt" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "avg", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[27] != 'r') + break; + return Intrinsic::hexagon_A2_vnavghr; // "__builtin_HEXAGON_A2_vnavghr" + case 'w': // 1 string to match. + if (BuiltinName[27] != 'r') + break; + return Intrinsic::hexagon_A2_vnavgwr; // "__builtin_HEXAGON_A2_vnavgwr" + } + break; + case 'r': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ddub", 4)) + break; + return Intrinsic::hexagon_A2_vraddub; // "__builtin_HEXAGON_A2_vraddub" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "adub", 4)) + break; + return Intrinsic::hexagon_A2_vrsadub; // "__builtin_HEXAGON_A2_vrsadub" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "ubu", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[27] != 's') + break; + return Intrinsic::hexagon_A2_vsububs; // "__builtin_HEXAGON_A2_vsububs" + case 'h': // 1 string to match. + if (BuiltinName[27] != 's') + break; + return Intrinsic::hexagon_A2_vsubuhs; // "__builtin_HEXAGON_A2_vsubuhs" + } + break; + } + break; + } + break; + case '4': // 13 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "qi", 2)) + break; + return Intrinsic::hexagon_A4_cmpbeqi; // "__builtin_HEXAGON_A4_cmpbeqi" + case 'g': // 2 strings to match. + if (BuiltinName[26] != 't') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cmpbgti; // "__builtin_HEXAGON_A4_cmpbgti" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A4_cmpbgtu; // "__builtin_HEXAGON_A4_cmpbgtu" + } + break; + } + break; + case 'h': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "qi", 2)) + break; + return Intrinsic::hexagon_A4_cmpheqi; // "__builtin_HEXAGON_A4_cmpheqi" + case 'g': // 2 strings to match. + if (BuiltinName[26] != 't') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cmphgti; // "__builtin_HEXAGON_A4_cmphgti" + case 'u': // 1 string to match. + return Intrinsic::hexagon_A4_cmphgtu; // "__builtin_HEXAGON_A4_cmphgtu" + } + break; + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "cmp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "qi", 2)) + break; + return Intrinsic::hexagon_A4_rcmpeqi; // "__builtin_HEXAGON_A4_rcmpeqi" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "eq", 2)) + break; + return Intrinsic::hexagon_A4_rcmpneq; // "__builtin_HEXAGON_A4_rcmpneq" + } + break; + case 'v': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "mpbgt", 5)) + break; + return Intrinsic::hexagon_A4_vcmpbgt; // "__builtin_HEXAGON_A4_vcmpbgt" + case 'r': // 4 strings to match. + if (BuiltinName[23] != 'm') + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "xu", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxuh; // "__builtin_HEXAGON_A4_vrmaxuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrmaxuw; // "__builtin_HEXAGON_A4_vrmaxuw" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "nu", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A4_vrminuh; // "__builtin_HEXAGON_A4_vrminuh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_A4_vrminuw; // "__builtin_HEXAGON_A4_vrminuw" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'C': // 12 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 6 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "its", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "lr", 2)) + break; + return Intrinsic::hexagon_C2_bitsclr; // "__builtin_HEXAGON_C2_bitsclr" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "et", 2)) + break; + return Intrinsic::hexagon_C2_bitsset; // "__builtin_HEXAGON_C2_bitsset" + } + break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "mpg", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "ui", 2)) + break; + return Intrinsic::hexagon_C2_cmpgeui; // "__builtin_HEXAGON_C2_cmpgeui" + case 't': // 2 strings to match. + if (BuiltinName[26] != 'u') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtui; // "__builtin_HEXAGON_C2_cmpgtui" + case 'p': // 1 string to match. + return Intrinsic::hexagon_C2_cmpgtup; // "__builtin_HEXAGON_C2_cmpgtup" + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "itpack", 6)) + break; + return Intrinsic::hexagon_C2_vitpack; // "__builtin_HEXAGON_C2_vitpack" + } + break; + case '4': // 6 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "nd_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "nd", 2)) + break; + return Intrinsic::hexagon_C4_and_and; // "__builtin_HEXAGON_C4_and_and" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "rn", 2)) + break; + return Intrinsic::hexagon_C4_and_orn; // "__builtin_HEXAGON_C4_and_orn" + } + break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "te", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_C4_cmpltei; // "__builtin_HEXAGON_C4_cmpltei" + case 'u': // 1 string to match. + return Intrinsic::hexagon_C4_cmplteu; // "__builtin_HEXAGON_C4_cmplteu" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "eqi", 3)) + break; + return Intrinsic::hexagon_C4_cmpneqi; // "__builtin_HEXAGON_C4_cmpneqi" + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_andn", 6)) + break; + return Intrinsic::hexagon_C4_or_andn; // "__builtin_HEXAGON_C4_or_andn" + } + break; + } + break; + case 'F': // 14 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 7 strings to match. + if (BuiltinName[22] != 'f') + break; + switch (BuiltinName[23]) { + default: break; + case 'c': // 5 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "ass", 3)) + break; + return Intrinsic::hexagon_F2_dfclass; // "__builtin_HEXAGON_F2_dfclass" + case 'm': // 4 strings to match. + if (BuiltinName[25] != 'p') + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[27] != 'q') + break; + return Intrinsic::hexagon_F2_dfcmpeq; // "__builtin_HEXAGON_F2_dfcmpeq" + case 'g': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::hexagon_F2_dfcmpge; // "__builtin_HEXAGON_F2_dfcmpge" + case 't': // 1 string to match. + return Intrinsic::hexagon_F2_dfcmpgt; // "__builtin_HEXAGON_F2_dfcmpgt" + } + break; + case 'u': // 1 string to match. + if (BuiltinName[27] != 'o') + break; + return Intrinsic::hexagon_F2_dfcmpuo; // "__builtin_HEXAGON_F2_dfcmpuo" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "mm_", 3)) + break; + switch (BuiltinName[27]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_dfimm_n; // "__builtin_HEXAGON_F2_dfimm_n" + case 'p': // 1 string to match. + return Intrinsic::hexagon_F2_dfimm_p; // "__builtin_HEXAGON_F2_dfimm_p" + } + break; + } + break; + case 's': // 7 strings to match. + if (BuiltinName[22] != 'f') + break; + switch (BuiltinName[23]) { + default: break; + case 'c': // 5 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "ass", 3)) + break; + return Intrinsic::hexagon_F2_sfclass; // "__builtin_HEXAGON_F2_sfclass" + case 'm': // 4 strings to match. + if (BuiltinName[25] != 'p') + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[27] != 'q') + break; + return Intrinsic::hexagon_F2_sfcmpeq; // "__builtin_HEXAGON_F2_sfcmpeq" + case 'g': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::hexagon_F2_sfcmpge; // "__builtin_HEXAGON_F2_sfcmpge" + case 't': // 1 string to match. + return Intrinsic::hexagon_F2_sfcmpgt; // "__builtin_HEXAGON_F2_sfcmpgt" + } + break; + case 'u': // 1 string to match. + if (BuiltinName[27] != 'o') + break; + return Intrinsic::hexagon_F2_sfcmpuo; // "__builtin_HEXAGON_F2_sfcmpuo" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "mm_", 3)) + break; + switch (BuiltinName[27]) { + default: break; + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_sfimm_n; // "__builtin_HEXAGON_F2_sfimm_n" + case 'p': // 1 string to match. + return Intrinsic::hexagon_F2_sfimm_p; // "__builtin_HEXAGON_F2_sfimm_p" + } + break; + } + break; + } + break; + case 'M': // 11 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "pyu_up", 6)) + break; + return Intrinsic::hexagon_M2_mpyu_up; // "__builtin_HEXAGON_M2_mpyu_up" + case 'v': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ac2es", 5)) + break; + return Intrinsic::hexagon_M2_vmac2es; // "__builtin_HEXAGON_M2_vmac2es" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "adduh", 5)) + break; + return Intrinsic::hexagon_M2_vradduh; // "__builtin_HEXAGON_M2_vradduh" + } + break; + } + break; + case '4': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "nd_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "nd", 2)) + break; + return Intrinsic::hexagon_M4_and_and; // "__builtin_HEXAGON_M4_and_and" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "or", 2)) + break; + return Intrinsic::hexagon_M4_and_xor; // "__builtin_HEXAGON_M4_and_xor" + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_andn", 6)) + break; + return Intrinsic::hexagon_M4_or_andn; // "__builtin_HEXAGON_M4_or_andn" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "or_and", 6)) + break; + return Intrinsic::hexagon_M4_xor_and; // "__builtin_HEXAGON_M4_xor_and" + } + break; + case '5': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "_vm", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "cb", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[27] != 'u') + break; + return Intrinsic::hexagon_M5_vmacbsu; // "__builtin_HEXAGON_M5_vmacbsu" + case 'u': // 1 string to match. + if (BuiltinName[27] != 'u') + break; + return Intrinsic::hexagon_M5_vmacbuu; // "__builtin_HEXAGON_M5_vmacbuu" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "yb", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[27] != 'u') + break; + return Intrinsic::hexagon_M5_vmpybsu; // "__builtin_HEXAGON_M5_vmpybsu" + case 'u': // 1 string to match. + if (BuiltinName[27] != 'u') + break; + return Intrinsic::hexagon_M5_vmpybuu; // "__builtin_HEXAGON_M5_vmpybuu" + } + break; + } + break; + } + break; + case 'S': // 30 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 25 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 8 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_p; // "__builtin_HEXAGON_S2_asl_i_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_r; // "__builtin_HEXAGON_S2_asl_i_r" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_p; // "__builtin_HEXAGON_S2_asl_r_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_r; // "__builtin_HEXAGON_S2_asl_r_r" + } + break; + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_p; // "__builtin_HEXAGON_S2_asr_i_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_r; // "__builtin_HEXAGON_S2_asr_i_r" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_p; // "__builtin_HEXAGON_S2_asr_r_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_r; // "__builtin_HEXAGON_S2_asr_r_r" + } + break; + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "lbnorm", 6)) + break; + return Intrinsic::hexagon_S2_clbnorm; // "__builtin_HEXAGON_S2_clbnorm" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nsertp", 6)) + break; + return Intrinsic::hexagon_S2_insertp; // "__builtin_HEXAGON_S2_insertp" + case 'l': // 6 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "_r_", 3)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_p; // "__builtin_HEXAGON_S2_lsl_r_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_r; // "__builtin_HEXAGON_S2_lsl_r_r" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_p; // "__builtin_HEXAGON_S2_lsr_i_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_r; // "__builtin_HEXAGON_S2_lsr_i_r" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_p; // "__builtin_HEXAGON_S2_lsr_r_p" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_r; // "__builtin_HEXAGON_S2_lsr_r_r" + } + break; + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "arityp", 6)) + break; + return Intrinsic::hexagon_S2_parityp; // "__builtin_HEXAGON_S2_parityp" + case 's': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(BuiltinName.data()+23, "uff", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_shuffeb; // "__builtin_HEXAGON_S2_shuffeb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_shuffeh; // "__builtin_HEXAGON_S2_shuffeh" + } + break; + case 'o': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_shuffob; // "__builtin_HEXAGON_S2_shuffob" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_shuffoh; // "__builtin_HEXAGON_S2_shuffoh" + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "sathb", 5)) + break; + return Intrinsic::hexagon_S2_svsathb; // "__builtin_HEXAGON_S2_svsathb" + } + break; + case 'v': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "cnegh", 5)) + break; + return Intrinsic::hexagon_S2_vrcnegh; // "__builtin_HEXAGON_S2_vrcnegh" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "at", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "ub", 2)) + break; + return Intrinsic::hexagon_S2_vsathub; // "__builtin_HEXAGON_S2_vsathub" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "uh", 2)) + break; + return Intrinsic::hexagon_S2_vsatwuh; // "__builtin_HEXAGON_S2_vsatwuh" + } + break; + } + break; + } + break; + case '4': // 5 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ddaddi", 6)) + break; + return Intrinsic::hexagon_S4_addaddi; // "__builtin_HEXAGON_S4_addaddi" + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "lbaddi", 6)) + break; + return Intrinsic::hexagon_S4_clbaddi; // "__builtin_HEXAGON_S4_clbaddi" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtract", 6)) + break; + return Intrinsic::hexagon_S4_extract; // "__builtin_HEXAGON_S4_extract" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_andi", 6)) + break; + return Intrinsic::hexagon_S4_or_andi; // "__builtin_HEXAGON_S4_or_andi" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ubaddi", 6)) + break; + return Intrinsic::hexagon_S4_subaddi; // "__builtin_HEXAGON_S4_subaddi" + } + break; + } + break; + } + break; + case 29: // 103 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 26 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 11 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ombinew", 7)) + break; + return Intrinsic::hexagon_A2_combinew; // "__builtin_HEXAGON_A2_combinew" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "oundsat", 7)) + break; + return Intrinsic::hexagon_A2_roundsat; // "__builtin_HEXAGON_A2_roundsat" + case 's': // 2 strings to match. + if (BuiltinName[22] != 'v') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "dduhs", 5)) + break; + return Intrinsic::hexagon_A2_svadduhs; // "__builtin_HEXAGON_A2_svadduhs" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ubuhs", 5)) + break; + return Intrinsic::hexagon_A2_svsubuhs; // "__builtin_HEXAGON_A2_svsubuhs" + } + break; + case 'v': // 7 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "bs", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "sat", 3)) + break; + return Intrinsic::hexagon_A2_vabshsat; // "__builtin_HEXAGON_A2_vabshsat" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "sat", 3)) + break; + return Intrinsic::hexagon_A2_vabswsat; // "__builtin_HEXAGON_A2_vabswsat" + } + break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+23, "mp", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmpbgtu; // "__builtin_HEXAGON_A2_vcmpbgtu" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmphgtu; // "__builtin_HEXAGON_A2_vcmphgtu" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtu", 3)) + break; + return Intrinsic::hexagon_A2_vcmpwgtu; // "__builtin_HEXAGON_A2_vcmpwgtu" + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "avg", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vnavghcr; // "__builtin_HEXAGON_A2_vnavghcr" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "cr", 2)) + break; + return Intrinsic::hexagon_A2_vnavgwcr; // "__builtin_HEXAGON_A2_vnavgwcr" + } + break; + } + break; + } + break; + case '4': // 14 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "itsplit", 7)) + break; + return Intrinsic::hexagon_A4_bitsplit; // "__builtin_HEXAGON_A4_bitsplit" + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mp", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_cmpbgtui; // "__builtin_HEXAGON_A4_cmpbgtui" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_cmphgtui; // "__builtin_HEXAGON_A4_cmphgtui" + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "odwrapu", 7)) + break; + return Intrinsic::hexagon_A4_modwrapu; // "__builtin_HEXAGON_A4_modwrapu" + case 'r': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "mpneqi", 6)) + break; + return Intrinsic::hexagon_A4_rcmpneqi; // "__builtin_HEXAGON_A4_rcmpneqi" + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "und_r", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_round_ri; // "__builtin_HEXAGON_A4_round_ri" + case 'r': // 1 string to match. + return Intrinsic::hexagon_A4_round_rr; // "__builtin_HEXAGON_A4_round_rr" + } + break; + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "lbmatch", 7)) + break; + return Intrinsic::hexagon_A4_tlbmatch; // "__builtin_HEXAGON_A4_tlbmatch" + case 'v': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "cmp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpbeqi; // "__builtin_HEXAGON_A4_vcmpbeqi" + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmpbgti; // "__builtin_HEXAGON_A4_vcmpbgti" + } + break; + case 'h': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpheqi; // "__builtin_HEXAGON_A4_vcmpheqi" + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmphgti; // "__builtin_HEXAGON_A4_vcmphgti" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "qi", 2)) + break; + return Intrinsic::hexagon_A4_vcmpweqi; // "__builtin_HEXAGON_A4_vcmpweqi" + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "ti", 2)) + break; + return Intrinsic::hexagon_A4_vcmpwgti; // "__builtin_HEXAGON_A4_vcmpwgti" + } + break; + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_vaddhubs", 9)) + break; + return Intrinsic::hexagon_A5_vaddhubs; // "__builtin_HEXAGON_A5_vaddhubs" + } + break; + case 'C': // 5 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_bitsclri", 9)) + break; + return Intrinsic::hexagon_C2_bitsclri; // "__builtin_HEXAGON_C2_bitsclri" + case '4': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nd_andn", 7)) + break; + return Intrinsic::hexagon_C4_and_andn; // "__builtin_HEXAGON_C4_and_andn" + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "mplteui", 7)) + break; + return Intrinsic::hexagon_C4_cmplteui; // "__builtin_HEXAGON_C4_cmplteui" + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "bits", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "lr", 2)) + break; + return Intrinsic::hexagon_C4_nbitsclr; // "__builtin_HEXAGON_C4_nbitsclr" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "et", 2)) + break; + return Intrinsic::hexagon_C4_nbitsset; // "__builtin_HEXAGON_C4_nbitsset" + } + break; + } + break; + } + break; + case 'F': // 8 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "ff", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+25, "xup", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupd; // "__builtin_HEXAGON_F2_dffixupd" + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupn; // "__builtin_HEXAGON_F2_dffixupn" + case 'r': // 1 string to match. + return Intrinsic::hexagon_F2_dffixupr; // "__builtin_HEXAGON_F2_dffixupr" + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "a_sc", 4)) + break; + return Intrinsic::hexagon_F2_dffma_sc; // "__builtin_HEXAGON_F2_dffma_sc" + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "ff", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+25, "xup", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupd; // "__builtin_HEXAGON_F2_sffixupd" + case 'n': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupn; // "__builtin_HEXAGON_F2_sffixupn" + case 'r': // 1 string to match. + return Intrinsic::hexagon_F2_sffixupr; // "__builtin_HEXAGON_F2_sffixupr" + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "a_sc", 4)) + break; + return Intrinsic::hexagon_F2_sffma_sc; // "__builtin_HEXAGON_F2_sffma_sc" + } + break; + } + break; + case 'M': // 29 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 18 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 10 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 8 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[24] != 'c') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_cmaci_s0; // "__builtin_HEXAGON_M2_cmaci_s0" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_cmacr_s0; // "__builtin_HEXAGON_M2_cmacr_s0" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_s", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmacs_s0; // "__builtin_HEXAGON_M2_cmacs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmacs_s1; // "__builtin_HEXAGON_M2_cmacs_s1" + } + break; + } + break; + case 'p': // 4 strings to match. + if (BuiltinName[24] != 'y') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_cmpyi_s0; // "__builtin_HEXAGON_M2_cmpyi_s0" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_cmpyr_s0; // "__builtin_HEXAGON_M2_cmpyr_s0" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_s", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpys_s0; // "__builtin_HEXAGON_M2_cmpys_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpys_s1; // "__builtin_HEXAGON_M2_cmpys_s1" + } + break; + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "acs_s", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cnacs_s0; // "__builtin_HEXAGON_M2_cnacs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cnacs_s1; // "__builtin_HEXAGON_M2_cnacs_s1" + } + break; + } + break; + case 'm': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(BuiltinName.data()+23, "py", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_s", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_s0; // "__builtin_HEXAGON_M2_mmpyh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_s1; // "__builtin_HEXAGON_M2_mmpyh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_s", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_s0; // "__builtin_HEXAGON_M2_mmpyl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_s1; // "__builtin_HEXAGON_M2_mmpyl_s1" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ysu_up", 6)) + break; + return Intrinsic::hexagon_M2_mpysu_up; // "__builtin_HEXAGON_M2_mpysu_up" + } + break; + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "rm", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "c_s0", 4)) + break; + return Intrinsic::hexagon_M2_vrmac_s0; // "__builtin_HEXAGON_M2_vrmac_s0" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "y_s0", 4)) + break; + return Intrinsic::hexagon_M2_vrmpy_s0; // "__builtin_HEXAGON_M2_vrmpy_s0" + } + break; + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "or_xacc", 7)) + break; + return Intrinsic::hexagon_M2_xor_xacc; // "__builtin_HEXAGON_M2_xor_xacc" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nd_andn", 7)) + break; + return Intrinsic::hexagon_M4_and_andn; // "__builtin_HEXAGON_M4_and_andn" + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mpy", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_wh", 3)) + break; + return Intrinsic::hexagon_M4_cmpyi_wh; // "__builtin_HEXAGON_M4_cmpyi_wh" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_wh", 3)) + break; + return Intrinsic::hexagon_M4_cmpyr_wh; // "__builtin_HEXAGON_M4_cmpyr_wh" + } + break; + case 'x': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "or_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "ndn", 3)) + break; + return Intrinsic::hexagon_M4_xor_andn; // "__builtin_HEXAGON_M4_xor_andn" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "acc", 3)) + break; + return Intrinsic::hexagon_M4_xor_xacc; // "__builtin_HEXAGON_M4_xor_xacc" + } + break; + } + break; + case '5': // 6 strings to match. + if (memcmp(BuiltinName.data()+20, "_v", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[23] != 'm') + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "cbsu", 4)) + break; + return Intrinsic::hexagon_M5_vdmacbsu; // "__builtin_HEXAGON_M5_vdmacbsu" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "ybsu", 4)) + break; + return Intrinsic::hexagon_M5_vdmpybsu; // "__builtin_HEXAGON_M5_vdmpybsu" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[23] != 'm') + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "cb", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[28] != 'u') + break; + return Intrinsic::hexagon_M5_vrmacbsu; // "__builtin_HEXAGON_M5_vrmacbsu" + case 'u': // 1 string to match. + if (BuiltinName[28] != 'u') + break; + return Intrinsic::hexagon_M5_vrmacbuu; // "__builtin_HEXAGON_M5_vrmacbuu" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "yb", 2)) + break; + switch (BuiltinName[27]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[28] != 'u') + break; + return Intrinsic::hexagon_M5_vrmpybsu; // "__builtin_HEXAGON_M5_vrmpybsu" + case 'u': // 1 string to match. + if (BuiltinName[28] != 'u') + break; + return Intrinsic::hexagon_M5_vrmpybuu; // "__builtin_HEXAGON_M5_vrmpybuu" + } + break; + } + break; + } + break; + } + break; + case 'S': // 35 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 31 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 8 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_vh; // "__builtin_HEXAGON_S2_asl_i_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asl_i_vw; // "__builtin_HEXAGON_S2_asl_i_vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_vh; // "__builtin_HEXAGON_S2_asl_r_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asl_r_vw; // "__builtin_HEXAGON_S2_asl_r_vw" + } + break; + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_vh; // "__builtin_HEXAGON_S2_asr_i_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asr_i_vw; // "__builtin_HEXAGON_S2_asr_i_vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_vh; // "__builtin_HEXAGON_S2_asr_r_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_asr_r_vw; // "__builtin_HEXAGON_S2_asr_r_vw" + } + break; + } + break; + } + break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "lrbit_", 6)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_clrbit_i; // "__builtin_HEXAGON_S2_clrbit_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_clrbit_r; // "__builtin_HEXAGON_S2_clrbit_r" + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractu", 7)) + break; + return Intrinsic::hexagon_S2_extractu; // "__builtin_HEXAGON_S2_extractu" + case 'l': // 6 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "_r_v", 4)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_vh; // "__builtin_HEXAGON_S2_lsl_r_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsl_r_vw; // "__builtin_HEXAGON_S2_lsl_r_vw" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_vh; // "__builtin_HEXAGON_S2_lsr_i_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_i_vw; // "__builtin_HEXAGON_S2_lsr_i_vw" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_v", 2)) + break; + switch (BuiltinName[28]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_vh; // "__builtin_HEXAGON_S2_lsr_r_vh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S2_lsr_r_vw; // "__builtin_HEXAGON_S2_lsr_r_vw" + } + break; + } + break; + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "tbit_", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_setbit_i; // "__builtin_HEXAGON_S2_setbit_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_setbit_r; // "__builtin_HEXAGON_S2_setbit_r" + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "sathub", 6)) + break; + return Intrinsic::hexagon_S2_svsathub; // "__builtin_HEXAGON_S2_svsathub" + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "stbit_", 6)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_tstbit_i; // "__builtin_HEXAGON_S2_tstbit_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_tstbit_r; // "__builtin_HEXAGON_S2_tstbit_r" + } + break; + case 'v': // 9 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "lign", 4)) + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + if (BuiltinName[28] != 'b') + break; + return Intrinsic::hexagon_S2_valignib; // "__builtin_HEXAGON_S2_valignib" + case 'r': // 1 string to match. + if (BuiltinName[28] != 'b') + break; + return Intrinsic::hexagon_S2_valignrb; // "__builtin_HEXAGON_S2_valignrb" + } + break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "rotate", 6)) + break; + return Intrinsic::hexagon_S2_vcrotate; // "__builtin_HEXAGON_S2_vcrotate" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "platr", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::hexagon_S2_vsplatrb; // "__builtin_HEXAGON_S2_vsplatrb" + case 'h': // 1 string to match. + return Intrinsic::hexagon_S2_vsplatrh; // "__builtin_HEXAGON_S2_vsplatrh" + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+23, "run", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[28] != 'b') + break; + return Intrinsic::hexagon_S2_vtrunehb; // "__builtin_HEXAGON_S2_vtrunehb" + case 'w': // 1 string to match. + if (BuiltinName[28] != 'h') + break; + return Intrinsic::hexagon_S2_vtrunewh; // "__builtin_HEXAGON_S2_vtrunewh" + } + break; + case 'o': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[28] != 'b') + break; + return Intrinsic::hexagon_S2_vtrunohb; // "__builtin_HEXAGON_S2_vtrunohb" + case 'w': // 1 string to match. + if (BuiltinName[28] != 'h') + break; + return Intrinsic::hexagon_S2_vtrunowh; // "__builtin_HEXAGON_S2_vtrunowh" + } + break; + } + break; + } + break; + } + break; + case '4': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "lbp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "ddi", 3)) + break; + return Intrinsic::hexagon_S4_clbpaddi; // "__builtin_HEXAGON_S4_clbpaddi" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "orm", 3)) + break; + return Intrinsic::hexagon_S4_clbpnorm; // "__builtin_HEXAGON_S4_clbpnorm" + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractp", 7)) + break; + return Intrinsic::hexagon_S4_extractp; // "__builtin_HEXAGON_S4_extractp" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "r_andix", 7)) + break; + return Intrinsic::hexagon_S4_or_andix; // "__builtin_HEXAGON_S4_or_andix" + } + break; + } + break; + } + break; + case 30: // 81 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 11 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ombineii", 8)) + break; + return Intrinsic::hexagon_A2_combineii; // "__builtin_HEXAGON_A2_combineii" + case 'v': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ddb_map", 7)) + break; + return Intrinsic::hexagon_A2_vaddb_map; // "__builtin_HEXAGON_A2_vaddb_map" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "ubb_map", 7)) + break; + return Intrinsic::hexagon_A2_vsubb_map; // "__builtin_HEXAGON_A2_vsubb_map" + } + break; + } + break; + case '4': // 8 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "itspliti", 8)) + break; + return Intrinsic::hexagon_A4_bitspliti; // "__builtin_HEXAGON_A4_bitspliti" + case 'c': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "mbine", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + if (BuiltinName[29] != 'r') + break; + return Intrinsic::hexagon_A4_combineir; // "__builtin_HEXAGON_A4_combineir" + case 'r': // 1 string to match. + if (BuiltinName[29] != 'i') + break; + return Intrinsic::hexagon_A4_combineri; // "__builtin_HEXAGON_A4_combineri" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "ound_r", 6)) + break; + switch (BuiltinName[29]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_A4_cround_ri; // "__builtin_HEXAGON_A4_cround_ri" + case 'r': // 1 string to match. + return Intrinsic::hexagon_A4_cround_rr; // "__builtin_HEXAGON_A4_cround_rr" + } + break; + } + break; + case 'v': // 3 strings to match. + if (memcmp(BuiltinName.data()+22, "cmp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmpbgtui; // "__builtin_HEXAGON_A4_vcmpbgtui" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmphgtui; // "__builtin_HEXAGON_A4_vcmphgtui" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "gtui", 4)) + break; + return Intrinsic::hexagon_A4_vcmpwgtui; // "__builtin_HEXAGON_A4_vcmpwgtui" + } + break; + } + break; + } + break; + case 'C': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_pxfer_map", 10)) + break; + return Intrinsic::hexagon_C2_pxfer_map; // "__builtin_HEXAGON_C2_pxfer_map" + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_nbitsclri", 10)) + break; + return Intrinsic::hexagon_C4_nbitsclri; // "__builtin_HEXAGON_C4_nbitsclri" + } + break; + case 'F': // 12 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 8 strings to match. + if (memcmp(BuiltinName.data()+22, "onv_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case '2': // 2 strings to match. + switch (BuiltinName[28]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[29] != 'f') + break; + return Intrinsic::hexagon_F2_conv_d2df; // "__builtin_HEXAGON_F2_conv_d2df" + case 's': // 1 string to match. + if (BuiltinName[29] != 'f') + break; + return Intrinsic::hexagon_F2_conv_d2sf; // "__builtin_HEXAGON_F2_conv_d2sf" + } + break; + case 'f': // 2 strings to match. + if (BuiltinName[28] != '2') + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2d; // "__builtin_HEXAGON_F2_conv_df2d" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2w; // "__builtin_HEXAGON_F2_conv_df2w" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "f2", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2d; // "__builtin_HEXAGON_F2_conv_sf2d" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2w; // "__builtin_HEXAGON_F2_conv_sf2w" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[27] != '2') + break; + switch (BuiltinName[28]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[29] != 'f') + break; + return Intrinsic::hexagon_F2_conv_w2df; // "__builtin_HEXAGON_F2_conv_w2df" + case 's': // 1 string to match. + if (BuiltinName[29] != 'f') + break; + return Intrinsic::hexagon_F2_conv_w2sf; // "__builtin_HEXAGON_F2_conv_w2sf" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ffm", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_lib", 4)) + break; + return Intrinsic::hexagon_F2_dffma_lib; // "__builtin_HEXAGON_F2_dffma_lib" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_lib", 4)) + break; + return Intrinsic::hexagon_F2_dffms_lib; // "__builtin_HEXAGON_F2_dffms_lib" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ffm", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_lib", 4)) + break; + return Intrinsic::hexagon_F2_sffma_lib; // "__builtin_HEXAGON_F2_sffma_lib" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_lib", 4)) + break; + return Intrinsic::hexagon_F2_sffms_lib; // "__builtin_HEXAGON_F2_sffms_lib" + } + break; + } + break; + case 'M': // 44 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 41 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 8 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 6 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "csc_s", 5)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmacsc_s0; // "__builtin_HEXAGON_M2_cmacsc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmacsc_s1; // "__builtin_HEXAGON_M2_cmacsc_s1" + } + break; + case 'p': // 4 strings to match. + if (BuiltinName[24] != 'y') + break; + switch (BuiltinName[25]) { + default: break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "s_s", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrs_s0; // "__builtin_HEXAGON_M2_cmpyrs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrs_s1; // "__builtin_HEXAGON_M2_cmpyrs_s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "c_s", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpysc_s0; // "__builtin_HEXAGON_M2_cmpysc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpysc_s1; // "__builtin_HEXAGON_M2_cmpysc_s1" + } + break; + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "acsc_s", 6)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cnacsc_s0; // "__builtin_HEXAGON_M2_cnacsc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cnacsc_s1; // "__builtin_HEXAGON_M2_cnacsc_s1" + } + break; + } + break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mmpy", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_s1", 3)) + break; + return Intrinsic::hexagon_M2_hmmpyh_s1; // "__builtin_HEXAGON_M2_hmmpyh_s1" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_s1", 3)) + break; + return Intrinsic::hexagon_M2_hmmpyl_s1; // "__builtin_HEXAGON_M2_hmmpyl_s1" + } + break; + case 'm': // 21 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 12 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[24] != 'c') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "s_s", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_s0; // "__builtin_HEXAGON_M2_mmachs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_s1; // "__builtin_HEXAGON_M2_mmachs_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "s_s", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_s0; // "__builtin_HEXAGON_M2_mmacls_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_s1; // "__builtin_HEXAGON_M2_mmacls_s1" + } + break; + } + break; + case 'p': // 8 strings to match. + if (BuiltinName[24] != 'y') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_rs", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_rs0; // "__builtin_HEXAGON_M2_mmpyh_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyh_rs1; // "__builtin_HEXAGON_M2_mmpyh_rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_rs", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_rs0; // "__builtin_HEXAGON_M2_mmpyl_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyl_rs1; // "__builtin_HEXAGON_M2_mmpyl_rs1" + } + break; + case 'u': // 4 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_s0; // "__builtin_HEXAGON_M2_mmpyuh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_s1; // "__builtin_HEXAGON_M2_mmpyuh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_s0; // "__builtin_HEXAGON_M2_mmpyul_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_s1; // "__builtin_HEXAGON_M2_mmpyul_s1" + } + break; + } + break; + } + break; + } + break; + case 'p': // 9 strings to match. + if (memcmp(BuiltinName.data()+23, "y_", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hh_s0; // "__builtin_HEXAGON_M2_mpy_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hh_s1; // "__builtin_HEXAGON_M2_mpy_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hl_s0; // "__builtin_HEXAGON_M2_mpy_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_hl_s1; // "__builtin_HEXAGON_M2_mpy_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_lh_s0; // "__builtin_HEXAGON_M2_mpy_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_lh_s1; // "__builtin_HEXAGON_M2_mpy_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_s", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_ll_s0; // "__builtin_HEXAGON_M2_mpy_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_ll_s1; // "__builtin_HEXAGON_M2_mpy_ll_s1" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "p_s1", 4)) + break; + return Intrinsic::hexagon_M2_mpy_up_s1; // "__builtin_HEXAGON_M2_mpy_up_s1" + } + break; + } + break; + case 'v': // 10 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "bsdiff", 6)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_M2_vabsdiffh; // "__builtin_HEXAGON_M2_vabsdiffh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_M2_vabsdiffw; // "__builtin_HEXAGON_M2_vabsdiffw" + } + break; + case 'd': // 4 strings to match. + if (BuiltinName[23] != 'm') + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "cs_s", 4)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmacs_s0; // "__builtin_HEXAGON_M2_vdmacs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmacs_s1; // "__builtin_HEXAGON_M2_vdmacs_s1" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "ys_s", 4)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpys_s0; // "__builtin_HEXAGON_M2_vdmpys_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpys_s1; // "__builtin_HEXAGON_M2_vdmpys_s1" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "c2s_s", 5)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2s_s0; // "__builtin_HEXAGON_M2_vmac2s_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2s_s1; // "__builtin_HEXAGON_M2_vmac2s_s1" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "y2s_s", 5)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2s_s0; // "__builtin_HEXAGON_M2_vmpy2s_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2s_s1; // "__builtin_HEXAGON_M2_vmpy2s_s1" + } + break; + } + break; + } + break; + } + break; + case '4': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mpy", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_whc", 4)) + break; + return Intrinsic::hexagon_M4_cmpyi_whc; // "__builtin_HEXAGON_M4_cmpyi_whc" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_whc", 4)) + break; + return Intrinsic::hexagon_M4_cmpyr_whc; // "__builtin_HEXAGON_M4_cmpyr_whc" + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "mpyw_acc", 8)) + break; + return Intrinsic::hexagon_M4_pmpyw_acc; // "__builtin_HEXAGON_M4_pmpyw_acc" + } + break; + } + break; + case 'S': // 12 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractup", 8)) + break; + return Intrinsic::hexagon_S2_extractup; // "__builtin_HEXAGON_S2_extractup" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "nsert_rp", 8)) + break; + return Intrinsic::hexagon_S2_insert_rp; // "__builtin_HEXAGON_S2_insert_rp" + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "splice", 6)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + if (BuiltinName[29] != 'b') + break; + return Intrinsic::hexagon_S2_vspliceib; // "__builtin_HEXAGON_S2_vspliceib" + case 'r': // 1 string to match. + if (BuiltinName[29] != 'b') + break; + return Intrinsic::hexagon_S2_vsplicerb; // "__builtin_HEXAGON_S2_vsplicerb" + } + break; + } + break; + case '4': // 7 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "tstbit_", 7)) + break; + switch (BuiltinName[29]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S4_ntstbit_i; // "__builtin_HEXAGON_S4_ntstbit_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S4_ntstbit_r; // "__builtin_HEXAGON_S4_ntstbit_r" + } + break; + case 'v': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "crotate", 7)) + break; + return Intrinsic::hexagon_S4_vrcrotate; // "__builtin_HEXAGON_S4_vrcrotate" + case 'x': // 4 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "ddsub", 5)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S4_vxaddsubh; // "__builtin_HEXAGON_S4_vxaddsubh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S4_vxaddsubw; // "__builtin_HEXAGON_S4_vxaddsubw" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "ubadd", 5)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_S4_vxsubaddh; // "__builtin_HEXAGON_S4_vxsubaddh" + case 'w': // 1 string to match. + return Intrinsic::hexagon_S4_vxsubaddw; // "__builtin_HEXAGON_S4_vxsubaddw" + } + break; + } + break; + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_popcountp", 10)) + break; + return Intrinsic::hexagon_S5_popcountp; // "__builtin_HEXAGON_S5_popcountp" + } + break; + } + break; + case 31: // 95 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "2_combine_", 10)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_combine_hh; // "__builtin_HEXAGON_A2_combine_hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_combine_hl; // "__builtin_HEXAGON_A2_combine_hl" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_combine_lh; // "__builtin_HEXAGON_A2_combine_lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_combine_ll; // "__builtin_HEXAGON_A2_combine_ll" + } + break; + } + break; + case 'F': // 10 strings to match. + if (memcmp(BuiltinName.data()+19, "2_conv_", 7)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 3 strings to match. + if (memcmp(BuiltinName.data()+27, "f2", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_df2sf; // "__builtin_HEXAGON_F2_conv_df2sf" + case 'u': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2ud; // "__builtin_HEXAGON_F2_conv_df2ud" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_df2uw; // "__builtin_HEXAGON_F2_conv_df2uw" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(BuiltinName.data()+27, "f2", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_sf2df; // "__builtin_HEXAGON_F2_conv_sf2df" + case 'u': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2ud; // "__builtin_HEXAGON_F2_conv_sf2ud" + case 'w': // 1 string to match. + return Intrinsic::hexagon_F2_conv_sf2uw; // "__builtin_HEXAGON_F2_conv_sf2uw" + } + break; + } + break; + case 'u': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[28] != '2') + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_ud2df; // "__builtin_HEXAGON_F2_conv_ud2df" + case 's': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_ud2sf; // "__builtin_HEXAGON_F2_conv_ud2sf" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[28] != '2') + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_uw2df; // "__builtin_HEXAGON_F2_conv_uw2df" + case 's': // 1 string to match. + if (BuiltinName[30] != 'f') + break; + return Intrinsic::hexagon_F2_conv_uw2sf; // "__builtin_HEXAGON_F2_conv_uw2sf" + } + break; + } + break; + } + break; + case 'M': // 58 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 49 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mpyrsc_s", 8)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrsc_s0; // "__builtin_HEXAGON_M2_cmpyrsc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_cmpyrsc_s1; // "__builtin_HEXAGON_M2_cmpyrsc_s1" + } + break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "pmpy", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "s_s0", 4)) + break; + return Intrinsic::hexagon_M2_dpmpyss_s0; // "__builtin_HEXAGON_M2_dpmpyss_s0" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "u_s0", 4)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_s0; // "__builtin_HEXAGON_M2_dpmpyuu_s0" + } + break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mmpy", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_rs1", 4)) + break; + return Intrinsic::hexagon_M2_hmmpyh_rs1; // "__builtin_HEXAGON_M2_hmmpyh_rs1" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "_rs1", 4)) + break; + return Intrinsic::hexagon_M2_hmmpyl_rs1; // "__builtin_HEXAGON_M2_hmmpyl_rs1" + } + break; + case 'm': // 28 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 12 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 8 strings to match. + if (BuiltinName[24] != 'c') + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "s_rs", 4)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_rs0; // "__builtin_HEXAGON_M2_mmachs_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmachs_rs1; // "__builtin_HEXAGON_M2_mmachs_rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "s_rs", 4)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_rs0; // "__builtin_HEXAGON_M2_mmacls_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacls_rs1; // "__builtin_HEXAGON_M2_mmacls_rs1" + } + break; + case 'u': // 4 strings to match. + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_s0; // "__builtin_HEXAGON_M2_mmacuhs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_s1; // "__builtin_HEXAGON_M2_mmacuhs_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_s0; // "__builtin_HEXAGON_M2_mmaculs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_s1; // "__builtin_HEXAGON_M2_mmaculs_s1" + } + break; + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+24, "yu", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_rs", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_rs0; // "__builtin_HEXAGON_M2_mmpyuh_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyuh_rs1; // "__builtin_HEXAGON_M2_mmpyuh_rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_rs", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_rs0; // "__builtin_HEXAGON_M2_mmpyul_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmpyul_rs1; // "__builtin_HEXAGON_M2_mmpyul_rs1" + } + break; + } + break; + } + break; + case 'p': // 16 strings to match. + if (BuiltinName[23] != 'y') + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 8 strings to match. + if (BuiltinName[25] != '_') + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hh_s0; // "__builtin_HEXAGON_M2_mpyd_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hh_s1; // "__builtin_HEXAGON_M2_mpyd_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hl_s0; // "__builtin_HEXAGON_M2_mpyd_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_hl_s1; // "__builtin_HEXAGON_M2_mpyd_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_lh_s0; // "__builtin_HEXAGON_M2_mpyd_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_lh_s1; // "__builtin_HEXAGON_M2_mpyd_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_ll_s0; // "__builtin_HEXAGON_M2_mpyd_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_ll_s1; // "__builtin_HEXAGON_M2_mpyd_ll_s1" + } + break; + } + break; + } + break; + case 'u': // 8 strings to match. + if (BuiltinName[25] != '_') + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hh_s0; // "__builtin_HEXAGON_M2_mpyu_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hh_s1; // "__builtin_HEXAGON_M2_mpyu_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hl_s0; // "__builtin_HEXAGON_M2_mpyu_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_hl_s1; // "__builtin_HEXAGON_M2_mpyu_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_lh_s0; // "__builtin_HEXAGON_M2_mpyu_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_lh_s1; // "__builtin_HEXAGON_M2_mpyu_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+28, "_s", 2)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_ll_s0; // "__builtin_HEXAGON_M2_mpyu_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_ll_s1; // "__builtin_HEXAGON_M2_mpyu_ll_s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'v': // 15 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "mpyrs_s", 7)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpyrs_s0; // "__builtin_HEXAGON_M2_vdmpyrs_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vdmpyrs_s1; // "__builtin_HEXAGON_M2_vdmpyrs_s1" + } + break; + case 'm': // 8 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+24, "c2", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2es_s0; // "__builtin_HEXAGON_M2_vmac2es_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2es_s1; // "__builtin_HEXAGON_M2_vmac2es_s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "u_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2su_s0; // "__builtin_HEXAGON_M2_vmac2su_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmac2su_s1; // "__builtin_HEXAGON_M2_vmac2su_s1" + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+24, "y2", 2)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2es_s0; // "__builtin_HEXAGON_M2_vmpy2es_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2es_s1; // "__builtin_HEXAGON_M2_vmpy2es_s1" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "u_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2su_s0; // "__builtin_HEXAGON_M2_vmpy2su_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_vmpy2su_s1; // "__builtin_HEXAGON_M2_vmpy2su_s1" + } + break; + } + break; + } + break; + case 'r': // 5 strings to match. + if (memcmp(BuiltinName.data()+23, "cm", 2)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[26] != 'c') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmaci_s0; // "__builtin_HEXAGON_M2_vrcmaci_s0" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmacr_s0; // "__builtin_HEXAGON_M2_vrcmacr_s0" + } + break; + case 'p': // 3 strings to match. + if (BuiltinName[26] != 'y') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpyi_s0; // "__builtin_HEXAGON_M2_vrcmpyi_s0" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpyr_s0; // "__builtin_HEXAGON_M2_vrcmpyr_s0" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s1", 3)) + break; + return Intrinsic::hexagon_M2_vrcmpys_s1; // "__builtin_HEXAGON_M2_vrcmpys_s1" + } + break; + } + break; + } + break; + } + break; + case '4': // 9 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "pyr", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_add", 4)) + break; + switch (BuiltinName[30]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M4_mpyri_addi; // "__builtin_HEXAGON_M4_mpyri_addi" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M4_mpyri_addr; // "__builtin_HEXAGON_M4_mpyri_addr" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "_add", 4)) + break; + switch (BuiltinName[30]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M4_mpyrr_addi; // "__builtin_HEXAGON_M4_mpyrr_addi" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M4_mpyrr_addr; // "__builtin_HEXAGON_M4_mpyrr_addr" + } + break; + } + break; + case 'v': // 5 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "mpyh_acc", 8)) + break; + return Intrinsic::hexagon_M4_vpmpyh_acc; // "__builtin_HEXAGON_M4_vpmpyh_acc" + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+23, "mpy", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "h_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_s0; // "__builtin_HEXAGON_M4_vrmpyeh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_s1; // "__builtin_HEXAGON_M4_vrmpyeh_s1" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "h_s", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_s0; // "__builtin_HEXAGON_M4_vrmpyoh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_s1; // "__builtin_HEXAGON_M4_vrmpyoh_s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'S': // 23 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 17 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 8 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asl_i_p_or; // "__builtin_HEXAGON_S2_asl_i_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asl_i_r_or; // "__builtin_HEXAGON_S2_asl_i_r_or" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asl_r_p_or; // "__builtin_HEXAGON_S2_asl_r_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asl_r_r_or; // "__builtin_HEXAGON_S2_asl_r_r_or" + } + break; + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asr_i_p_or; // "__builtin_HEXAGON_S2_asr_i_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asr_i_r_or; // "__builtin_HEXAGON_S2_asr_i_r_or" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asr_r_p_or; // "__builtin_HEXAGON_S2_asr_r_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_asr_r_r_or; // "__builtin_HEXAGON_S2_asr_r_r_or" + } + break; + } + break; + } + break; + case 'i': // 2 strings to match. + if (BuiltinName[22] != 'n') + break; + switch (BuiltinName[23]) { + default: break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ertp_rp", 7)) + break; + return Intrinsic::hexagon_S2_insertp_rp; // "__builtin_HEXAGON_S2_insertp_rp" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "erleave", 7)) + break; + return Intrinsic::hexagon_S2_interleave; // "__builtin_HEXAGON_S2_interleave" + } + break; + case 'l': // 6 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+24, "_r_", 3)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_or; // "__builtin_HEXAGON_S2_lsl_r_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsl_r_r_or; // "__builtin_HEXAGON_S2_lsl_r_r_or" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_or; // "__builtin_HEXAGON_S2_lsr_i_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_or; // "__builtin_HEXAGON_S2_lsr_i_r_or" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_or; // "__builtin_HEXAGON_S2_lsr_r_p_or" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_or", 3)) + break; + return Intrinsic::hexagon_S2_lsr_r_r_or; // "__builtin_HEXAGON_S2_lsr_r_r_or" + } + break; + } + break; + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rndpackwh", 9)) + break; + return Intrinsic::hexagon_S2_vrndpackwh; // "__builtin_HEXAGON_S2_vrndpackwh" + } + break; + case '4': // 5 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtract_rp", 9)) + break; + return Intrinsic::hexagon_S4_extract_rp; // "__builtin_HEXAGON_S4_extract_rp" + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ri_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "sl_ri", 5)) + break; + return Intrinsic::hexagon_S4_ori_asl_ri; // "__builtin_HEXAGON_S4_ori_asl_ri" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "sr_ri", 5)) + break; + return Intrinsic::hexagon_S4_ori_lsr_ri; // "__builtin_HEXAGON_S4_ori_lsr_ri" + } + break; + case 'v': // 2 strings to match. + if (BuiltinName[22] != 'x') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ddsubhr", 7)) + break; + return Intrinsic::hexagon_S4_vxaddsubhr; // "__builtin_HEXAGON_S4_vxaddsubhr" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ubaddhr", 7)) + break; + return Intrinsic::hexagon_S4_vxsubaddhr; // "__builtin_HEXAGON_S4_vxsubaddhr" + } + break; + } + break; + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_asrhub_sat", 11)) + break; + return Intrinsic::hexagon_S5_asrhub_sat; // "__builtin_HEXAGON_S5_asrhub_sat" + } + break; + } + break; + case 32: // 96 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 16 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 14 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "ddh_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(BuiltinName.data()+27, "16_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_hh; // "__builtin_HEXAGON_A2_addh_h16_hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_hl; // "__builtin_HEXAGON_A2_addh_h16_hl" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_lh; // "__builtin_HEXAGON_A2_addh_h16_lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_ll; // "__builtin_HEXAGON_A2_addh_h16_ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "16_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[31] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_hl; // "__builtin_HEXAGON_A2_addh_l16_hl" + case 'l': // 1 string to match. + if (BuiltinName[31] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_ll; // "__builtin_HEXAGON_A2_addh_l16_ll" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "ubh_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(BuiltinName.data()+27, "16_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_hh; // "__builtin_HEXAGON_A2_subh_h16_hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_hl; // "__builtin_HEXAGON_A2_subh_h16_hl" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_lh; // "__builtin_HEXAGON_A2_subh_h16_lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_ll; // "__builtin_HEXAGON_A2_subh_h16_ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "16_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[31] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_hl; // "__builtin_HEXAGON_A2_subh_l16_hl" + case 'l': // 1 string to match. + if (BuiltinName[31] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_ll; // "__builtin_HEXAGON_A2_subh_l16_ll" + } + break; + } + break; + case 'v': // 2 strings to match. + if (BuiltinName[22] != 'r') + break; + switch (BuiltinName[23]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "ddub_acc", 8)) + break; + return Intrinsic::hexagon_A2_vraddub_acc; // "__builtin_HEXAGON_A2_vraddub_acc" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "adub_acc", 8)) + break; + return Intrinsic::hexagon_A2_vrsadub_acc; // "__builtin_HEXAGON_A2_vrsadub_acc" + } + break; + } + break; + case '4': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "oundscheck", 10)) + break; + return Intrinsic::hexagon_A4_boundscheck; // "__builtin_HEXAGON_A4_boundscheck" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "cmpbeq_any", 10)) + break; + return Intrinsic::hexagon_A4_vcmpbeq_any; // "__builtin_HEXAGON_A4_vcmpbeq_any" + } + break; + } + break; + case 'C': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "4_fastcorner9", 13)) + break; + return Intrinsic::hexagon_C4_fastcorner9; // "__builtin_HEXAGON_C4_fastcorner9" + case 'M': // 16 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 12 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'm': // 4 strings to match. + if (memcmp(BuiltinName.data()+23, "acu", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_rs", 4)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_rs0; // "__builtin_HEXAGON_M2_mmacuhs_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmacuhs_rs1; // "__builtin_HEXAGON_M2_mmacuhs_rs1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "s_rs", 4)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_rs0; // "__builtin_HEXAGON_M2_mmaculs_rs0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mmaculs_rs1; // "__builtin_HEXAGON_M2_mmaculs_rs1" + } + break; + } + break; + case 'p': // 8 strings to match. + if (memcmp(BuiltinName.data()+23, "yud_", 4)) + break; + switch (BuiltinName[27]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[28]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_s", 2)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hh_s0; // "__builtin_HEXAGON_M2_mpyud_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hh_s1; // "__builtin_HEXAGON_M2_mpyud_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_s", 2)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hl_s0; // "__builtin_HEXAGON_M2_mpyud_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_hl_s1; // "__builtin_HEXAGON_M2_mpyud_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[28]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_s", 2)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_lh_s0; // "__builtin_HEXAGON_M2_mpyud_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_lh_s1; // "__builtin_HEXAGON_M2_mpyud_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_s", 2)) + break; + switch (BuiltinName[31]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_ll_s0; // "__builtin_HEXAGON_M2_mpyud_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_ll_s1; // "__builtin_HEXAGON_M2_mpyud_ll_s1" + } + break; + } + break; + } + break; + } + break; + case 'v': // 4 strings to match. + if (memcmp(BuiltinName.data()+22, "rcm", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[26] != 'c') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmaci_s0c; // "__builtin_HEXAGON_M2_vrcmaci_s0c" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmacr_s0c; // "__builtin_HEXAGON_M2_vrcmacr_s0c" + } + break; + case 'p': // 2 strings to match. + if (BuiltinName[26] != 'y') + break; + switch (BuiltinName[27]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmpyi_s0c; // "__builtin_HEXAGON_M2_vrcmpyi_s0c" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_s0c", 4)) + break; + return Intrinsic::hexagon_M2_vrcmpyr_s0c; // "__builtin_HEXAGON_M2_vrcmpyr_s0c" + } + break; + } + break; + } + break; + case 'S': // 63 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 56 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 32 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "dasl_rrri", 9)) + break; + return Intrinsic::hexagon_S2_addasl_rrri; // "__builtin_HEXAGON_S2_addasl_rrri" + case 's': // 31 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'l': // 15 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 7 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 3 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asl_i_p_acc; // "__builtin_HEXAGON_S2_asl_i_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asl_i_p_and; // "__builtin_HEXAGON_S2_asl_i_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_p_nac; // "__builtin_HEXAGON_S2_asl_i_p_nac" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asl_i_r_acc; // "__builtin_HEXAGON_S2_asl_i_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asl_i_r_and; // "__builtin_HEXAGON_S2_asl_i_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_r_nac; // "__builtin_HEXAGON_S2_asl_i_r_nac" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "at", 2)) + break; + return Intrinsic::hexagon_S2_asl_i_r_sat; // "__builtin_HEXAGON_S2_asl_i_r_sat" + } + break; + } + break; + case 'r': // 8 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asl_r_p_acc; // "__builtin_HEXAGON_S2_asl_r_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asl_r_p_and; // "__builtin_HEXAGON_S2_asl_r_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_p_nac; // "__builtin_HEXAGON_S2_asl_r_p_nac" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "or", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_p_xor; // "__builtin_HEXAGON_S2_asl_r_p_xor" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asl_r_r_acc; // "__builtin_HEXAGON_S2_asl_r_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asl_r_r_and; // "__builtin_HEXAGON_S2_asl_r_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_r_nac; // "__builtin_HEXAGON_S2_asl_r_r_nac" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "at", 2)) + break; + return Intrinsic::hexagon_S2_asl_r_r_sat; // "__builtin_HEXAGON_S2_asl_r_r_sat" + } + break; + } + break; + } + break; + case 'r': // 16 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 8 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asr_i_p_acc; // "__builtin_HEXAGON_S2_asr_i_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asr_i_p_and; // "__builtin_HEXAGON_S2_asr_i_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_p_nac; // "__builtin_HEXAGON_S2_asr_i_p_nac" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "nd", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_p_rnd; // "__builtin_HEXAGON_S2_asr_i_p_rnd" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asr_i_r_acc; // "__builtin_HEXAGON_S2_asr_i_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asr_i_r_and; // "__builtin_HEXAGON_S2_asr_i_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_r_nac; // "__builtin_HEXAGON_S2_asr_i_r_nac" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "nd", 2)) + break; + return Intrinsic::hexagon_S2_asr_i_r_rnd; // "__builtin_HEXAGON_S2_asr_i_r_rnd" + } + break; + } + break; + case 'r': // 8 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asr_r_p_acc; // "__builtin_HEXAGON_S2_asr_r_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asr_r_p_and; // "__builtin_HEXAGON_S2_asr_r_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_p_nac; // "__builtin_HEXAGON_S2_asr_r_p_nac" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "or", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_p_xor; // "__builtin_HEXAGON_S2_asr_r_p_xor" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_asr_r_r_acc; // "__builtin_HEXAGON_S2_asr_r_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_asr_r_r_and; // "__builtin_HEXAGON_S2_asr_r_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_r_nac; // "__builtin_HEXAGON_S2_asr_r_r_nac" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "at", 2)) + break; + return Intrinsic::hexagon_S2_asr_r_r_sat; // "__builtin_HEXAGON_S2_asr_r_r_sat" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractu_rp", 10)) + break; + return Intrinsic::hexagon_S2_extractu_rp; // "__builtin_HEXAGON_S2_extractu_rp" + case 'l': // 20 strings to match. + if (BuiltinName[22] != 's') + break; + switch (BuiltinName[23]) { + default: break; + case 'l': // 7 strings to match. + if (memcmp(BuiltinName.data()+24, "_r_", 3)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsl_r_p_acc; // "__builtin_HEXAGON_S2_lsl_r_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsl_r_p_and; // "__builtin_HEXAGON_S2_lsl_r_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_nac; // "__builtin_HEXAGON_S2_lsl_r_p_nac" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "or", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_p_xor; // "__builtin_HEXAGON_S2_lsl_r_p_xor" + } + break; + case 'r': // 3 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsl_r_r_acc; // "__builtin_HEXAGON_S2_lsl_r_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsl_r_r_and; // "__builtin_HEXAGON_S2_lsl_r_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsl_r_r_nac; // "__builtin_HEXAGON_S2_lsl_r_r_nac" + } + break; + } + break; + case 'r': // 13 strings to match. + if (BuiltinName[24] != '_') + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 6 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 3 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_i_p_acc; // "__builtin_HEXAGON_S2_lsr_i_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_i_p_and; // "__builtin_HEXAGON_S2_lsr_i_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_nac; // "__builtin_HEXAGON_S2_lsr_i_p_nac" + } + break; + case 'r': // 3 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_i_r_acc; // "__builtin_HEXAGON_S2_lsr_i_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_i_r_and; // "__builtin_HEXAGON_S2_lsr_i_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_nac; // "__builtin_HEXAGON_S2_lsr_i_r_nac" + } + break; + } + break; + case 'r': // 7 strings to match. + if (BuiltinName[26] != '_') + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 4 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_r_p_acc; // "__builtin_HEXAGON_S2_lsr_r_p_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_r_p_and; // "__builtin_HEXAGON_S2_lsr_r_p_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_nac; // "__builtin_HEXAGON_S2_lsr_r_p_nac" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "or", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_p_xor; // "__builtin_HEXAGON_S2_lsr_r_p_xor" + } + break; + case 'r': // 3 strings to match. + if (BuiltinName[28] != '_') + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[31] != 'c') + break; + return Intrinsic::hexagon_S2_lsr_r_r_acc; // "__builtin_HEXAGON_S2_lsr_r_r_acc" + case 'n': // 1 string to match. + if (BuiltinName[31] != 'd') + break; + return Intrinsic::hexagon_S2_lsr_r_r_and; // "__builtin_HEXAGON_S2_lsr_r_r_and" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac", 2)) + break; + return Intrinsic::hexagon_S2_lsr_r_r_nac; // "__builtin_HEXAGON_S2_lsr_r_r_nac" + } + break; + } + break; + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ogglebit_", 9)) + break; + switch (BuiltinName[31]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_S2_togglebit_i; // "__builtin_HEXAGON_S2_togglebit_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_S2_togglebit_r; // "__builtin_HEXAGON_S2_togglebit_r" + } + break; + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "rndpackwhs", 10)) + break; + return Intrinsic::hexagon_S2_vrndpackwhs; // "__builtin_HEXAGON_S2_vrndpackwhs" + } + break; + case '4': // 7 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "di_", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sl_ri", 5)) + break; + return Intrinsic::hexagon_S4_addi_asl_ri; // "__builtin_HEXAGON_S4_addi_asl_ri" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sr_ri", 5)) + break; + return Intrinsic::hexagon_S4_addi_lsr_ri; // "__builtin_HEXAGON_S4_addi_lsr_ri" + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "di_", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sl_ri", 5)) + break; + return Intrinsic::hexagon_S4_andi_asl_ri; // "__builtin_HEXAGON_S4_andi_asl_ri" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sr_ri", 5)) + break; + return Intrinsic::hexagon_S4_andi_lsr_ri; // "__builtin_HEXAGON_S4_andi_lsr_ri" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractp_rp", 10)) + break; + return Intrinsic::hexagon_S4_extractp_rp; // "__builtin_HEXAGON_S4_extractp_rp" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ubi_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sl_ri", 5)) + break; + return Intrinsic::hexagon_S4_subi_asl_ri; // "__builtin_HEXAGON_S4_subi_asl_ri" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "sr_ri", 5)) + break; + return Intrinsic::hexagon_S4_subi_lsr_ri; // "__builtin_HEXAGON_S4_subi_lsr_ri" + } + break; + } + break; + } + break; + } + break; + case 33: // 9 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "4_round_r", 9)) + break; + switch (BuiltinName[28]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "_sat", 4)) + break; + return Intrinsic::hexagon_A4_round_ri_sat; // "__builtin_HEXAGON_A4_round_ri_sat" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "_sat", 4)) + break; + return Intrinsic::hexagon_A4_round_rr_sat; // "__builtin_HEXAGON_A4_round_rr_sat" + } + break; + case 'M': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "2_vrcmpys_s1rp", 14)) + break; + return Intrinsic::hexagon_M2_vrcmpys_s1rp; // "__builtin_HEXAGON_M2_vrcmpys_s1rp" + case 'S': // 6 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "sl_i_", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_xacc", 5)) + break; + return Intrinsic::hexagon_S2_asl_i_p_xacc; // "__builtin_HEXAGON_S2_asl_i_p_xacc" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_xacc", 5)) + break; + return Intrinsic::hexagon_S2_asl_i_r_xacc; // "__builtin_HEXAGON_S2_asl_i_r_xacc" + } + break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "einterleave", 11)) + break; + return Intrinsic::hexagon_S2_deinterleave; // "__builtin_HEXAGON_S2_deinterleave" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xtractup_rp", 11)) + break; + return Intrinsic::hexagon_S2_extractup_rp; // "__builtin_HEXAGON_S2_extractup_rp" + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "sr_i_", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_xacc", 5)) + break; + return Intrinsic::hexagon_S2_lsr_i_p_xacc; // "__builtin_HEXAGON_S2_lsr_i_p_xacc" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_xacc", 5)) + break; + return Intrinsic::hexagon_S2_lsr_i_r_xacc; // "__builtin_HEXAGON_S2_lsr_i_r_xacc" + } + break; + } + break; + } + break; + case 34: // 41 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'M': // 38 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 35 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 33 strings to match. + if (memcmp(BuiltinName.data()+22, "py_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "cc_", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hh_s0; // "__builtin_HEXAGON_M2_mpy_acc_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hh_s1; // "__builtin_HEXAGON_M2_mpy_acc_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hl_s0; // "__builtin_HEXAGON_M2_mpy_acc_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_hl_s1; // "__builtin_HEXAGON_M2_mpy_acc_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_lh_s0; // "__builtin_HEXAGON_M2_mpy_acc_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_lh_s1; // "__builtin_HEXAGON_M2_mpy_acc_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_ll_s0; // "__builtin_HEXAGON_M2_mpy_acc_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_ll_s1; // "__builtin_HEXAGON_M2_mpy_acc_ll_s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "ac_", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hh_s0; // "__builtin_HEXAGON_M2_mpy_nac_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hh_s1; // "__builtin_HEXAGON_M2_mpy_nac_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hl_s0; // "__builtin_HEXAGON_M2_mpy_nac_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_hl_s1; // "__builtin_HEXAGON_M2_mpy_nac_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_lh_s0; // "__builtin_HEXAGON_M2_mpy_nac_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_lh_s1; // "__builtin_HEXAGON_M2_mpy_nac_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_ll_s0; // "__builtin_HEXAGON_M2_mpy_nac_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_ll_s1; // "__builtin_HEXAGON_M2_mpy_nac_ll_s1" + } + break; + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "nd_", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hh_s0; // "__builtin_HEXAGON_M2_mpy_rnd_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hh_s1; // "__builtin_HEXAGON_M2_mpy_rnd_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hl_s0; // "__builtin_HEXAGON_M2_mpy_rnd_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_hl_s1; // "__builtin_HEXAGON_M2_mpy_rnd_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_lh_s0; // "__builtin_HEXAGON_M2_mpy_rnd_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_lh_s1; // "__builtin_HEXAGON_M2_mpy_rnd_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_ll_s0; // "__builtin_HEXAGON_M2_mpy_rnd_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_rnd_ll_s1; // "__builtin_HEXAGON_M2_mpy_rnd_ll_s1" + } + break; + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "at_", 3)) + break; + switch (BuiltinName[29]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hh_s0; // "__builtin_HEXAGON_M2_mpy_sat_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hh_s1; // "__builtin_HEXAGON_M2_mpy_sat_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hl_s0; // "__builtin_HEXAGON_M2_mpy_sat_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_hl_s1; // "__builtin_HEXAGON_M2_mpy_sat_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[30]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_lh_s0; // "__builtin_HEXAGON_M2_mpy_sat_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_lh_s1; // "__builtin_HEXAGON_M2_mpy_sat_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+31, "_s", 2)) + break; + switch (BuiltinName[33]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_ll_s0; // "__builtin_HEXAGON_M2_mpy_sat_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_ll_s1; // "__builtin_HEXAGON_M2_mpy_sat_ll_s1" + } + break; + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "p_s1_sat", 8)) + break; + return Intrinsic::hexagon_M2_mpy_up_s1_sat; // "__builtin_HEXAGON_M2_mpy_up_s1_sat" + } + break; + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "mpy2s_s", 7)) + break; + switch (BuiltinName[29]) { + default: break; + case '0': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "pack", 4)) + break; + return Intrinsic::hexagon_M2_vmpy2s_s0pack; // "__builtin_HEXAGON_M2_vmpy2s_s0pack" + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "pack", 4)) + break; + return Intrinsic::hexagon_M2_vmpy2s_s1pack; // "__builtin_HEXAGON_M2_vmpy2s_s1pack" + } + break; + } + break; + case '4': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'm': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "c_up_s1_sat", 11)) + break; + return Intrinsic::hexagon_M4_mac_up_s1_sat; // "__builtin_HEXAGON_M4_mac_up_s1_sat" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "yri_addr_u2", 11)) + break; + return Intrinsic::hexagon_M4_mpyri_addr_u2; // "__builtin_HEXAGON_M4_mpyri_addr_u2" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "ac_up_s1_sat", 12)) + break; + return Intrinsic::hexagon_M4_nac_up_s1_sat; // "__builtin_HEXAGON_M4_nac_up_s1_sat" + } + break; + } + break; + case 'S': // 3 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "_vsat", 5)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "b_nopack", 8)) + break; + return Intrinsic::hexagon_S2_vsathb_nopack; // "__builtin_HEXAGON_S2_vsathb_nopack" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "h_nopack", 8)) + break; + return Intrinsic::hexagon_S2_vsatwh_nopack; // "__builtin_HEXAGON_S2_vsatwh_nopack" + } + break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_vrcrotate_acc", 14)) + break; + return Intrinsic::hexagon_S4_vrcrotate_acc; // "__builtin_HEXAGON_S4_vrcrotate_acc" + } + break; + } + break; + case 35: // 64 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'F': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "2_conv_", 7)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "f2", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2d_chop; // "__builtin_HEXAGON_F2_conv_df2d_chop" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2w_chop; // "__builtin_HEXAGON_F2_conv_df2w_chop" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "f2", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2d_chop; // "__builtin_HEXAGON_F2_conv_sf2d_chop" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2w_chop; // "__builtin_HEXAGON_F2_conv_sf2w_chop" + } + break; + } + break; + case 'M': // 56 strings to match. + switch (BuiltinName[19]) { + default: break; + case '2': // 52 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 5 strings to match. + if (memcmp(BuiltinName.data()+22, "pmpy", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 's': // 3 strings to match. + if (memcmp(BuiltinName.data()+27, "s_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "cc_s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_acc_s0; // "__builtin_HEXAGON_M2_dpmpyss_acc_s0" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac_s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_nac_s0; // "__builtin_HEXAGON_M2_dpmpyss_nac_s0" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "nd_s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyss_rnd_s0; // "__builtin_HEXAGON_M2_dpmpyss_rnd_s0" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "u_", 2)) + break; + switch (BuiltinName[29]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "cc_s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_acc_s0; // "__builtin_HEXAGON_M2_dpmpyuu_acc_s0" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "ac_s0", 5)) + break; + return Intrinsic::hexagon_M2_dpmpyuu_nac_s0; // "__builtin_HEXAGON_M2_dpmpyuu_nac_s0" + } + break; + } + break; + case 'm': // 40 strings to match. + if (memcmp(BuiltinName.data()+22, "py", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 24 strings to match. + if (BuiltinName[25] != '_') + break; + switch (BuiltinName[26]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+27, "cc_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hh_s0; // "__builtin_HEXAGON_M2_mpyd_acc_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hh_s1; // "__builtin_HEXAGON_M2_mpyd_acc_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hl_s0; // "__builtin_HEXAGON_M2_mpyd_acc_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_hl_s1; // "__builtin_HEXAGON_M2_mpyd_acc_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_lh_s0; // "__builtin_HEXAGON_M2_mpyd_acc_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_lh_s1; // "__builtin_HEXAGON_M2_mpyd_acc_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_ll_s0; // "__builtin_HEXAGON_M2_mpyd_acc_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_acc_ll_s1; // "__builtin_HEXAGON_M2_mpyd_acc_ll_s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+27, "ac_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hh_s0; // "__builtin_HEXAGON_M2_mpyd_nac_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hh_s1; // "__builtin_HEXAGON_M2_mpyd_nac_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hl_s0; // "__builtin_HEXAGON_M2_mpyd_nac_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_hl_s1; // "__builtin_HEXAGON_M2_mpyd_nac_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_lh_s0; // "__builtin_HEXAGON_M2_mpyd_nac_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_lh_s1; // "__builtin_HEXAGON_M2_mpyd_nac_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_ll_s0; // "__builtin_HEXAGON_M2_mpyd_nac_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_nac_ll_s1; // "__builtin_HEXAGON_M2_mpyd_nac_ll_s1" + } + break; + } + break; + } + break; + case 'r': // 8 strings to match. + if (memcmp(BuiltinName.data()+27, "nd_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hh_s0; // "__builtin_HEXAGON_M2_mpyd_rnd_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hh_s1; // "__builtin_HEXAGON_M2_mpyd_rnd_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hl_s0; // "__builtin_HEXAGON_M2_mpyd_rnd_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_hl_s1; // "__builtin_HEXAGON_M2_mpyd_rnd_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_lh_s0; // "__builtin_HEXAGON_M2_mpyd_rnd_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_lh_s1; // "__builtin_HEXAGON_M2_mpyd_rnd_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_ll_s0; // "__builtin_HEXAGON_M2_mpyd_rnd_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyd_rnd_ll_s1; // "__builtin_HEXAGON_M2_mpyd_rnd_ll_s1" + } + break; + } + break; + } + break; + } + break; + case 'u': // 16 strings to match. + if (BuiltinName[25] != '_') + break; + switch (BuiltinName[26]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+27, "cc_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hh_s0; // "__builtin_HEXAGON_M2_mpyu_acc_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hh_s1; // "__builtin_HEXAGON_M2_mpyu_acc_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hl_s0; // "__builtin_HEXAGON_M2_mpyu_acc_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_hl_s1; // "__builtin_HEXAGON_M2_mpyu_acc_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_lh_s0; // "__builtin_HEXAGON_M2_mpyu_acc_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_lh_s1; // "__builtin_HEXAGON_M2_mpyu_acc_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_ll_s0; // "__builtin_HEXAGON_M2_mpyu_acc_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_acc_ll_s1; // "__builtin_HEXAGON_M2_mpyu_acc_ll_s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+27, "ac_", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hh_s0; // "__builtin_HEXAGON_M2_mpyu_nac_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hh_s1; // "__builtin_HEXAGON_M2_mpyu_nac_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hl_s0; // "__builtin_HEXAGON_M2_mpyu_nac_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_hl_s1; // "__builtin_HEXAGON_M2_mpyu_nac_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[31]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_lh_s0; // "__builtin_HEXAGON_M2_mpyu_nac_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_lh_s1; // "__builtin_HEXAGON_M2_mpyu_nac_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+32, "_s", 2)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_ll_s0; // "__builtin_HEXAGON_M2_mpyu_nac_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyu_nac_ll_s1; // "__builtin_HEXAGON_M2_mpyu_nac_ll_s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'v': // 7 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'c': // 6 strings to match. + if (BuiltinName[23] != 'm') + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+25, "c_s0_sat_", 9)) + break; + switch (BuiltinName[34]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmac_s0_sat_i; // "__builtin_HEXAGON_M2_vcmac_s0_sat_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmac_s0_sat_r; // "__builtin_HEXAGON_M2_vcmac_s0_sat_r" + } + break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+25, "y_s", 3)) + break; + switch (BuiltinName[28]) { + default: break; + case '0': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_sat_", 5)) + break; + switch (BuiltinName[34]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s0_sat_i; // "__builtin_HEXAGON_M2_vcmpy_s0_sat_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s0_sat_r; // "__builtin_HEXAGON_M2_vcmpy_s0_sat_r" + } + break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+29, "_sat_", 5)) + break; + switch (BuiltinName[34]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s1_sat_i; // "__builtin_HEXAGON_M2_vcmpy_s1_sat_i" + case 'r': // 1 string to match. + return Intrinsic::hexagon_M2_vcmpy_s1_sat_r; // "__builtin_HEXAGON_M2_vcmpy_s1_sat_r" + } + break; + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "cmpys_acc_s1", 12)) + break; + return Intrinsic::hexagon_M2_vrcmpys_acc_s1; // "__builtin_HEXAGON_M2_vrcmpys_acc_s1" + } + break; + } + break; + case '4': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "_vrmpy", 6)) + break; + switch (BuiltinName[26]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "h_acc_s", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_acc_s0; // "__builtin_HEXAGON_M4_vrmpyeh_acc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyeh_acc_s1; // "__builtin_HEXAGON_M4_vrmpyeh_acc_s1" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "h_acc_s", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_acc_s0; // "__builtin_HEXAGON_M4_vrmpyoh_acc_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M4_vrmpyoh_acc_s1; // "__builtin_HEXAGON_M4_vrmpyoh_acc_s1" + } + break; + } + break; + } + break; + case 'S': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "sr_", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_svw_trun", 9)) + break; + return Intrinsic::hexagon_S2_asr_i_svw_trun; // "__builtin_HEXAGON_S2_asr_i_svw_trun" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_svw_trun", 9)) + break; + return Intrinsic::hexagon_S2_asr_r_svw_trun; // "__builtin_HEXAGON_S2_asr_r_svw_trun" + } + break; + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "sat", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "ub_nopack", 9)) + break; + return Intrinsic::hexagon_S2_vsathub_nopack; // "__builtin_HEXAGON_S2_vsathub_nopack" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "uh_nopack", 9)) + break; + return Intrinsic::hexagon_S2_vsatwuh_nopack; // "__builtin_HEXAGON_S2_vsatwuh_nopack" + } + break; + } + break; + } + break; + case 36: // 33 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'A': // 12 strings to match. + if (memcmp(BuiltinName.data()+19, "2_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "ddh_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(BuiltinName.data()+27, "16_sat_", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[35]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_hh; // "__builtin_HEXAGON_A2_addh_h16_sat_hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_hl; // "__builtin_HEXAGON_A2_addh_h16_sat_hl" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[35]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_lh; // "__builtin_HEXAGON_A2_addh_h16_sat_lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_addh_h16_sat_ll; // "__builtin_HEXAGON_A2_addh_h16_sat_ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "16_sat_", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[35] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_sat_hl; // "__builtin_HEXAGON_A2_addh_l16_sat_hl" + case 'l': // 1 string to match. + if (BuiltinName[35] != 'l') + break; + return Intrinsic::hexagon_A2_addh_l16_sat_ll; // "__builtin_HEXAGON_A2_addh_l16_sat_ll" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(BuiltinName.data()+22, "ubh_", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'h': // 4 strings to match. + if (memcmp(BuiltinName.data()+27, "16_sat_", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[35]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_hh; // "__builtin_HEXAGON_A2_subh_h16_sat_hh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_hl; // "__builtin_HEXAGON_A2_subh_h16_sat_hl" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[35]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_lh; // "__builtin_HEXAGON_A2_subh_h16_sat_lh" + case 'l': // 1 string to match. + return Intrinsic::hexagon_A2_subh_h16_sat_ll; // "__builtin_HEXAGON_A2_subh_h16_sat_ll" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "16_sat_", 7)) + break; + switch (BuiltinName[34]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[35] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_sat_hl; // "__builtin_HEXAGON_A2_subh_l16_sat_hl" + case 'l': // 1 string to match. + if (BuiltinName[35] != 'l') + break; + return Intrinsic::hexagon_A2_subh_l16_sat_ll; // "__builtin_HEXAGON_A2_subh_l16_sat_ll" + } + break; + } + break; + } + break; + case 'C': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "4_fastcorner9_not", 17)) + break; + return Intrinsic::hexagon_C4_fastcorner9_not; // "__builtin_HEXAGON_C4_fastcorner9_not" + case 'F': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "2_conv_", 7)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "f2u", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2ud_chop; // "__builtin_HEXAGON_F2_conv_df2ud_chop" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_df2uw_chop; // "__builtin_HEXAGON_F2_conv_df2uw_chop" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "f2u", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2ud_chop; // "__builtin_HEXAGON_F2_conv_sf2ud_chop" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "_chop", 5)) + break; + return Intrinsic::hexagon_F2_conv_sf2uw_chop; // "__builtin_HEXAGON_F2_conv_sf2uw_chop" + } + break; + } + break; + case 'M': // 16 strings to match. + if (memcmp(BuiltinName.data()+19, "2_mpyud_", 8)) + break; + switch (BuiltinName[27]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+28, "cc_", 3)) + break; + switch (BuiltinName[31]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[32]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hh_s0; // "__builtin_HEXAGON_M2_mpyud_acc_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hh_s1; // "__builtin_HEXAGON_M2_mpyud_acc_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hl_s0; // "__builtin_HEXAGON_M2_mpyud_acc_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_hl_s1; // "__builtin_HEXAGON_M2_mpyud_acc_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[32]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_lh_s0; // "__builtin_HEXAGON_M2_mpyud_acc_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_lh_s1; // "__builtin_HEXAGON_M2_mpyud_acc_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_ll_s0; // "__builtin_HEXAGON_M2_mpyud_acc_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_acc_ll_s1; // "__builtin_HEXAGON_M2_mpyud_acc_ll_s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+28, "ac_", 3)) + break; + switch (BuiltinName[31]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[32]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hh_s0; // "__builtin_HEXAGON_M2_mpyud_nac_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hh_s1; // "__builtin_HEXAGON_M2_mpyud_nac_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hl_s0; // "__builtin_HEXAGON_M2_mpyud_nac_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_hl_s1; // "__builtin_HEXAGON_M2_mpyud_nac_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[32]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_lh_s0; // "__builtin_HEXAGON_M2_mpyud_nac_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_lh_s1; // "__builtin_HEXAGON_M2_mpyud_nac_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+33, "_s", 2)) + break; + switch (BuiltinName[35]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_ll_s0; // "__builtin_HEXAGON_M2_mpyud_nac_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpyud_nac_ll_s1; // "__builtin_HEXAGON_M2_mpyud_nac_ll_s1" + } + break; + } + break; + } + break; + } + break; + } + break; + case 38: // 24 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_M2_mpy_", 25)) + break; + switch (BuiltinName[25]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "cc_sat_", 7)) + break; + switch (BuiltinName[33]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hh_s0; // "__builtin_HEXAGON_M2_mpy_acc_sat_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hh_s1; // "__builtin_HEXAGON_M2_mpy_acc_sat_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hl_s0; // "__builtin_HEXAGON_M2_mpy_acc_sat_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_hl_s1; // "__builtin_HEXAGON_M2_mpy_acc_sat_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_lh_s0; // "__builtin_HEXAGON_M2_mpy_acc_sat_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_lh_s1; // "__builtin_HEXAGON_M2_mpy_acc_sat_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_ll_s0; // "__builtin_HEXAGON_M2_mpy_acc_sat_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_acc_sat_ll_s1; // "__builtin_HEXAGON_M2_mpy_acc_sat_ll_s1" + } + break; + } + break; + } + break; + case 'n': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "ac_sat_", 7)) + break; + switch (BuiltinName[33]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hh_s0; // "__builtin_HEXAGON_M2_mpy_nac_sat_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hh_s1; // "__builtin_HEXAGON_M2_mpy_nac_sat_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hl_s0; // "__builtin_HEXAGON_M2_mpy_nac_sat_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_hl_s1; // "__builtin_HEXAGON_M2_mpy_nac_sat_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_lh_s0; // "__builtin_HEXAGON_M2_mpy_nac_sat_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_lh_s1; // "__builtin_HEXAGON_M2_mpy_nac_sat_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_ll_s0; // "__builtin_HEXAGON_M2_mpy_nac_sat_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_nac_sat_ll_s1; // "__builtin_HEXAGON_M2_mpy_nac_sat_ll_s1" + } + break; + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(BuiltinName.data()+26, "at_rnd_", 7)) + break; + switch (BuiltinName[33]) { + default: break; + case 'h': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s0; // "__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s1; // "__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s0; // "__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s1; // "__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1" + } + break; + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[34]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s0; // "__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s1; // "__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+35, "_s", 2)) + break; + switch (BuiltinName[37]) { + default: break; + case '0': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s0; // "__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0" + case '1': // 1 string to match. + return Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s1; // "__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1" + } + break; + } + break; + } + break; + } + break; + case 40: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_S5_vasrhrnd_goodsyntax", 40)) + break; + return Intrinsic::hexagon_S5_vasrhrnd_goodsyntax; // "__builtin_HEXAGON_S5_vasrhrnd_goodsyntax" + case 41: // 4 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_S2_tableidx", 29)) + break; + switch (BuiltinName[29]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxb_goodsyntax; // "__builtin_HEXAGON_S2_tableidxb_goodsyntax" + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxd_goodsyntax; // "__builtin_HEXAGON_S2_tableidxd_goodsyntax" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxh_goodsyntax; // "__builtin_HEXAGON_S2_tableidxh_goodsyntax" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "_goodsyntax", 11)) + break; + return Intrinsic::hexagon_S2_tableidxw_goodsyntax; // "__builtin_HEXAGON_S2_tableidxw_goodsyntax" + } + break; + case 43: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_S2_asr_i_", 27)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_rnd_goodsyntax", 15)) + break; + return Intrinsic::hexagon_S2_asr_i_p_rnd_goodsyntax; // "__builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "_rnd_goodsyntax", 15)) + break; + return Intrinsic::hexagon_S2_asr_i_r_rnd_goodsyntax; // "__builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax" + } + break; + case 46: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax", 46)) + break; + return Intrinsic::hexagon_S5_asrhub_rnd_sat_goodsyntax; // "__builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax" + } + } + if (TargetPrefix == "mips") { + switch (BuiltinName.size()) { + default: break; + case 18: // 17 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_l", 4)) + break; + switch (BuiltinName[16]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[17] != 'x') + break; + return Intrinsic::mips_lhx; // "__builtin_mips_lhx" + case 's': // 1 string to match. + if (BuiltinName[17] != 'a') + break; + return Intrinsic::mips_lsa; // "__builtin_mips_lsa" + case 'w': // 1 string to match. + if (BuiltinName[17] != 'x') + break; + return Intrinsic::mips_lwx; // "__builtin_mips_lwx" + } + break; + case 's': // 14 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'b': // 5 strings to match. + if (memcmp(BuiltinName.data()+15, "z_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bz_b; // "__builtin_msa_bz_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bz_d; // "__builtin_msa_bz_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bz_h; // "__builtin_msa_bz_h" + case 'v': // 1 string to match. + return Intrinsic::mips_bz_v; // "__builtin_msa_bz_v" + case 'w': // 1 string to match. + return Intrinsic::mips_bz_w; // "__builtin_msa_bz_w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "d_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ld_b; // "__builtin_msa_ld_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ld_d; // "__builtin_msa_ld_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ld_h; // "__builtin_msa_ld_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ld_w; // "__builtin_msa_ld_w" + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "r_v", 3)) + break; + return Intrinsic::mips_or_v; // "__builtin_msa_or_v" + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "t_", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_st_b; // "__builtin_msa_st_b" + case 'd': // 1 string to match. + return Intrinsic::mips_st_d; // "__builtin_msa_st_d" + case 'h': // 1 string to match. + return Intrinsic::mips_st_h; // "__builtin_msa_st_h" + case 'w': // 1 string to match. + return Intrinsic::mips_st_w; // "__builtin_msa_st_w" + } + break; + } + break; + } + break; + case 19: // 46 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 7 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "lsa", 3)) + break; + return Intrinsic::mips_dlsa; // "__builtin_mips_dlsa" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtp", 3)) + break; + return Intrinsic::mips_extp; // "__builtin_mips_extp" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nsv", 3)) + break; + return Intrinsic::mips_insv; // "__builtin_mips_insv" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "bux", 3)) + break; + return Intrinsic::mips_lbux; // "__builtin_mips_lbux" + case 'm': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "dd", 2)) + break; + return Intrinsic::mips_madd; // "__builtin_mips_madd" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ub", 2)) + break; + return Intrinsic::mips_msub; // "__builtin_mips_msub" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "lt", 2)) + break; + return Intrinsic::mips_mult; // "__builtin_mips_mult" + } + break; + } + break; + case 's': // 39 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "nd_v", 4)) + break; + return Intrinsic::mips_and_v; // "__builtin_msa_and_v" + case 'b': // 6 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "z_v", 3)) + break; + return Intrinsic::mips_bmz_v; // "__builtin_msa_bmz_v" + case 'n': // 5 strings to match. + if (memcmp(BuiltinName.data()+16, "z_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bnz_b; // "__builtin_msa_bnz_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bnz_d; // "__builtin_msa_bnz_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bnz_h; // "__builtin_msa_bnz_h" + case 'v': // 1 string to match. + return Intrinsic::mips_bnz_v; // "__builtin_msa_bnz_v" + case 'w': // 1 string to match. + return Intrinsic::mips_bnz_w; // "__builtin_msa_bnz_w" + } + break; + } + break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "eq_", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ceq_b; // "__builtin_msa_ceq_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ceq_d; // "__builtin_msa_ceq_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ceq_h; // "__builtin_msa_ceq_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ceq_w; // "__builtin_msa_ceq_w" + } + break; + case 'f': // 2 strings to match. + if (memcmp(BuiltinName.data()+15, "tq_", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_ftq_h; // "__builtin_msa_ftq_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ftq_w; // "__builtin_msa_ftq_w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "di_", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ldi_b; // "__builtin_msa_ldi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ldi_d; // "__builtin_msa_ldi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ldi_h; // "__builtin_msa_ldi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ldi_w; // "__builtin_msa_ldi_w" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "or_v", 4)) + break; + return Intrinsic::mips_nor_v; // "__builtin_msa_nor_v" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "ri_b", 4)) + break; + return Intrinsic::mips_ori_b; // "__builtin_msa_ori_b" + case 's': // 19 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'h': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "f_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_shf_b; // "__builtin_msa_shf_b" + case 'h': // 1 string to match. + return Intrinsic::mips_shf_h; // "__builtin_msa_shf_h" + case 'w': // 1 string to match. + return Intrinsic::mips_shf_w; // "__builtin_msa_shf_w" + } + break; + case 'l': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'd': // 4 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sld_b; // "__builtin_msa_sld_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sld_d; // "__builtin_msa_sld_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sld_h; // "__builtin_msa_sld_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sld_w; // "__builtin_msa_sld_w" + } + break; + case 'l': // 4 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sll_b; // "__builtin_msa_sll_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sll_d; // "__builtin_msa_sll_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sll_h; // "__builtin_msa_sll_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sll_w; // "__builtin_msa_sll_w" + } + break; + } + break; + case 'r': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sra_b; // "__builtin_msa_sra_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sra_d; // "__builtin_msa_sra_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sra_h; // "__builtin_msa_sra_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sra_w; // "__builtin_msa_sra_w" + } + break; + case 'l': // 4 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srl_b; // "__builtin_msa_srl_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srl_d; // "__builtin_msa_srl_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srl_h; // "__builtin_msa_srl_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srl_w; // "__builtin_msa_srl_w" + } + break; + } + break; + } + break; + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "or_v", 4)) + break; + return Intrinsic::mips_xor_v; // "__builtin_msa_xor_v" + } + break; + } + break; + case 20: // 143 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "dd", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[19] != 'c') + break; + return Intrinsic::mips_addsc; // "__builtin_mips_addsc" + case 'w': // 1 string to match. + if (BuiltinName[19] != 'c') + break; + return Intrinsic::mips_addwc; // "__builtin_mips_addwc" + } + break; + case 'm': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ddu", 3)) + break; + return Intrinsic::mips_maddu; // "__builtin_mips_maddu" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ubu", 3)) + break; + return Intrinsic::mips_msubu; // "__builtin_mips_msubu" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ltu", 3)) + break; + return Intrinsic::mips_multu; // "__builtin_mips_multu" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ddsp", 4)) + break; + return Intrinsic::mips_rddsp; // "__builtin_mips_rddsp" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "hilo", 4)) + break; + return Intrinsic::mips_shilo; // "__builtin_mips_shilo" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "rdsp", 4)) + break; + return Intrinsic::mips_wrdsp; // "__builtin_mips_wrdsp" + } + break; + case 's': // 135 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'a': // 5 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "dv_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_addv_b; // "__builtin_msa_addv_b" + case 'd': // 1 string to match. + return Intrinsic::mips_addv_d; // "__builtin_msa_addv_d" + case 'h': // 1 string to match. + return Intrinsic::mips_addv_h; // "__builtin_msa_addv_h" + case 'w': // 1 string to match. + return Intrinsic::mips_addv_w; // "__builtin_msa_addv_w" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "di_b", 4)) + break; + return Intrinsic::mips_andi_b; // "__builtin_msa_andi_b" + } + break; + case 'b': // 15 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "lr_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bclr_b; // "__builtin_msa_bclr_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bclr_d; // "__builtin_msa_bclr_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bclr_h; // "__builtin_msa_bclr_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bclr_w; // "__builtin_msa_bclr_w" + } + break; + case 'm': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "z_v", 3)) + break; + return Intrinsic::mips_bmnz_v; // "__builtin_msa_bmnz_v" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "i_b", 3)) + break; + return Intrinsic::mips_bmzi_b; // "__builtin_msa_bmzi_b" + } + break; + case 'n': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "eg_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bneg_b; // "__builtin_msa_bneg_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bneg_d; // "__builtin_msa_bneg_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bneg_h; // "__builtin_msa_bneg_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bneg_w; // "__builtin_msa_bneg_w" + } + break; + case 's': // 5 strings to match. + if (BuiltinName[16] != 'e') + break; + switch (BuiltinName[17]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "_v", 2)) + break; + return Intrinsic::mips_bsel_v; // "__builtin_msa_bsel_v" + case 't': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bset_b; // "__builtin_msa_bset_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bset_d; // "__builtin_msa_bset_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bset_h; // "__builtin_msa_bset_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bset_w; // "__builtin_msa_bset_w" + } + break; + } + break; + } + break; + case 'c': // 6 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "qi_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ceqi_b; // "__builtin_msa_ceqi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ceqi_d; // "__builtin_msa_ceqi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ceqi_h; // "__builtin_msa_ceqi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ceqi_w; // "__builtin_msa_ceqi_w" + } + break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "cmsa", 4)) + break; + return Intrinsic::mips_cfcmsa; // "__builtin_msa_cfcmsa" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "cmsa", 4)) + break; + return Intrinsic::mips_ctcmsa; // "__builtin_msa_ctcmsa" + } + break; + case 'f': // 50 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "dd_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fadd_d; // "__builtin_msa_fadd_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fadd_w; // "__builtin_msa_fadd_w" + } + break; + case 'c': // 14 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "f_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcaf_d; // "__builtin_msa_fcaf_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcaf_w; // "__builtin_msa_fcaf_w" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "q_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fceq_d; // "__builtin_msa_fceq_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fceq_w; // "__builtin_msa_fceq_w" + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'e': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcle_d; // "__builtin_msa_fcle_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcle_w; // "__builtin_msa_fcle_w" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fclt_d; // "__builtin_msa_fclt_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fclt_w; // "__builtin_msa_fclt_w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "e_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcne_d; // "__builtin_msa_fcne_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcne_w; // "__builtin_msa_fcne_w" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "r_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcor_d; // "__builtin_msa_fcor_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcor_w; // "__builtin_msa_fcor_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "n_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcun_d; // "__builtin_msa_fcun_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcun_w; // "__builtin_msa_fcun_w" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "iv_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fdiv_d; // "__builtin_msa_fdiv_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fdiv_w; // "__builtin_msa_fdiv_w" + } + break; + case 'f': // 4 strings to match. + if (BuiltinName[16] != 'q') + break; + switch (BuiltinName[17]) { + default: break; + case 'l': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffql_d; // "__builtin_msa_ffql_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffql_w; // "__builtin_msa_ffql_w" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffqr_d; // "__builtin_msa_ffqr_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffqr_w; // "__builtin_msa_ffqr_w" + } + break; + } + break; + case 'i': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "ll_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_fill_b; // "__builtin_msa_fill_b" + case 'd': // 1 string to match. + return Intrinsic::mips_fill_d; // "__builtin_msa_fill_d" + case 'h': // 1 string to match. + return Intrinsic::mips_fill_h; // "__builtin_msa_fill_h" + case 'w': // 1 string to match. + return Intrinsic::mips_fill_w; // "__builtin_msa_fill_w" + } + break; + case 'm': // 6 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "x_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmax_d; // "__builtin_msa_fmax_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmax_w; // "__builtin_msa_fmax_w" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "n_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmin_d; // "__builtin_msa_fmin_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmin_w; // "__builtin_msa_fmin_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "l_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmul_d; // "__builtin_msa_fmul_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmul_w; // "__builtin_msa_fmul_w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "cp_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frcp_d; // "__builtin_msa_frcp_d" + case 'w': // 1 string to match. + return Intrinsic::mips_frcp_w; // "__builtin_msa_frcp_w" + } + break; + case 's': // 16 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "f_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsaf_d; // "__builtin_msa_fsaf_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsaf_w; // "__builtin_msa_fsaf_w" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "q_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fseq_d; // "__builtin_msa_fseq_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fseq_w; // "__builtin_msa_fseq_w" + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'e': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsle_d; // "__builtin_msa_fsle_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsle_w; // "__builtin_msa_fsle_w" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fslt_d; // "__builtin_msa_fslt_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fslt_w; // "__builtin_msa_fslt_w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "e_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsne_d; // "__builtin_msa_fsne_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsne_w; // "__builtin_msa_fsne_w" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "r_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsor_d; // "__builtin_msa_fsor_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsor_w; // "__builtin_msa_fsor_w" + } + break; + case 'u': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'b': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsub_d; // "__builtin_msa_fsub_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsub_w; // "__builtin_msa_fsub_w" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsun_d; // "__builtin_msa_fsun_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsun_w; // "__builtin_msa_fsun_w" + } + break; + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+15, "lv", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'l': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvl_b; // "__builtin_msa_ilvl_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvl_d; // "__builtin_msa_ilvl_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvl_h; // "__builtin_msa_ilvl_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvl_w; // "__builtin_msa_ilvl_w" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvr_b; // "__builtin_msa_ilvr_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvr_d; // "__builtin_msa_ilvr_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvr_h; // "__builtin_msa_ilvr_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvr_w; // "__builtin_msa_ilvr_w" + } + break; + } + break; + case 'm': // 5 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ve_v", 4)) + break; + return Intrinsic::mips_move_v; // "__builtin_msa_move_v" + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "lv_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mulv_b; // "__builtin_msa_mulv_b" + case 'd': // 1 string to match. + return Intrinsic::mips_mulv_d; // "__builtin_msa_mulv_d" + case 'h': // 1 string to match. + return Intrinsic::mips_mulv_h; // "__builtin_msa_mulv_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mulv_w; // "__builtin_msa_mulv_w" + } + break; + } + break; + case 'n': // 9 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'l': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'o': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "c_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_nloc_b; // "__builtin_msa_nloc_b" + case 'd': // 1 string to match. + return Intrinsic::mips_nloc_d; // "__builtin_msa_nloc_d" + case 'h': // 1 string to match. + return Intrinsic::mips_nloc_h; // "__builtin_msa_nloc_h" + case 'w': // 1 string to match. + return Intrinsic::mips_nloc_w; // "__builtin_msa_nloc_w" + } + break; + case 'z': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "c_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_nlzc_b; // "__builtin_msa_nlzc_b" + case 'd': // 1 string to match. + return Intrinsic::mips_nlzc_d; // "__builtin_msa_nlzc_d" + case 'h': // 1 string to match. + return Intrinsic::mips_nlzc_h; // "__builtin_msa_nlzc_h" + case 'w': // 1 string to match. + return Intrinsic::mips_nlzc_w; // "__builtin_msa_nlzc_w" + } + break; + } + break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ri_b", 4)) + break; + return Intrinsic::mips_nori_b; // "__builtin_msa_nori_b" + } + break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "cnt_", 4)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pcnt_b; // "__builtin_msa_pcnt_b" + case 'd': // 1 string to match. + return Intrinsic::mips_pcnt_d; // "__builtin_msa_pcnt_d" + case 'h': // 1 string to match. + return Intrinsic::mips_pcnt_h; // "__builtin_msa_pcnt_h" + case 'w': // 1 string to match. + return Intrinsic::mips_pcnt_w; // "__builtin_msa_pcnt_w" + } + break; + case 's': // 28 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'l': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "i_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sldi_b; // "__builtin_msa_sldi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sldi_d; // "__builtin_msa_sldi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sldi_h; // "__builtin_msa_sldi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sldi_w; // "__builtin_msa_sldi_w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "i_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_slli_b; // "__builtin_msa_slli_b" + case 'd': // 1 string to match. + return Intrinsic::mips_slli_d; // "__builtin_msa_slli_d" + case 'h': // 1 string to match. + return Intrinsic::mips_slli_h; // "__builtin_msa_slli_h" + case 'w': // 1 string to match. + return Intrinsic::mips_slli_w; // "__builtin_msa_slli_w" + } + break; + } + break; + case 'r': // 16 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 8 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'i': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srai_b; // "__builtin_msa_srai_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srai_d; // "__builtin_msa_srai_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srai_h; // "__builtin_msa_srai_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srai_w; // "__builtin_msa_srai_w" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srar_b; // "__builtin_msa_srar_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srar_d; // "__builtin_msa_srar_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srar_h; // "__builtin_msa_srar_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srar_w; // "__builtin_msa_srar_w" + } + break; + } + break; + case 'l': // 8 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'i': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srli_b; // "__builtin_msa_srli_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srli_d; // "__builtin_msa_srli_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srli_h; // "__builtin_msa_srli_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srli_w; // "__builtin_msa_srli_w" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[18] != '_') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srlr_b; // "__builtin_msa_srlr_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srlr_d; // "__builtin_msa_srlr_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srlr_h; // "__builtin_msa_srlr_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srlr_w; // "__builtin_msa_srlr_w" + } + break; + } + break; + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "bv_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subv_b; // "__builtin_msa_subv_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subv_d; // "__builtin_msa_subv_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subv_h; // "__builtin_msa_subv_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subv_w; // "__builtin_msa_subv_w" + } + break; + } + break; + case 'v': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "shf_", 4)) + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_vshf_b; // "__builtin_msa_vshf_b" + case 'd': // 1 string to match. + return Intrinsic::mips_vshf_d; // "__builtin_msa_vshf_d" + case 'h': // 1 string to match. + return Intrinsic::mips_vshf_h; // "__builtin_msa_vshf_h" + case 'w': // 1 string to match. + return Intrinsic::mips_vshf_w; // "__builtin_msa_vshf_w" + } + break; + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+15, "ori_b", 5)) + break; + return Intrinsic::mips_xori_b; // "__builtin_msa_xori_b" + } + break; + } + break; + case 21: // 186 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ppend", 5)) + break; + return Intrinsic::mips_append; // "__builtin_mips_append" + case 'b': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "lign", 4)) + break; + return Intrinsic::mips_balign; // "__builtin_mips_balign" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "trev", 4)) + break; + return Intrinsic::mips_bitrev; // "__builtin_mips_bitrev" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "xt", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "dp", 2)) + break; + return Intrinsic::mips_extpdp; // "__builtin_mips_extpdp" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_w", 2)) + break; + return Intrinsic::mips_extr_w; // "__builtin_mips_extr_w" + } + break; + case 'm': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "dsub", 4)) + break; + return Intrinsic::mips_modsub; // "__builtin_mips_modsub" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "hlip", 4)) + break; + return Intrinsic::mips_mthlip; // "__builtin_mips_mthlip" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "l_ph", 4)) + break; + return Intrinsic::mips_mul_ph; // "__builtin_mips_mul_ph" + } + break; + } + break; + case 's': // 178 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'a': // 16 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'd': // 8 strings to match. + if (BuiltinName[16] != 'd') + break; + switch (BuiltinName[17]) { + default: break; + case '_': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "a_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_add_a_b; // "__builtin_msa_add_a_b" + case 'd': // 1 string to match. + return Intrinsic::mips_add_a_d; // "__builtin_msa_add_a_d" + case 'h': // 1 string to match. + return Intrinsic::mips_add_a_h; // "__builtin_msa_add_a_h" + case 'w': // 1 string to match. + return Intrinsic::mips_add_a_w; // "__builtin_msa_add_a_w" + } + break; + case 'v': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "i_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_addvi_b; // "__builtin_msa_addvi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_addvi_d; // "__builtin_msa_addvi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_addvi_h; // "__builtin_msa_addvi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_addvi_w; // "__builtin_msa_addvi_w" + } + break; + } + break; + case 'v': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "e_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ave_s_b; // "__builtin_msa_ave_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ave_s_d; // "__builtin_msa_ave_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ave_s_h; // "__builtin_msa_ave_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ave_s_w; // "__builtin_msa_ave_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ave_u_b; // "__builtin_msa_ave_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ave_u_d; // "__builtin_msa_ave_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ave_u_h; // "__builtin_msa_ave_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ave_u_w; // "__builtin_msa_ave_u_w" + } + break; + } + break; + } + break; + case 'b': // 22 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "lri_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bclri_b; // "__builtin_msa_bclri_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bclri_d; // "__builtin_msa_bclri_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bclri_h; // "__builtin_msa_bclri_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bclri_w; // "__builtin_msa_bclri_w" + } + break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "ns", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'l': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsl_b; // "__builtin_msa_binsl_b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsl_d; // "__builtin_msa_binsl_d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsl_h; // "__builtin_msa_binsl_h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsl_w; // "__builtin_msa_binsl_w" + } + break; + case 'r': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsr_b; // "__builtin_msa_binsr_b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsr_d; // "__builtin_msa_binsr_d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsr_h; // "__builtin_msa_binsr_h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsr_w; // "__builtin_msa_binsr_w" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nzi_b", 5)) + break; + return Intrinsic::mips_bmnzi_b; // "__builtin_msa_bmnzi_b" + case 'n': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "egi_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bnegi_b; // "__builtin_msa_bnegi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bnegi_d; // "__builtin_msa_bnegi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bnegi_h; // "__builtin_msa_bnegi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bnegi_w; // "__builtin_msa_bnegi_w" + } + break; + case 's': // 5 strings to match. + if (BuiltinName[16] != 'e') + break; + switch (BuiltinName[17]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "i_b", 3)) + break; + return Intrinsic::mips_bseli_b; // "__builtin_msa_bseli_b" + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "i_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_bseti_b; // "__builtin_msa_bseti_b" + case 'd': // 1 string to match. + return Intrinsic::mips_bseti_d; // "__builtin_msa_bseti_d" + case 'h': // 1 string to match. + return Intrinsic::mips_bseti_h; // "__builtin_msa_bseti_h" + case 'w': // 1 string to match. + return Intrinsic::mips_bseti_w; // "__builtin_msa_bseti_w" + } + break; + } + break; + } + break; + case 'c': // 16 strings to match. + if (BuiltinName[15] != 'l') + break; + switch (BuiltinName[16]) { + default: break; + case 'e': // 8 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_cle_s_b; // "__builtin_msa_cle_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_cle_s_d; // "__builtin_msa_cle_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_cle_s_h; // "__builtin_msa_cle_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_cle_s_w; // "__builtin_msa_cle_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_cle_u_b; // "__builtin_msa_cle_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_cle_u_d; // "__builtin_msa_cle_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_cle_u_h; // "__builtin_msa_cle_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_cle_u_w; // "__builtin_msa_cle_u_w" + } + break; + } + break; + case 't': // 8 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clt_s_b; // "__builtin_msa_clt_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clt_s_d; // "__builtin_msa_clt_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clt_s_h; // "__builtin_msa_clt_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clt_s_w; // "__builtin_msa_clt_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clt_u_b; // "__builtin_msa_clt_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clt_u_d; // "__builtin_msa_clt_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clt_u_h; // "__builtin_msa_clt_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clt_u_w; // "__builtin_msa_clt_u_w" + } + break; + } + break; + } + break; + case 'd': // 8 strings to match. + if (memcmp(BuiltinName.data()+15, "iv_", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_div_s_b; // "__builtin_msa_div_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_div_s_d; // "__builtin_msa_div_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_div_s_h; // "__builtin_msa_div_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_div_s_w; // "__builtin_msa_div_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_div_u_b; // "__builtin_msa_div_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_div_u_d; // "__builtin_msa_div_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_div_u_h; // "__builtin_msa_div_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_div_u_w; // "__builtin_msa_div_u_w" + } + break; + } + break; + case 'f': // 30 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 8 strings to match. + if (BuiltinName[16] != 'u') + break; + switch (BuiltinName[17]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "q_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcueq_d; // "__builtin_msa_fcueq_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcueq_w; // "__builtin_msa_fcueq_w" + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'e': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcule_d; // "__builtin_msa_fcule_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcule_w; // "__builtin_msa_fcule_w" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcult_d; // "__builtin_msa_fcult_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcult_w; // "__builtin_msa_fcult_w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "e_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fcune_d; // "__builtin_msa_fcune_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fcune_w; // "__builtin_msa_fcune_w" + } + break; + } + break; + case 'e': // 4 strings to match. + if (BuiltinName[16] != 'x') + break; + switch (BuiltinName[17]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "o_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_fexdo_h; // "__builtin_msa_fexdo_h" + case 'w': // 1 string to match. + return Intrinsic::mips_fexdo_w; // "__builtin_msa_fexdo_w" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "2_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexp2_d; // "__builtin_msa_fexp2_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexp2_w; // "__builtin_msa_fexp2_w" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "og2_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_flog2_d; // "__builtin_msa_flog2_d" + case 'w': // 1 string to match. + return Intrinsic::mips_flog2_w; // "__builtin_msa_flog2_w" + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "dd_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmadd_d; // "__builtin_msa_fmadd_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmadd_w; // "__builtin_msa_fmadd_w" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ub_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmsub_d; // "__builtin_msa_fmsub_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmsub_w; // "__builtin_msa_fmsub_w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "int_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frint_d; // "__builtin_msa_frint_d" + case 'w': // 1 string to match. + return Intrinsic::mips_frint_w; // "__builtin_msa_frint_w" + } + break; + case 's': // 10 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'q': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "rt_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsqrt_d; // "__builtin_msa_fsqrt_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsqrt_w; // "__builtin_msa_fsqrt_w" + } + break; + case 'u': // 8 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "q_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsueq_d; // "__builtin_msa_fsueq_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsueq_w; // "__builtin_msa_fsueq_w" + } + break; + case 'l': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'e': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsule_d; // "__builtin_msa_fsule_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsule_w; // "__builtin_msa_fsule_w" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsult_d; // "__builtin_msa_fsult_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsult_w; // "__builtin_msa_fsult_w" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "e_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fsune_d; // "__builtin_msa_fsune_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fsune_w; // "__builtin_msa_fsune_w" + } + break; + } + break; + } + break; + } + break; + case 'i': // 12 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'l': // 8 strings to match. + if (BuiltinName[16] != 'v') + break; + switch (BuiltinName[17]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "v_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvev_b; // "__builtin_msa_ilvev_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvev_d; // "__builtin_msa_ilvev_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvev_h; // "__builtin_msa_ilvev_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvev_w; // "__builtin_msa_ilvev_w" + } + break; + case 'o': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "d_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_ilvod_b; // "__builtin_msa_ilvod_b" + case 'd': // 1 string to match. + return Intrinsic::mips_ilvod_d; // "__builtin_msa_ilvod_d" + case 'h': // 1 string to match. + return Intrinsic::mips_ilvod_h; // "__builtin_msa_ilvod_h" + case 'w': // 1 string to match. + return Intrinsic::mips_ilvod_w; // "__builtin_msa_ilvod_w" + } + break; + } + break; + case 'n': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "sve_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_insve_b; // "__builtin_msa_insve_b" + case 'd': // 1 string to match. + return Intrinsic::mips_insve_d; // "__builtin_msa_insve_d" + case 'h': // 1 string to match. + return Intrinsic::mips_insve_h; // "__builtin_msa_insve_h" + case 'w': // 1 string to match. + return Intrinsic::mips_insve_w; // "__builtin_msa_insve_w" + } + break; + } + break; + case 'm': // 42 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 16 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'd': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "dv_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maddv_b; // "__builtin_msa_maddv_b" + case 'd': // 1 string to match. + return Intrinsic::mips_maddv_d; // "__builtin_msa_maddv_d" + case 'h': // 1 string to match. + return Intrinsic::mips_maddv_h; // "__builtin_msa_maddv_h" + case 'w': // 1 string to match. + return Intrinsic::mips_maddv_w; // "__builtin_msa_maddv_w" + } + break; + case 'x': // 12 strings to match. + if (BuiltinName[17] != '_') + break; + switch (BuiltinName[18]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_a_b; // "__builtin_msa_max_a_b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_a_d; // "__builtin_msa_max_a_d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_a_h; // "__builtin_msa_max_a_h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_a_w; // "__builtin_msa_max_a_w" + } + break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_s_b; // "__builtin_msa_max_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_s_d; // "__builtin_msa_max_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_s_h; // "__builtin_msa_max_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_s_w; // "__builtin_msa_max_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_max_u_b; // "__builtin_msa_max_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_max_u_d; // "__builtin_msa_max_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_max_u_h; // "__builtin_msa_max_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_max_u_w; // "__builtin_msa_max_u_w" + } + break; + } + break; + } + break; + case 'i': // 12 strings to match. + if (memcmp(BuiltinName.data()+16, "n_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_a_b; // "__builtin_msa_min_a_b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_a_d; // "__builtin_msa_min_a_d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_a_h; // "__builtin_msa_min_a_h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_a_w; // "__builtin_msa_min_a_w" + } + break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_s_b; // "__builtin_msa_min_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_s_d; // "__builtin_msa_min_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_s_h; // "__builtin_msa_min_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_s_w; // "__builtin_msa_min_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_min_u_b; // "__builtin_msa_min_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_min_u_d; // "__builtin_msa_min_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_min_u_h; // "__builtin_msa_min_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_min_u_w; // "__builtin_msa_min_u_w" + } + break; + } + break; + case 'o': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "d_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mod_s_b; // "__builtin_msa_mod_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_mod_s_d; // "__builtin_msa_mod_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_mod_s_h; // "__builtin_msa_mod_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mod_s_w; // "__builtin_msa_mod_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mod_u_b; // "__builtin_msa_mod_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_mod_u_d; // "__builtin_msa_mod_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_mod_u_h; // "__builtin_msa_mod_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mod_u_w; // "__builtin_msa_mod_u_w" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "ubv_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_msubv_b; // "__builtin_msa_msubv_b" + case 'd': // 1 string to match. + return Intrinsic::mips_msubv_d; // "__builtin_msa_msubv_d" + case 'h': // 1 string to match. + return Intrinsic::mips_msubv_h; // "__builtin_msa_msubv_h" + case 'w': // 1 string to match. + return Intrinsic::mips_msubv_w; // "__builtin_msa_msubv_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "l_q_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_mul_q_h; // "__builtin_msa_mul_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mul_q_w; // "__builtin_msa_mul_q_w" + } + break; + } + break; + case 'p': // 8 strings to match. + if (memcmp(BuiltinName.data()+15, "ck", 2)) + break; + switch (BuiltinName[17]) { + default: break; + case 'e': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "v_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pckev_b; // "__builtin_msa_pckev_b" + case 'd': // 1 string to match. + return Intrinsic::mips_pckev_d; // "__builtin_msa_pckev_d" + case 'h': // 1 string to match. + return Intrinsic::mips_pckev_h; // "__builtin_msa_pckev_h" + case 'w': // 1 string to match. + return Intrinsic::mips_pckev_w; // "__builtin_msa_pckev_w" + } + break; + case 'o': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "d_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_pckod_b; // "__builtin_msa_pckod_b" + case 'd': // 1 string to match. + return Intrinsic::mips_pckod_d; // "__builtin_msa_pckod_d" + case 'h': // 1 string to match. + return Intrinsic::mips_pckod_h; // "__builtin_msa_pckod_h" + case 'w': // 1 string to match. + return Intrinsic::mips_pckod_w; // "__builtin_msa_pckod_w" + } + break; + } + break; + case 's': // 24 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "t_", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sat_s_b; // "__builtin_msa_sat_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sat_s_d; // "__builtin_msa_sat_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sat_s_h; // "__builtin_msa_sat_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sat_s_w; // "__builtin_msa_sat_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_sat_u_b; // "__builtin_msa_sat_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_sat_u_d; // "__builtin_msa_sat_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_sat_u_h; // "__builtin_msa_sat_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_sat_u_w; // "__builtin_msa_sat_u_w" + } + break; + } + break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "lat_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_splat_b; // "__builtin_msa_splat_b" + case 'd': // 1 string to match. + return Intrinsic::mips_splat_d; // "__builtin_msa_splat_d" + case 'h': // 1 string to match. + return Intrinsic::mips_splat_h; // "__builtin_msa_splat_h" + case 'w': // 1 string to match. + return Intrinsic::mips_splat_w; // "__builtin_msa_splat_w" + } + break; + case 'r': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "ri_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srari_b; // "__builtin_msa_srari_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srari_d; // "__builtin_msa_srari_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srari_h; // "__builtin_msa_srari_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srari_w; // "__builtin_msa_srari_w" + } + break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "ri_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_srlri_b; // "__builtin_msa_srlri_b" + case 'd': // 1 string to match. + return Intrinsic::mips_srlri_d; // "__builtin_msa_srlri_d" + case 'h': // 1 string to match. + return Intrinsic::mips_srlri_h; // "__builtin_msa_srlri_h" + case 'w': // 1 string to match. + return Intrinsic::mips_srlri_w; // "__builtin_msa_srlri_w" + } + break; + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "bvi_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subvi_b; // "__builtin_msa_subvi_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subvi_d; // "__builtin_msa_subvi_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subvi_h; // "__builtin_msa_subvi_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subvi_w; // "__builtin_msa_subvi_w" + } + break; + } + break; + } + break; + } + break; + case 22: // 147 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 19 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "dd", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "ph", 2)) + break; + return Intrinsic::mips_addq_ph; // "__builtin_mips_addq_ph" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_w", 2)) + break; + return Intrinsic::mips_addqh_w; // "__builtin_mips_addqh_w" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_addu_ph; // "__builtin_mips_addu_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_addu_qb; // "__builtin_mips_addu_qb" + } + break; + } + break; + case 'p': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ck_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_pick_ph; // "__builtin_mips_pick_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_pick_qb; // "__builtin_mips_pick_qb" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "epend", 5)) + break; + return Intrinsic::mips_prepend; // "__builtin_mips_prepend" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "epl_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_repl_ph; // "__builtin_mips_repl_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_repl_qb; // "__builtin_mips_repl_qb" + } + break; + case 's': // 10 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 6 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "l_", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_shll_ph; // "__builtin_mips_shll_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_shll_qb; // "__builtin_mips_shll_qb" + } + break; + case 'r': // 4 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_shra_ph; // "__builtin_mips_shra_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_shra_qb; // "__builtin_mips_shra_qb" + } + break; + case 'l': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_shrl_ph; // "__builtin_mips_shrl_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_shrl_qb; // "__builtin_mips_shrl_qb" + } + break; + } + break; + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[17] != 'b') + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "ph", 2)) + break; + return Intrinsic::mips_subq_ph; // "__builtin_mips_subq_ph" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_w", 2)) + break; + return Intrinsic::mips_subqh_w; // "__builtin_mips_subqh_w" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[19] != '_') + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 'h') + break; + return Intrinsic::mips_subu_ph; // "__builtin_mips_subu_ph" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'b') + break; + return Intrinsic::mips_subu_qb; // "__builtin_mips_subu_qb" + } + break; + } + break; + } + break; + } + break; + case 's': // 128 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'a': // 28 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'd': // 12 strings to match. + if (memcmp(BuiltinName.data()+16, "ds_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_a_b; // "__builtin_msa_adds_a_b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_a_d; // "__builtin_msa_adds_a_d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_a_h; // "__builtin_msa_adds_a_h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_a_w; // "__builtin_msa_adds_a_w" + } + break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_s_b; // "__builtin_msa_adds_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_s_d; // "__builtin_msa_adds_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_s_h; // "__builtin_msa_adds_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_s_w; // "__builtin_msa_adds_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_adds_u_b; // "__builtin_msa_adds_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_adds_u_d; // "__builtin_msa_adds_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_adds_u_h; // "__builtin_msa_adds_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_adds_u_w; // "__builtin_msa_adds_u_w" + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "ub_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_asub_s_b; // "__builtin_msa_asub_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_asub_s_d; // "__builtin_msa_asub_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_asub_s_h; // "__builtin_msa_asub_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_asub_s_w; // "__builtin_msa_asub_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_asub_u_b; // "__builtin_msa_asub_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_asub_u_d; // "__builtin_msa_asub_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_asub_u_h; // "__builtin_msa_asub_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_asub_u_w; // "__builtin_msa_asub_u_w" + } + break; + } + break; + case 'v': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "er_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_aver_s_b; // "__builtin_msa_aver_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_aver_s_d; // "__builtin_msa_aver_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_aver_s_h; // "__builtin_msa_aver_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_aver_s_w; // "__builtin_msa_aver_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_aver_u_b; // "__builtin_msa_aver_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_aver_u_d; // "__builtin_msa_aver_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_aver_u_h; // "__builtin_msa_aver_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_aver_u_w; // "__builtin_msa_aver_u_w" + } + break; + } + break; + } + break; + case 'b': // 8 strings to match. + if (memcmp(BuiltinName.data()+15, "ins", 3)) + break; + switch (BuiltinName[18]) { + default: break; + case 'l': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "i_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsli_b; // "__builtin_msa_binsli_b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsli_d; // "__builtin_msa_binsli_d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsli_h; // "__builtin_msa_binsli_h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsli_w; // "__builtin_msa_binsli_w" + } + break; + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "i_", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_binsri_b; // "__builtin_msa_binsri_b" + case 'd': // 1 string to match. + return Intrinsic::mips_binsri_d; // "__builtin_msa_binsri_d" + case 'h': // 1 string to match. + return Intrinsic::mips_binsri_h; // "__builtin_msa_binsri_h" + case 'w': // 1 string to match. + return Intrinsic::mips_binsri_w; // "__builtin_msa_binsri_w" + } + break; + } + break; + case 'c': // 24 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'l': // 16 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'e': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "i_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clei_s_b; // "__builtin_msa_clei_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clei_s_d; // "__builtin_msa_clei_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clei_s_h; // "__builtin_msa_clei_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clei_s_w; // "__builtin_msa_clei_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clei_u_b; // "__builtin_msa_clei_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clei_u_d; // "__builtin_msa_clei_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clei_u_h; // "__builtin_msa_clei_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clei_u_w; // "__builtin_msa_clei_u_w" + } + break; + } + break; + case 't': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "i_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clti_s_b; // "__builtin_msa_clti_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clti_s_d; // "__builtin_msa_clti_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clti_s_h; // "__builtin_msa_clti_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clti_s_w; // "__builtin_msa_clti_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_clti_u_b; // "__builtin_msa_clti_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_clti_u_d; // "__builtin_msa_clti_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_clti_u_h; // "__builtin_msa_clti_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_clti_u_w; // "__builtin_msa_clti_u_w" + } + break; + } + break; + } + break; + case 'o': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "py_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_copy_s_b; // "__builtin_msa_copy_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_copy_s_d; // "__builtin_msa_copy_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_copy_s_h; // "__builtin_msa_copy_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_copy_s_w; // "__builtin_msa_copy_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_copy_u_b; // "__builtin_msa_copy_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_copy_u_d; // "__builtin_msa_copy_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_copy_u_h; // "__builtin_msa_copy_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_copy_u_w; // "__builtin_msa_copy_u_w" + } + break; + } + break; + } + break; + case 'd': // 6 strings to match. + if (memcmp(BuiltinName.data()+15, "otp_", 4)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dotp_s_d; // "__builtin_msa_dotp_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dotp_s_h; // "__builtin_msa_dotp_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dotp_s_w; // "__builtin_msa_dotp_s_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dotp_u_d; // "__builtin_msa_dotp_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dotp_u_h; // "__builtin_msa_dotp_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dotp_u_w; // "__builtin_msa_dotp_u_w" + } + break; + } + break; + case 'f': // 12 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lass_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fclass_d; // "__builtin_msa_fclass_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fclass_w; // "__builtin_msa_fclass_w" + } + break; + case 'e': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "xup", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'l': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexupl_d; // "__builtin_msa_fexupl_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexupl_w; // "__builtin_msa_fexupl_w" + } + break; + case 'r': // 2 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fexupr_d; // "__builtin_msa_fexupr_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fexupr_w; // "__builtin_msa_fexupr_w" + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "x_a_", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmax_a_d; // "__builtin_msa_fmax_a_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmax_a_w; // "__builtin_msa_fmax_a_w" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "n_a_", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_fmin_a_d; // "__builtin_msa_fmin_a_d" + case 'w': // 1 string to match. + return Intrinsic::mips_fmin_a_w; // "__builtin_msa_fmin_a_w" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "sqrt_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_frsqrt_d; // "__builtin_msa_frsqrt_d" + case 'w': // 1 string to match. + return Intrinsic::mips_frsqrt_w; // "__builtin_msa_frsqrt_w" + } + break; + } + break; + case 'h': // 12 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "dd_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hadd_s_d; // "__builtin_msa_hadd_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_hadd_s_h; // "__builtin_msa_hadd_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_hadd_s_w; // "__builtin_msa_hadd_s_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hadd_u_d; // "__builtin_msa_hadd_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_hadd_u_h; // "__builtin_msa_hadd_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_hadd_u_w; // "__builtin_msa_hadd_u_w" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "ub_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hsub_s_d; // "__builtin_msa_hsub_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_hsub_s_h; // "__builtin_msa_hsub_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_hsub_s_w; // "__builtin_msa_hsub_s_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_hsub_u_d; // "__builtin_msa_hsub_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_hsub_u_h; // "__builtin_msa_hsub_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_hsub_u_w; // "__builtin_msa_hsub_u_w" + } + break; + } + break; + } + break; + case 'i': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "nsert_", 6)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_insert_b; // "__builtin_msa_insert_b" + case 'd': // 1 string to match. + return Intrinsic::mips_insert_d; // "__builtin_msa_insert_d" + case 'h': // 1 string to match. + return Intrinsic::mips_insert_h; // "__builtin_msa_insert_h" + case 'w': // 1 string to match. + return Intrinsic::mips_insert_w; // "__builtin_msa_insert_w" + } + break; + case 'm': // 22 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 10 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "d_q_", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_madd_q_h; // "__builtin_msa_madd_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_madd_q_w; // "__builtin_msa_madd_q_w" + } + break; + case 'x': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "i_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maxi_s_b; // "__builtin_msa_maxi_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_maxi_s_d; // "__builtin_msa_maxi_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_maxi_s_h; // "__builtin_msa_maxi_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_maxi_s_w; // "__builtin_msa_maxi_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_maxi_u_b; // "__builtin_msa_maxi_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_maxi_u_d; // "__builtin_msa_maxi_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_maxi_u_h; // "__builtin_msa_maxi_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_maxi_u_w; // "__builtin_msa_maxi_u_w" + } + break; + } + break; + } + break; + case 'i': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "ni_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mini_s_b; // "__builtin_msa_mini_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_mini_s_d; // "__builtin_msa_mini_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_mini_s_h; // "__builtin_msa_mini_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mini_s_w; // "__builtin_msa_mini_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_mini_u_b; // "__builtin_msa_mini_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_mini_u_d; // "__builtin_msa_mini_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_mini_u_h; // "__builtin_msa_mini_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mini_u_w; // "__builtin_msa_mini_u_w" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ub_q_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_msub_q_h; // "__builtin_msa_msub_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_msub_q_w; // "__builtin_msa_msub_q_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lr_q_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_mulr_q_h; // "__builtin_msa_mulr_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_mulr_q_w; // "__builtin_msa_mulr_q_w" + } + break; + } + break; + case 's': // 12 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'p': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "lati_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_splati_b; // "__builtin_msa_splati_b" + case 'd': // 1 string to match. + return Intrinsic::mips_splati_d; // "__builtin_msa_splati_d" + case 'h': // 1 string to match. + return Intrinsic::mips_splati_h; // "__builtin_msa_splati_h" + case 'w': // 1 string to match. + return Intrinsic::mips_splati_w; // "__builtin_msa_splati_w" + } + break; + case 'u': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "bs_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subs_s_b; // "__builtin_msa_subs_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subs_s_d; // "__builtin_msa_subs_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subs_s_h; // "__builtin_msa_subs_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subs_s_w; // "__builtin_msa_subs_s_w" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != '_') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subs_u_b; // "__builtin_msa_subs_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subs_u_d; // "__builtin_msa_subs_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subs_u_h; // "__builtin_msa_subs_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subs_u_w; // "__builtin_msa_subs_u_w" + } + break; + } + break; + } + break; + } + break; + } + break; + case 23: // 40 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 16 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "sq_s_w", 6)) + break; + return Intrinsic::mips_absq_s_w; // "__builtin_mips_absq_s_w" + case 'd': // 3 strings to match. + if (BuiltinName[17] != 'd') + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "s_w", 3)) + break; + return Intrinsic::mips_addq_s_w; // "__builtin_mips_addq_s_w" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_ph", 3)) + break; + return Intrinsic::mips_addqh_ph; // "__builtin_mips_addqh_ph" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_qb", 4)) + break; + return Intrinsic::mips_adduh_qb; // "__builtin_mips_adduh_qb" + } + break; + } + break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "posge32", 7)) + break; + return Intrinsic::mips_bposge32; // "__builtin_mips_bposge32" + case 'd': // 2 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "_w_ph", 5)) + break; + return Intrinsic::mips_dpa_w_ph; // "__builtin_mips_dpa_w_ph" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "_w_ph", 5)) + break; + return Intrinsic::mips_dps_w_ph; // "__builtin_mips_dps_w_ph" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "xtr_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_w", 2)) + break; + return Intrinsic::mips_extr_r_w; // "__builtin_mips_extr_r_w" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_h", 2)) + break; + return Intrinsic::mips_extr_s_h; // "__builtin_mips_extr_s_h" + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ul", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "s_ph", 4)) + break; + return Intrinsic::mips_mul_s_ph; // "__builtin_mips_mul_s_ph" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_s_w", 4)) + break; + return Intrinsic::mips_mulq_s_w; // "__builtin_mips_mulq_s_w" + } + break; + case 's': // 5 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "l_s_w", 5)) + break; + return Intrinsic::mips_shll_s_w; // "__builtin_mips_shll_s_w" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "a_r_w", 5)) + break; + return Intrinsic::mips_shra_r_w; // "__builtin_mips_shra_r_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[17] != 'b') + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "s_w", 3)) + break; + return Intrinsic::mips_subq_s_w; // "__builtin_mips_subq_s_w" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_ph", 3)) + break; + return Intrinsic::mips_subqh_ph; // "__builtin_mips_subqh_ph" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_qb", 4)) + break; + return Intrinsic::mips_subuh_qb; // "__builtin_mips_subuh_qb" + } + break; + } + break; + } + break; + case 's': // 24 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'd': // 12 strings to match. + if (BuiltinName[15] != 'p') + break; + switch (BuiltinName[16]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+17, "dd_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 3 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpadd_s_d; // "__builtin_msa_dpadd_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpadd_s_h; // "__builtin_msa_dpadd_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpadd_s_w; // "__builtin_msa_dpadd_s_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpadd_u_d; // "__builtin_msa_dpadd_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpadd_u_h; // "__builtin_msa_dpadd_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpadd_u_w; // "__builtin_msa_dpadd_u_w" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(BuiltinName.data()+17, "ub_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 3 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpsub_s_d; // "__builtin_msa_dpsub_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpsub_s_h; // "__builtin_msa_dpsub_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpsub_s_w; // "__builtin_msa_dpsub_s_w" + } + break; + case 'u': // 3 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_dpsub_u_d; // "__builtin_msa_dpsub_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_dpsub_u_h; // "__builtin_msa_dpsub_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_dpsub_u_w; // "__builtin_msa_dpsub_u_w" + } + break; + } + break; + } + break; + case 'f': // 8 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "int_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 2 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffint_s_d; // "__builtin_msa_ffint_s_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffint_s_w; // "__builtin_msa_ffint_s_w" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ffint_u_d; // "__builtin_msa_ffint_u_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ffint_u_w; // "__builtin_msa_ffint_u_w" + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "int_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 2 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftint_s_d; // "__builtin_msa_ftint_s_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftint_s_w; // "__builtin_msa_ftint_s_w" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[21] != '_') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftint_u_d; // "__builtin_msa_ftint_u_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftint_u_w; // "__builtin_msa_ftint_u_w" + } + break; + } + break; + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ddr_q_", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_maddr_q_h; // "__builtin_msa_maddr_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_maddr_q_w; // "__builtin_msa_maddr_q_w" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ubr_q_", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'h': // 1 string to match. + return Intrinsic::mips_msubr_q_h; // "__builtin_msa_msubr_q_h" + case 'w': // 1 string to match. + return Intrinsic::mips_msubr_q_w; // "__builtin_msa_msubr_q_w" + } + break; + } + break; + } + break; + } + break; + case 24: // 34 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_m", 11)) + break; + switch (BuiltinName[11]) { + default: break; + case 'i': // 22 strings to match. + if (memcmp(BuiltinName.data()+12, "ps_", 3)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 6 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "sq_s_", 5)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[23] != 'h') + break; + return Intrinsic::mips_absq_s_ph; // "__builtin_mips_absq_s_ph" + case 'q': // 1 string to match. + if (BuiltinName[23] != 'b') + break; + return Intrinsic::mips_absq_s_qb; // "__builtin_mips_absq_s_qb" + } + break; + case 'd': // 4 strings to match. + if (BuiltinName[17] != 'd') + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "s_ph", 4)) + break; + return Intrinsic::mips_addq_s_ph; // "__builtin_mips_addq_s_ph" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_r_w", 4)) + break; + return Intrinsic::mips_addqh_r_w; // "__builtin_mips_addqh_r_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "_s_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[23] != 'h') + break; + return Intrinsic::mips_addu_s_ph; // "__builtin_mips_addu_s_ph" + case 'q': // 1 string to match. + if (BuiltinName[23] != 'b') + break; + return Intrinsic::mips_addu_s_qb; // "__builtin_mips_addu_s_qb" + } + break; + } + break; + } + break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "mp_", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "q_ph", 4)) + break; + return Intrinsic::mips_cmp_eq_ph; // "__builtin_mips_cmp_eq_ph" + case 'l': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_ph", 3)) + break; + return Intrinsic::mips_cmp_le_ph; // "__builtin_mips_cmp_le_ph" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_ph", 3)) + break; + return Intrinsic::mips_cmp_lt_ph; // "__builtin_mips_cmp_lt_ph" + } + break; + } + break; + case 'd': // 2 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "x_w_ph", 6)) + break; + return Intrinsic::mips_dpax_w_ph; // "__builtin_mips_dpax_w_ph" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "x_w_ph", 6)) + break; + return Intrinsic::mips_dpsx_w_ph; // "__builtin_mips_dpsx_w_ph" + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtr_rs_w", 8)) + break; + return Intrinsic::mips_extr_rs_w; // "__builtin_mips_extr_rs_w" + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ulq_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "s_w", 3)) + break; + return Intrinsic::mips_mulq_rs_w; // "__builtin_mips_mulq_rs_w" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_ph", 3)) + break; + return Intrinsic::mips_mulq_s_ph; // "__builtin_mips_mulq_s_ph" + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ackrl_ph", 8)) + break; + return Intrinsic::mips_packrl_ph; // "__builtin_mips_packrl_ph" + case 's': // 7 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 3 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "l_s_ph", 6)) + break; + return Intrinsic::mips_shll_s_ph; // "__builtin_mips_shll_s_ph" + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "a_r_", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[23] != 'h') + break; + return Intrinsic::mips_shra_r_ph; // "__builtin_mips_shra_r_ph" + case 'q': // 1 string to match. + if (BuiltinName[23] != 'b') + break; + return Intrinsic::mips_shra_r_qb; // "__builtin_mips_shra_r_qb" + } + break; + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[17] != 'b') + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "s_ph", 4)) + break; + return Intrinsic::mips_subq_s_ph; // "__builtin_mips_subq_s_ph" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "_r_w", 4)) + break; + return Intrinsic::mips_subqh_r_w; // "__builtin_mips_subqh_r_w" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "_s_", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[23] != 'h') + break; + return Intrinsic::mips_subu_s_ph; // "__builtin_mips_subu_s_ph" + case 'q': // 1 string to match. + if (BuiltinName[23] != 'b') + break; + return Intrinsic::mips_subu_s_qb; // "__builtin_mips_subu_s_qb" + } + break; + } + break; + } + break; + } + break; + case 's': // 12 strings to match. + if (memcmp(BuiltinName.data()+12, "a_", 2)) + break; + switch (BuiltinName[14]) { + default: break; + case 'f': // 4 strings to match. + if (memcmp(BuiltinName.data()+15, "trunc_", 6)) + break; + switch (BuiltinName[21]) { + default: break; + case 's': // 2 strings to match. + if (BuiltinName[22] != '_') + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftrunc_s_d; // "__builtin_msa_ftrunc_s_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftrunc_s_w; // "__builtin_msa_ftrunc_s_w" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[22] != '_') + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::mips_ftrunc_u_d; // "__builtin_msa_ftrunc_u_d" + case 'w': // 1 string to match. + return Intrinsic::mips_ftrunc_u_w; // "__builtin_msa_ftrunc_u_w" + } + break; + } + break; + case 's': // 8 strings to match. + if (memcmp(BuiltinName.data()+15, "ubsu", 4)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "_u_", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subsus_u_b; // "__builtin_msa_subsus_u_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subsus_u_d; // "__builtin_msa_subsus_u_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subsus_u_h; // "__builtin_msa_subsus_u_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subsus_u_w; // "__builtin_msa_subsus_u_w" + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "_s_", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::mips_subsuu_s_b; // "__builtin_msa_subsuu_s_b" + case 'd': // 1 string to match. + return Intrinsic::mips_subsuu_s_d; // "__builtin_msa_subsuu_s_d" + case 'h': // 1 string to match. + return Intrinsic::mips_subsuu_s_h; // "__builtin_msa_subsuu_s_h" + case 'w': // 1 string to match. + return Intrinsic::mips_subsuu_s_w; // "__builtin_msa_subsuu_s_w" + } + break; + } + break; + } + break; + } + break; + case 25: // 14 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "dd", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_r_ph", 6)) + break; + return Intrinsic::mips_addqh_r_ph; // "__builtin_mips_addqh_r_ph" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_r_qb", 6)) + break; + return Intrinsic::mips_adduh_r_qb; // "__builtin_mips_adduh_r_qb" + } + break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "mpu_", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "q_qb", 4)) + break; + return Intrinsic::mips_cmpu_eq_qb; // "__builtin_mips_cmpu_eq_qb" + case 'l': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_qb", 3)) + break; + return Intrinsic::mips_cmpu_le_qb; // "__builtin_mips_cmpu_le_qb" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_qb", 3)) + break; + return Intrinsic::mips_cmpu_lt_qb; // "__builtin_mips_cmpu_lt_qb" + } + break; + } + break; + case 'd': // 4 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "u_h_qb", 6)) + break; + switch (BuiltinName[24]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_dpau_h_qbl; // "__builtin_mips_dpau_h_qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_dpau_h_qbr; // "__builtin_mips_dpau_h_qbr" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "u_h_qb", 6)) + break; + switch (BuiltinName[24]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_dpsu_h_qbl; // "__builtin_mips_dpsu_h_qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_dpsu_h_qbr; // "__builtin_mips_dpsu_h_qbr" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ul", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "_rs_ph", 6)) + break; + return Intrinsic::mips_mulq_rs_ph; // "__builtin_mips_mulq_rs_ph" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "a_w_ph", 6)) + break; + return Intrinsic::mips_mulsa_w_ph; // "__builtin_mips_mulsa_w_ph" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "addu_w_qb", 9)) + break; + return Intrinsic::mips_raddu_w_qb; // "__builtin_mips_raddu_w_qb" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ub", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_r_ph", 6)) + break; + return Intrinsic::mips_subqh_r_ph; // "__builtin_mips_subqh_r_ph" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "h_r_qb", 6)) + break; + return Intrinsic::mips_subuh_r_qb; // "__builtin_mips_subuh_r_qb" + } + break; + } + break; + case 26: // 11 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "mpgu_", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "q_qb", 4)) + break; + return Intrinsic::mips_cmpgu_eq_qb; // "__builtin_mips_cmpgu_eq_qb" + case 'l': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_qb", 3)) + break; + return Intrinsic::mips_cmpgu_le_qb; // "__builtin_mips_cmpgu_le_qb" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_qb", 3)) + break; + return Intrinsic::mips_cmpgu_lt_qb; // "__builtin_mips_cmpgu_lt_qb" + } + break; + } + break; + case 'd': // 4 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "q_s", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "w_ph", 4)) + break; + return Intrinsic::mips_dpaq_s_w_ph; // "__builtin_mips_dpaq_s_w_ph" + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_l_w", 4)) + break; + return Intrinsic::mips_dpaq_sa_l_w; // "__builtin_mips_dpaq_sa_l_w" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "q_s", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "w_ph", 4)) + break; + return Intrinsic::mips_dpsq_s_w_ph; // "__builtin_mips_dpsq_s_w_ph" + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_l_w", 4)) + break; + return Intrinsic::mips_dpsq_sa_l_w; // "__builtin_mips_dpsq_sa_l_w" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "aq_s_w_ph", 9)) + break; + switch (BuiltinName[25]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_maq_s_w_phl; // "__builtin_mips_maq_s_w_phl" + case 'r': // 1 string to match. + return Intrinsic::mips_maq_s_w_phr; // "__builtin_mips_maq_s_w_phr" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "recr", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "qb_ph", 5)) + break; + return Intrinsic::mips_precr_qb_ph; // "__builtin_mips_precr_qb_ph" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_ph_w", 5)) + break; + return Intrinsic::mips_precrq_ph_w; // "__builtin_mips_precrq_ph_w" + } + break; + } + break; + case 27: // 10 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "mpgdu_", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "q_qb", 4)) + break; + return Intrinsic::mips_cmpgdu_eq_qb; // "__builtin_mips_cmpgdu_eq_qb" + case 'l': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_qb", 3)) + break; + return Intrinsic::mips_cmpgdu_le_qb; // "__builtin_mips_cmpgdu_le_qb" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_qb", 3)) + break; + return Intrinsic::mips_cmpgdu_lt_qb; // "__builtin_mips_cmpgdu_lt_qb" + } + break; + } + break; + case 'd': // 2 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "qx_s_w_ph", 9)) + break; + return Intrinsic::mips_dpaqx_s_w_ph; // "__builtin_mips_dpaqx_s_w_ph" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "qx_s_w_ph", 9)) + break; + return Intrinsic::mips_dpsqx_s_w_ph; // "__builtin_mips_dpsqx_s_w_ph" + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "aq_sa_w_ph", 10)) + break; + switch (BuiltinName[26]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_maq_sa_w_phl; // "__builtin_mips_maq_sa_w_phl" + case 'r': // 1 string to match. + return Intrinsic::mips_maq_sa_w_phr; // "__builtin_mips_maq_sa_w_phr" + } + break; + case 'p': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "rec", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "q_w_ph", 6)) + break; + switch (BuiltinName[26]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_preceq_w_phl; // "__builtin_mips_preceq_w_phl" + case 'r': // 1 string to match. + return Intrinsic::mips_preceq_w_phr; // "__builtin_mips_preceq_w_phr" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "q_qb_ph", 7)) + break; + return Intrinsic::mips_precrq_qb_ph; // "__builtin_mips_precrq_qb_ph" + } + break; + } + break; + case 28: // 7 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[16] != 'p') + break; + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "qx_sa_w_ph", 10)) + break; + return Intrinsic::mips_dpaqx_sa_w_ph; // "__builtin_mips_dpaqx_sa_w_ph" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "qx_sa_w_ph", 10)) + break; + return Intrinsic::mips_dpsqx_sa_w_ph; // "__builtin_mips_dpsqx_sa_w_ph" + } + break; + case 'm': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "ul", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "q_s_w_ph", 8)) + break; + switch (BuiltinName[27]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_muleq_s_w_phl; // "__builtin_mips_muleq_s_w_phl" + case 'r': // 1 string to match. + return Intrinsic::mips_muleq_s_w_phr; // "__builtin_mips_muleq_s_w_phr" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "aq_s_w_ph", 9)) + break; + return Intrinsic::mips_mulsaq_s_w_ph; // "__builtin_mips_mulsaq_s_w_ph" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "receu_ph_qb", 11)) + break; + switch (BuiltinName[27]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_preceu_ph_qbl; // "__builtin_mips_preceu_ph_qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_preceu_ph_qbr; // "__builtin_mips_preceu_ph_qbr" + } + break; + } + break; + case 29: // 8 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "uleu_s_ph_qb", 12)) + break; + switch (BuiltinName[28]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_muleu_s_ph_qbl; // "__builtin_mips_muleu_s_ph_qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_muleu_s_ph_qbr; // "__builtin_mips_muleu_s_ph_qbr" + } + break; + case 'p': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "rec", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'q': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "u_ph_qb", 7)) + break; + switch (BuiltinName[28]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::mips_precequ_ph_qbl; // "__builtin_mips_precequ_ph_qbl" + case 'r': // 1 string to match. + return Intrinsic::mips_precequ_ph_qbr; // "__builtin_mips_precequ_ph_qbr" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "_ph_qb", 6)) + break; + switch (BuiltinName[27]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[28] != 'a') + break; + return Intrinsic::mips_preceu_ph_qbla; // "__builtin_mips_preceu_ph_qbla" + case 'r': // 1 string to match. + if (BuiltinName[28] != 'a') + break; + return Intrinsic::mips_preceu_ph_qbra; // "__builtin_mips_preceu_ph_qbra" + } + break; + } + break; + case 'r': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "sra_ph_w", 8)) + break; + return Intrinsic::mips_precr_sra_ph_w; // "__builtin_mips_precr_sra_ph_w" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "_rs_ph_w", 8)) + break; + return Intrinsic::mips_precrq_rs_ph_w; // "__builtin_mips_precrq_rs_ph_w" + } + break; + } + break; + } + break; + case 30: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_prec", 19)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "qu_ph_qb", 8)) + break; + switch (BuiltinName[28]) { + default: break; + case 'l': // 1 string to match. + if (BuiltinName[29] != 'a') + break; + return Intrinsic::mips_precequ_ph_qbla; // "__builtin_mips_precequ_ph_qbla" + case 'r': // 1 string to match. + if (BuiltinName[29] != 'a') + break; + return Intrinsic::mips_precequ_ph_qbra; // "__builtin_mips_precequ_ph_qbra" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "qu_s_qb_ph", 10)) + break; + return Intrinsic::mips_precrqu_s_qb_ph; // "__builtin_mips_precrqu_s_qb_ph" + } + break; + case 31: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_mips_precr_sra_r_ph_w", 31)) + break; + return Intrinsic::mips_precr_sra_r_ph_w; // "__builtin_mips_precr_sra_r_ph_w" + } + } + if (TargetPrefix == "ppc") { + switch (BuiltinName.size()) { + default: break; + case 21: // 4 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[19] != 's') + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_dss; // "__builtin_altivec_dss" + case 't': // 1 string to match. + return Intrinsic::ppc_altivec_dst; // "__builtin_altivec_dst" + } + break; + case 'v': // 2 strings to match. + if (BuiltinName[19] != 's') + break; + switch (BuiltinName[20]) { + default: break; + case 'l': // 1 string to match. + return Intrinsic::ppc_altivec_vsl; // "__builtin_altivec_vsl" + case 'r': // 1 string to match. + return Intrinsic::ppc_altivec_vsr; // "__builtin_altivec_vsr" + } + break; + } + break; + case 22: // 12 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "stt", 3)) + break; + return Intrinsic::ppc_altivec_dstt; // "__builtin_altivec_dstt" + case 'v': // 11 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'r': // 3 strings to match. + if (BuiltinName[20] != 'l') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vrlb; // "__builtin_altivec_vrlb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vrlh; // "__builtin_altivec_vrlh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vrlw; // "__builtin_altivec_vrlw" + } + break; + case 's': // 8 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'l': // 4 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vslb; // "__builtin_altivec_vslb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vslh; // "__builtin_altivec_vslh" + case 'o': // 1 string to match. + return Intrinsic::ppc_altivec_vslo; // "__builtin_altivec_vslo" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vslw; // "__builtin_altivec_vslw" + } + break; + case 'r': // 4 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vsrb; // "__builtin_altivec_vsrb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vsrh; // "__builtin_altivec_vsrh" + case 'o': // 1 string to match. + return Intrinsic::ppc_altivec_vsro; // "__builtin_altivec_vsro" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vsrw; // "__builtin_altivec_vsrw" + } + break; + } + break; + } + break; + } + break; + case 23: // 12 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "stst", 4)) + break; + return Intrinsic::ppc_altivec_dstst; // "__builtin_altivec_dstst" + case 'v': // 11 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'c': // 2 strings to match. + if (BuiltinName[20] != 'f') + break; + switch (BuiltinName[21]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[22] != 'x') + break; + return Intrinsic::ppc_altivec_vcfsx; // "__builtin_altivec_vcfsx" + case 'u': // 1 string to match. + if (BuiltinName[22] != 'x') + break; + return Intrinsic::ppc_altivec_vcfux; // "__builtin_altivec_vcfux" + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "kpx", 3)) + break; + return Intrinsic::ppc_altivec_vpkpx; // "__builtin_altivec_vpkpx" + case 'r': // 5 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "fp", 2)) + break; + return Intrinsic::ppc_altivec_vrefp; // "__builtin_altivec_vrefp" + case 'f': // 4 strings to match. + if (BuiltinName[21] != 'i') + break; + switch (BuiltinName[22]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vrfim; // "__builtin_altivec_vrfim" + case 'n': // 1 string to match. + return Intrinsic::ppc_altivec_vrfin; // "__builtin_altivec_vrfin" + case 'p': // 1 string to match. + return Intrinsic::ppc_altivec_vrfip; // "__builtin_altivec_vrfip" + case 'z': // 1 string to match. + return Intrinsic::ppc_altivec_vrfiz; // "__builtin_altivec_vrfiz" + } + break; + } + break; + case 's': // 3 strings to match. + if (memcmp(BuiltinName.data()+20, "ra", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vsrab; // "__builtin_altivec_vsrab" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vsrah; // "__builtin_altivec_vsrah" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vsraw; // "__builtin_altivec_vsraw" + } + break; + } + break; + } + break; + case 24: // 26 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_", 18)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[19] != 's') + break; + switch (BuiltinName[20]) { + default: break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "all", 3)) + break; + return Intrinsic::ppc_altivec_dssall; // "__builtin_altivec_dssall" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "stt", 3)) + break; + return Intrinsic::ppc_altivec_dststt; // "__builtin_altivec_dststt" + } + break; + case 'm': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "vscr", 4)) + break; + return Intrinsic::ppc_altivec_mfvscr; // "__builtin_altivec_mfvscr" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "vscr", 4)) + break; + return Intrinsic::ppc_altivec_mtvscr; // "__builtin_altivec_mtvscr" + } + break; + case 'v': // 22 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+20, "vg", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 's': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsb; // "__builtin_altivec_vavgsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsh; // "__builtin_altivec_vavgsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vavgsw; // "__builtin_altivec_vavgsw" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vavgub; // "__builtin_altivec_vavgub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vavguh; // "__builtin_altivec_vavguh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vavguw; // "__builtin_altivec_vavguw" + } + break; + } + break; + case 'c': // 2 strings to match. + if (BuiltinName[20] != 't') + break; + switch (BuiltinName[21]) { + default: break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xs", 2)) + break; + return Intrinsic::ppc_altivec_vctsxs; // "__builtin_altivec_vctsxs" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "xs", 2)) + break; + return Intrinsic::ppc_altivec_vctuxs; // "__builtin_altivec_vctuxs" + } + break; + case 'm': // 14 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'a': // 7 strings to match. + if (BuiltinName[21] != 'x') + break; + switch (BuiltinName[22]) { + default: break; + case 'f': // 1 string to match. + if (BuiltinName[23] != 'p') + break; + return Intrinsic::ppc_altivec_vmaxfp; // "__builtin_altivec_vmaxfp" + case 's': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsb; // "__builtin_altivec_vmaxsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsh; // "__builtin_altivec_vmaxsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxsw; // "__builtin_altivec_vmaxsw" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxub; // "__builtin_altivec_vmaxub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxuh; // "__builtin_altivec_vmaxuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vmaxuw; // "__builtin_altivec_vmaxuw" + } + break; + } + break; + case 'i': // 7 strings to match. + if (BuiltinName[21] != 'n') + break; + switch (BuiltinName[22]) { + default: break; + case 'f': // 1 string to match. + if (BuiltinName[23] != 'p') + break; + return Intrinsic::ppc_altivec_vminfp; // "__builtin_altivec_vminfp" + case 's': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vminsb; // "__builtin_altivec_vminsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vminsh; // "__builtin_altivec_vminsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vminsw; // "__builtin_altivec_vminsw" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vminub; // "__builtin_altivec_vminub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vminuh; // "__builtin_altivec_vminuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vminuw; // "__builtin_altivec_vminuw" + } + break; + } + break; + } + break; + } + break; + } + break; + case 25: // 38 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_v", 19)) + break; + switch (BuiltinName[19]) { + default: break; + case 'a': // 7 strings to match. + if (memcmp(BuiltinName.data()+20, "dd", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "uw", 2)) + break; + return Intrinsic::ppc_altivec_vaddcuw; // "__builtin_altivec_vaddcuw" + case 's': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vaddsbs; // "__builtin_altivec_vaddsbs" + case 'h': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vaddshs; // "__builtin_altivec_vaddshs" + case 'w': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vaddsws; // "__builtin_altivec_vaddsws" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vaddubs; // "__builtin_altivec_vaddubs" + case 'h': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vadduhs; // "__builtin_altivec_vadduhs" + case 'w': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vadduws; // "__builtin_altivec_vadduws" + } + break; + } + break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "mpbfp", 5)) + break; + return Intrinsic::ppc_altivec_vcmpbfp; // "__builtin_altivec_vcmpbfp" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "ogefp", 5)) + break; + return Intrinsic::ppc_altivec_vlogefp; // "__builtin_altivec_vlogefp" + case 'm': // 9 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "ddfp", 4)) + break; + return Intrinsic::ppc_altivec_vmaddfp; // "__builtin_altivec_vmaddfp" + case 'u': // 8 strings to match. + if (BuiltinName[21] != 'l') + break; + switch (BuiltinName[22]) { + default: break; + case 'e': // 4 strings to match. + switch (BuiltinName[23]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmulesb; // "__builtin_altivec_vmulesb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulesh; // "__builtin_altivec_vmulesh" + } + break; + case 'u': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmuleub; // "__builtin_altivec_vmuleub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmuleuh; // "__builtin_altivec_vmuleuh" + } + break; + } + break; + case 'o': // 4 strings to match. + switch (BuiltinName[23]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmulosb; // "__builtin_altivec_vmulosb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulosh; // "__builtin_altivec_vmulosh" + } + break; + case 'u': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vmuloub; // "__builtin_altivec_vmuloub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vmulouh; // "__builtin_altivec_vmulouh" + } + break; + } + break; + } + break; + } + break; + case 'p': // 6 strings to match. + if (BuiltinName[20] != 'k') + break; + switch (BuiltinName[21]) { + default: break; + case 's': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vpkshss; // "__builtin_altivec_vpkshss" + case 'u': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vpkshus; // "__builtin_altivec_vpkshus" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vpkswss; // "__builtin_altivec_vpkswss" + case 'u': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vpkswus; // "__builtin_altivec_vpkswus" + } + break; + } + break; + case 'u': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "us", 2)) + break; + return Intrinsic::ppc_altivec_vpkuhus; // "__builtin_altivec_vpkuhus" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "us", 2)) + break; + return Intrinsic::ppc_altivec_vpkuwus; // "__builtin_altivec_vpkuwus" + } + break; + } + break; + case 's': // 8 strings to match. + if (BuiltinName[20] != 'u') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 7 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "uw", 2)) + break; + return Intrinsic::ppc_altivec_vsubcuw; // "__builtin_altivec_vsubcuw" + case 's': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsubsbs; // "__builtin_altivec_vsubsbs" + case 'h': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsubshs; // "__builtin_altivec_vsubshs" + case 'w': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsubsws; // "__builtin_altivec_vsubsws" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsububs; // "__builtin_altivec_vsububs" + case 'h': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsubuhs; // "__builtin_altivec_vsubuhs" + case 'w': // 1 string to match. + if (BuiltinName[24] != 's') + break; + return Intrinsic::ppc_altivec_vsubuws; // "__builtin_altivec_vsubuws" + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "sws", 3)) + break; + return Intrinsic::ppc_altivec_vsumsws; // "__builtin_altivec_vsumsws" + } + break; + case 'u': // 6 strings to match. + if (memcmp(BuiltinName.data()+20, "pk", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'h': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[24] != 'x') + break; + return Intrinsic::ppc_altivec_vupkhpx; // "__builtin_altivec_vupkhpx" + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vupkhsb; // "__builtin_altivec_vupkhsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vupkhsh; // "__builtin_altivec_vupkhsh" + } + break; + } + break; + case 'l': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[24] != 'x') + break; + return Intrinsic::ppc_altivec_vupklpx; // "__builtin_altivec_vupklpx" + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vupklsb; // "__builtin_altivec_vupklsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vupklsh; // "__builtin_altivec_vupklsh" + } + break; + } + break; + } + break; + } + break; + case 26: // 25 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_v", 19)) + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 12 strings to match. + if (memcmp(BuiltinName.data()+20, "mp", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'e': // 4 strings to match. + if (BuiltinName[23] != 'q') + break; + switch (BuiltinName[24]) { + default: break; + case 'f': // 1 string to match. + if (BuiltinName[25] != 'p') + break; + return Intrinsic::ppc_altivec_vcmpeqfp; // "__builtin_altivec_vcmpeqfp" + case 'u': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequb; // "__builtin_altivec_vcmpequb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequh; // "__builtin_altivec_vcmpequh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpequw; // "__builtin_altivec_vcmpequw" + } + break; + } + break; + case 'g': // 8 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "fp", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgefp; // "__builtin_altivec_vcmpgefp" + case 't': // 7 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'f': // 1 string to match. + if (BuiltinName[25] != 'p') + break; + return Intrinsic::ppc_altivec_vcmpgtfp; // "__builtin_altivec_vcmpgtfp" + case 's': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsb; // "__builtin_altivec_vcmpgtsb" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsh; // "__builtin_altivec_vcmpgtsh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtsw; // "__builtin_altivec_vcmpgtsw" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtub; // "__builtin_altivec_vcmpgtub" + case 'h': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtuh; // "__builtin_altivec_vcmpgtuh" + case 'w': // 1 string to match. + return Intrinsic::ppc_altivec_vcmpgtuw; // "__builtin_altivec_vcmpgtuw" + } + break; + } + break; + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "xptefp", 6)) + break; + return Intrinsic::ppc_altivec_vexptefp; // "__builtin_altivec_vexptefp" + case 'm': // 6 strings to match. + if (memcmp(BuiltinName.data()+20, "sum", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "bm", 2)) + break; + return Intrinsic::ppc_altivec_vmsummbm; // "__builtin_altivec_vmsummbm" + case 's': // 2 strings to match. + if (BuiltinName[24] != 'h') + break; + switch (BuiltinName[25]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumshm; // "__builtin_altivec_vmsumshm" + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumshs; // "__builtin_altivec_vmsumshs" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[25] != 'm') + break; + return Intrinsic::ppc_altivec_vmsumubm; // "__builtin_altivec_vmsumubm" + case 'h': // 2 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'm': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumuhm; // "__builtin_altivec_vmsumuhm" + case 's': // 1 string to match. + return Intrinsic::ppc_altivec_vmsumuhs; // "__builtin_altivec_vmsumuhs" + } + break; + } + break; + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "msubfp", 6)) + break; + return Intrinsic::ppc_altivec_vnmsubfp; // "__builtin_altivec_vnmsubfp" + case 's': // 5 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "l_4si", 5)) + break; + return Intrinsic::ppc_altivec_vsel; // "__builtin_altivec_vsel_4si" + case 'u': // 4 strings to match. + if (BuiltinName[21] != 'm') + break; + switch (BuiltinName[22]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "sws", 3)) + break; + return Intrinsic::ppc_altivec_vsum2sws; // "__builtin_altivec_vsum2sws" + case '4': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[25] != 's') + break; + return Intrinsic::ppc_altivec_vsum4sbs; // "__builtin_altivec_vsum4sbs" + case 'h': // 1 string to match. + if (BuiltinName[25] != 's') + break; + return Intrinsic::ppc_altivec_vsum4shs; // "__builtin_altivec_vsum4shs" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "bs", 2)) + break; + return Intrinsic::ppc_altivec_vsum4ubs; // "__builtin_altivec_vsum4ubs" + } + break; + } + break; + } + break; + } + break; + case 27: // 5 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_v", 19)) + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "mpbfp_p", 7)) + break; + return Intrinsic::ppc_altivec_vcmpbfp_p; // "__builtin_altivec_vcmpbfp_p" + case 'm': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "addshs", 6)) + break; + return Intrinsic::ppc_altivec_vmhaddshs; // "__builtin_altivec_vmhaddshs" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "adduhm", 6)) + break; + return Intrinsic::ppc_altivec_vmladduhm; // "__builtin_altivec_vmladduhm" + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "erm_4si", 7)) + break; + return Intrinsic::ppc_altivec_vperm; // "__builtin_altivec_vperm_4si" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "sqrtefp", 7)) + break; + return Intrinsic::ppc_altivec_vrsqrtefp; // "__builtin_altivec_vrsqrtefp" + } + break; + case 28: // 13 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_altivec_v", 19)) + break; + switch (BuiltinName[19]) { + default: break; + case 'c': // 12 strings to match. + if (memcmp(BuiltinName.data()+20, "mp", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'e': // 4 strings to match. + if (BuiltinName[23] != 'q') + break; + switch (BuiltinName[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "p_p", 3)) + break; + return Intrinsic::ppc_altivec_vcmpeqfp_p; // "__builtin_altivec_vcmpeqfp_p" + case 'u': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequb_p; // "__builtin_altivec_vcmpequb_p" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequh_p; // "__builtin_altivec_vcmpequh_p" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpequw_p; // "__builtin_altivec_vcmpequw_p" + } + break; + } + break; + case 'g': // 8 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "fp_p", 4)) + break; + return Intrinsic::ppc_altivec_vcmpgefp_p; // "__builtin_altivec_vcmpgefp_p" + case 't': // 7 strings to match. + switch (BuiltinName[24]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "p_p", 3)) + break; + return Intrinsic::ppc_altivec_vcmpgtfp_p; // "__builtin_altivec_vcmpgtfp_p" + case 's': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsb_p; // "__builtin_altivec_vcmpgtsb_p" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsh_p; // "__builtin_altivec_vcmpgtsh_p" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtsw_p; // "__builtin_altivec_vcmpgtsw_p" + } + break; + case 'u': // 3 strings to match. + switch (BuiltinName[25]) { + default: break; + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtub_p; // "__builtin_altivec_vcmpgtub_p" + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtuh_p; // "__builtin_altivec_vcmpgtuh_p" + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "_p", 2)) + break; + return Intrinsic::ppc_altivec_vcmpgtuw_p; // "__builtin_altivec_vcmpgtuw_p" + } + break; + } + break; + } + break; + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "hraddshs", 8)) + break; + return Intrinsic::ppc_altivec_vmhraddshs; // "__builtin_altivec_vmhraddshs" + } + break; + } + } + if (TargetPrefix == "r600") { + switch (BuiltinName.size()) { + default: break; + case 26: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_r600_read_tgid_", 25)) + break; + switch (BuiltinName[25]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_tgid_x; // "__builtin_r600_read_tgid_x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_tgid_y; // "__builtin_r600_read_tgid_y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_tgid_z; // "__builtin_r600_read_tgid_z" + } + break; + case 27: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_r600_read_tidig_", 26)) + break; + switch (BuiltinName[26]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_tidig_x; // "__builtin_r600_read_tidig_x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_tidig_y; // "__builtin_r600_read_tidig_y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_tidig_z; // "__builtin_r600_read_tidig_z" + } + break; + case 29: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_r600_read_ngroups_", 28)) + break; + switch (BuiltinName[28]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_ngroups_x; // "__builtin_r600_read_ngroups_x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_ngroups_y; // "__builtin_r600_read_ngroups_y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_ngroups_z; // "__builtin_r600_read_ngroups_z" + } + break; + case 32: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_r600_read_local_size_", 31)) + break; + switch (BuiltinName[31]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_local_size_x; // "__builtin_r600_read_local_size_x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_local_size_y; // "__builtin_r600_read_local_size_y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_local_size_z; // "__builtin_r600_read_local_size_z" + } + break; + case 33: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_r600_read_global_size_", 32)) + break; + switch (BuiltinName[32]) { + default: break; + case 'x': // 1 string to match. + return Intrinsic::r600_read_global_size_x; // "__builtin_r600_read_global_size_x" + case 'y': // 1 string to match. + return Intrinsic::r600_read_global_size_y; // "__builtin_r600_read_global_size_y" + case 'z': // 1 string to match. + return Intrinsic::r600_read_global_size_z; // "__builtin_r600_read_global_size_z" + } + break; + } + } + if (TargetPrefix == "x86") { + switch (BuiltinName.size()) { + default: break; + case 18: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_por", 18)) + break; + return Intrinsic::x86_mmx_por; // "__builtin_ia32_por" + case 19: // 6 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "pp", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_dppd; // "__builtin_ia32_dppd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_dpps; // "__builtin_ia32_dpps" + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "mms", 3)) + break; + return Intrinsic::x86_mmx_emms; // "__builtin_ia32_emms" + case 'p': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "nd", 2)) + break; + return Intrinsic::x86_mmx_pand; // "__builtin_ia32_pand" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "or", 2)) + break; + return Intrinsic::x86_mmx_pxor; // "__builtin_ia32_pxor" + } + break; + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "end", 3)) + break; + return Intrinsic::x86_xend; // "__builtin_ia32_xend" + } + break; + case 20: // 64 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "dds", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_add_sd; // "__builtin_ia32_addsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_add_ss; // "__builtin_ia32_addss" + } + break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "mp", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cmp_pd; // "__builtin_ia32_cmppd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cmp_ps; // "__builtin_ia32_cmpps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cmp_sd; // "__builtin_ia32_cmpsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cmp_ss; // "__builtin_ia32_cmpss" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ivs", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_div_sd; // "__builtin_ia32_divsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_div_ss; // "__builtin_ia32_divss" + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtrq", 4)) + break; + return Intrinsic::x86_sse4a_extrq; // "__builtin_ia32_extrq" + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "emms", 4)) + break; + return Intrinsic::x86_mmx_femms; // "__builtin_ia32_femms" + case 'k': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "orhi", 4)) + break; + return Intrinsic::x86_avx512_kor_w; // "__builtin_ia32_korhi" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ddqu", 4)) + break; + return Intrinsic::x86_sse3_ldu_dq; // "__builtin_ia32_lddqu" + case 'm': // 11 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[17] != 'x') + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_max_pd; // "__builtin_ia32_maxpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_max_ps; // "__builtin_ia32_maxps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_max_sd; // "__builtin_ia32_maxsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_max_ss; // "__builtin_ia32_maxss" + } + break; + } + break; + case 'i': // 4 strings to match. + if (BuiltinName[17] != 'n') + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_min_pd; // "__builtin_ia32_minpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_min_ps; // "__builtin_ia32_minps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_min_sd; // "__builtin_ia32_minsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_min_ss; // "__builtin_ia32_minss" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ls", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_mul_sd; // "__builtin_ia32_mulsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_mul_ss; // "__builtin_ia32_mulss" + } + break; + case 'w': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ait", 3)) + break; + return Intrinsic::x86_sse3_mwait; // "__builtin_ia32_mwait" + } + break; + case 'p': // 34 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 11 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'b': // 3 strings to match. + if (BuiltinName[18] != 's') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_b; // "__builtin_ia32_pabsb" + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_d; // "__builtin_ia32_pabsd" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_pabs_w; // "__builtin_ia32_pabsw" + } + break; + case 'd': // 4 strings to match. + if (BuiltinName[18] != 'd') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_padd_b; // "__builtin_ia32_paddb" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_padd_d; // "__builtin_ia32_paddd" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_padd_q; // "__builtin_ia32_paddq" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_padd_w; // "__builtin_ia32_paddw" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "dn", 2)) + break; + return Intrinsic::x86_mmx_pandn; // "__builtin_ia32_pandn" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "se", 2)) + break; + return Intrinsic::x86_sse2_pause; // "__builtin_ia32_pause" + case 'v': // 2 strings to match. + if (BuiltinName[18] != 'g') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pavg_b; // "__builtin_ia32_pavgb" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pavg_w; // "__builtin_ia32_pavgw" + } + break; + } + break; + case 'f': // 9 strings to match. + switch (BuiltinName[17]) { + default: break; + case '2': // 2 strings to match. + if (BuiltinName[18] != 'i') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_3dnow_pf2id; // "__builtin_ia32_pf2id" + case 'w': // 1 string to match. + return Intrinsic::x86_3dnowa_pf2iw; // "__builtin_ia32_pf2iw" + } + break; + case 'a': // 2 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'c': // 1 string to match. + if (BuiltinName[19] != 'c') + break; + return Intrinsic::x86_3dnow_pfacc; // "__builtin_ia32_pfacc" + case 'd': // 1 string to match. + if (BuiltinName[19] != 'd') + break; + return Intrinsic::x86_3dnow_pfadd; // "__builtin_ia32_pfadd" + } + break; + case 'm': // 3 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 1 string to match. + if (BuiltinName[19] != 'x') + break; + return Intrinsic::x86_3dnow_pfmax; // "__builtin_ia32_pfmax" + case 'i': // 1 string to match. + if (BuiltinName[19] != 'n') + break; + return Intrinsic::x86_3dnow_pfmin; // "__builtin_ia32_pfmin" + case 'u': // 1 string to match. + if (BuiltinName[19] != 'l') + break; + return Intrinsic::x86_3dnow_pfmul; // "__builtin_ia32_pfmul" + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "cp", 2)) + break; + return Intrinsic::x86_3dnow_pfrcp; // "__builtin_ia32_pfrcp" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ub", 2)) + break; + return Intrinsic::x86_3dnow_pfsub; // "__builtin_ia32_pfsub" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "2f", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_3dnow_pi2fd; // "__builtin_ia32_pi2fd" + case 'w': // 1 string to match. + return Intrinsic::x86_3dnowa_pi2fw; // "__builtin_ia32_pi2fw" + } + break; + case 's': // 12 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 3 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psll_d; // "__builtin_ia32_pslld" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psll_q; // "__builtin_ia32_psllq" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psll_w; // "__builtin_ia32_psllw" + } + break; + case 'r': // 5 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psra_d; // "__builtin_ia32_psrad" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psra_w; // "__builtin_ia32_psraw" + } + break; + case 'l': // 3 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psrl_d; // "__builtin_ia32_psrld" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psrl_q; // "__builtin_ia32_psrlq" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psrl_w; // "__builtin_ia32_psrlw" + } + break; + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[18] != 'b') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psub_b; // "__builtin_ia32_psubb" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_psub_d; // "__builtin_ia32_psubd" + case 'q': // 1 string to match. + return Intrinsic::x86_mmx_psub_q; // "__builtin_ia32_psubq" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psub_w; // "__builtin_ia32_psubw" + } + break; + } + break; + } + break; + case 'r': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (BuiltinName[17] != 'p') + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[19] != 's') + break; + return Intrinsic::x86_sse_rcp_ps; // "__builtin_ia32_rcpps" + case 's': // 1 string to match. + if (BuiltinName[19] != 's') + break; + return Intrinsic::x86_sse_rcp_ss; // "__builtin_ia32_rcpss" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "mc", 2)) + break; + return Intrinsic::x86_rdpmc; // "__builtin_ia32_rdpmc" + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "sc", 2)) + break; + return Intrinsic::x86_rdtsc; // "__builtin_ia32_rdtsc" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ubs", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_sub_sd; // "__builtin_ia32_subsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_sub_ss; // "__builtin_ia32_subss" + } + break; + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "test", 4)) + break; + return Intrinsic::x86_xtest; // "__builtin_ia32_xtest" + } + break; + case 21: // 55 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'c': // 5 strings to match. + if (memcmp(BuiltinName.data()+16, "omi", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[20] != 'q') + break; + return Intrinsic::x86_sse_comieq_ss; // "__builtin_ia32_comieq" + case 'g': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse_comige_ss; // "__builtin_ia32_comige" + case 't': // 1 string to match. + return Intrinsic::x86_sse_comigt_ss; // "__builtin_ia32_comigt" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse_comile_ss; // "__builtin_ia32_comile" + case 't': // 1 string to match. + return Intrinsic::x86_sse_comilt_ss; // "__builtin_ia32_comilt" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtrqi", 5)) + break; + return Intrinsic::x86_sse4a_extrqi; // "__builtin_ia32_extrqi" + case 'h': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ddp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_hadd_pd; // "__builtin_ia32_haddpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_hadd_ps; // "__builtin_ia32_haddps" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ubp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_hsub_pd; // "__builtin_ia32_hsubpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_hsub_ps; // "__builtin_ia32_hsubps" + } + break; + } + break; + case 'k': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ndhi", 4)) + break; + return Intrinsic::x86_avx512_kand_w; // "__builtin_ia32_kandhi" + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "othi", 4)) + break; + return Intrinsic::x86_avx512_knot_w; // "__builtin_ia32_knothi" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "orhi", 4)) + break; + return Intrinsic::x86_avx512_kxor_w; // "__builtin_ia32_kxorhi" + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "fence", 5)) + break; + return Intrinsic::x86_sse2_lfence; // "__builtin_ia32_lfence" + case 'm': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ence", 4)) + break; + return Intrinsic::x86_sse2_mfence; // "__builtin_ia32_mfence" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "vntq", 4)) + break; + return Intrinsic::x86_mmx_movnt_dq; // "__builtin_ia32_movntq" + } + break; + case 'p': // 31 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "dds", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_padds_b; // "__builtin_ia32_paddsb" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_padds_w; // "__builtin_ia32_paddsw" + } + break; + case 'f': // 2 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "acc", 3)) + break; + return Intrinsic::x86_3dnowa_pfnacc; // "__builtin_ia32_pfnacc" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ubr", 3)) + break; + return Intrinsic::x86_3dnow_pfsubr; // "__builtin_ia32_pfsubr" + } + break; + case 'h': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "dd", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_phadd_d; // "__builtin_ia32_phaddd" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_phadd_w; // "__builtin_ia32_phaddw" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "ub", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_phsub_d; // "__builtin_ia32_phsubd" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_phsub_w; // "__builtin_ia32_phsubw" + } + break; + } + break; + case 'm': // 6 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (BuiltinName[18] != 'x') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[20] != 'w') + break; + return Intrinsic::x86_mmx_pmaxs_w; // "__builtin_ia32_pmaxsw" + case 'u': // 1 string to match. + if (BuiltinName[20] != 'b') + break; + return Intrinsic::x86_mmx_pmaxu_b; // "__builtin_ia32_pmaxub" + } + break; + case 'i': // 2 strings to match. + if (BuiltinName[18] != 'n') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 1 string to match. + if (BuiltinName[20] != 'w') + break; + return Intrinsic::x86_mmx_pmins_w; // "__builtin_ia32_pminsw" + case 'u': // 1 string to match. + if (BuiltinName[20] != 'b') + break; + return Intrinsic::x86_mmx_pminu_b; // "__builtin_ia32_pminub" + } + break; + case 'u': // 2 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[20] != 'w') + break; + return Intrinsic::x86_mmx_pmulh_w; // "__builtin_ia32_pmulhw" + case 'l': // 1 string to match. + if (BuiltinName[20] != 'w') + break; + return Intrinsic::x86_mmx_pmull_w; // "__builtin_ia32_pmullw" + } + break; + } + break; + case 's': // 17 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "dbw", 3)) + break; + return Intrinsic::x86_mmx_psad_bw; // "__builtin_ia32_psadbw" + case 'h': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "uf", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_ssse3_pshuf_b; // "__builtin_ia32_pshufb" + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_pshuf_d; // "__builtin_ia32_pshufd" + case 'w': // 1 string to match. + return Intrinsic::x86_sse_pshuf_w; // "__builtin_ia32_pshufw" + } + break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "gn", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_ssse3_psign_b; // "__builtin_ia32_psignb" + case 'd': // 1 string to match. + return Intrinsic::x86_ssse3_psign_d; // "__builtin_ia32_psignd" + case 'w': // 1 string to match. + return Intrinsic::x86_ssse3_psign_w; // "__builtin_ia32_psignw" + } + break; + case 'l': // 3 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_pslli_d; // "__builtin_ia32_pslldi" + case 'q': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_pslli_q; // "__builtin_ia32_psllqi" + case 'w': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_pslli_w; // "__builtin_ia32_psllwi" + } + break; + case 'r': // 5 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_psrai_d; // "__builtin_ia32_psradi" + case 'w': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_psrai_w; // "__builtin_ia32_psrawi" + } + break; + case 'l': // 3 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_psrli_d; // "__builtin_ia32_psrldi" + case 'q': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_psrli_q; // "__builtin_ia32_psrlqi" + case 'w': // 1 string to match. + if (BuiltinName[20] != 'i') + break; + return Intrinsic::x86_mmx_psrli_w; // "__builtin_ia32_psrlwi" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "bs", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psubs_b; // "__builtin_ia32_psubsb" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psubs_w; // "__builtin_ia32_psubsw" + } + break; + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "dtscp", 5)) + break; + return Intrinsic::x86_rdtscp; // "__builtin_ia32_rdtscp" + case 's': // 5 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ence", 4)) + break; + return Intrinsic::x86_sse_sfence; // "__builtin_ia32_sfence" + case 'q': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "rt", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_sqrt_pd; // "__builtin_ia32_sqrtpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_sqrt_ps; // "__builtin_ia32_sqrtps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_sqrt_sd; // "__builtin_ia32_sqrtsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_sqrt_ss; // "__builtin_ia32_sqrtss" + } + break; + } + break; + } + break; + case 'x': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "bort", 4)) + break; + return Intrinsic::x86_xabort; // "__builtin_ia32_xabort" + case 'b': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "egin", 4)) + break; + return Intrinsic::x86_xbegin; // "__builtin_ia32_xbegin" + } + break; + } + break; + case 22: // 57 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'b': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "endp", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_blendpd; // "__builtin_ia32_blendpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_blendps; // "__builtin_ia32_blendps" + } + break; + case 'z': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "hi_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_bzhi_64; // "__builtin_ia32_bzhi_di" + case 's': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_bzhi_32; // "__builtin_ia32_bzhi_si" + } + break; + } + break; + case 'c': // 6 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "flush", 5)) + break; + return Intrinsic::x86_sse2_clflush; // "__builtin_ia32_clflush" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "mineq", 5)) + break; + return Intrinsic::x86_sse_comineq_ss; // "__builtin_ia32_comineq" + case 'r': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "c32", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_sse42_crc32_64_64; // "__builtin_ia32_crc32di" + case 'h': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_sse42_crc32_32_16; // "__builtin_ia32_crc32hi" + case 'q': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_sse42_crc32_32_8; // "__builtin_ia32_crc32qi" + case 's': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_sse42_crc32_32_32; // "__builtin_ia32_crc32si" + } + break; + } + break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "pps256", 6)) + break; + return Intrinsic::x86_avx_dp_ps_256; // "__builtin_ia32_dpps256" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nsertq", 6)) + break; + return Intrinsic::x86_sse4a_insertq; // "__builtin_ia32_insertq" + case 'k': // 2 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "ndnhi", 5)) + break; + return Intrinsic::x86_avx512_kandn_w; // "__builtin_ia32_kandnhi" + case 'x': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "norhi", 5)) + break; + return Intrinsic::x86_avx512_kxnor_w; // "__builtin_ia32_kxnorhi" + } + break; + case 'm': // 3 strings to match. + if (BuiltinName[16] != 'o') + break; + switch (BuiltinName[17]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "itor", 4)) + break; + return Intrinsic::x86_sse3_monitor; // "__builtin_ia32_monitor" + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "nts", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse4a_movnt_sd; // "__builtin_ia32_movntsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse4a_movnt_ss; // "__builtin_ia32_movntss" + } + break; + } + break; + case 'p': // 29 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "dus", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_paddus_b; // "__builtin_ia32_paddusb" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_paddus_w; // "__builtin_ia32_paddusw" + } + break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ignr", 4)) + break; + return Intrinsic::x86_mmx_palignr_b; // "__builtin_ia32_palignr" + case 'v': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "gusb", 4)) + break; + return Intrinsic::x86_3dnow_pavgusb; // "__builtin_ia32_pavgusb" + } + break; + case 'c': // 6 strings to match. + if (memcmp(BuiltinName.data()+17, "mp", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 3 strings to match. + if (BuiltinName[20] != 'q') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_b; // "__builtin_ia32_pcmpeqb" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_d; // "__builtin_ia32_pcmpeqd" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pcmpeq_w; // "__builtin_ia32_pcmpeqw" + } + break; + case 'g': // 3 strings to match. + if (BuiltinName[20] != 't') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_b; // "__builtin_ia32_pcmpgtb" + case 'd': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_d; // "__builtin_ia32_pcmpgtd" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_pcmpgt_w; // "__builtin_ia32_pcmpgtw" + } + break; + } + break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ep_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_pdep_64; // "__builtin_ia32_pdep_di" + case 's': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_pdep_32; // "__builtin_ia32_pdep_si" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "xt_", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_pext_64; // "__builtin_ia32_pext_di" + case 's': // 1 string to match. + if (BuiltinName[21] != 'i') + break; + return Intrinsic::x86_bmi_pext_32; // "__builtin_ia32_pext_si" + } + break; + case 'f': // 5 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'c': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "mp", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[21] != 'q') + break; + return Intrinsic::x86_3dnow_pfcmpeq; // "__builtin_ia32_pfcmpeq" + case 'g': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_3dnow_pfcmpge; // "__builtin_ia32_pfcmpge" + case 't': // 1 string to match. + return Intrinsic::x86_3dnow_pfcmpgt; // "__builtin_ia32_pfcmpgt" + } + break; + } + break; + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "nacc", 4)) + break; + return Intrinsic::x86_3dnowa_pfpnacc; // "__builtin_ia32_pfpnacc" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "sqrt", 4)) + break; + return Intrinsic::x86_3dnow_pfrsqrt; // "__builtin_ia32_pfrsqrt" + } + break; + case 'h': // 2 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ddsw", 4)) + break; + return Intrinsic::x86_ssse3_phadd_sw; // "__builtin_ia32_phaddsw" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ubsw", 4)) + break; + return Intrinsic::x86_ssse3_phsub_sw; // "__builtin_ia32_phsubsw" + } + break; + case 'm': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ddwd", 4)) + break; + return Intrinsic::x86_mmx_pmadd_wd; // "__builtin_ia32_pmaddwd" + case 'u': // 3 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'h': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'r': // 1 string to match. + if (BuiltinName[21] != 'w') + break; + return Intrinsic::x86_3dnow_pmulhrw; // "__builtin_ia32_pmulhrw" + case 'u': // 1 string to match. + if (BuiltinName[21] != 'w') + break; + return Intrinsic::x86_mmx_pmulhu_w; // "__builtin_ia32_pmulhuw" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "dq", 2)) + break; + return Intrinsic::x86_mmx_pmulu_dq; // "__builtin_ia32_pmuludq" + } + break; + } + break; + case 's': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "uf", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + if (BuiltinName[21] != 'w') + break; + return Intrinsic::x86_sse2_pshufh_w; // "__builtin_ia32_pshufhw" + case 'l': // 1 string to match. + if (BuiltinName[21] != 'w') + break; + return Intrinsic::x86_sse2_pshufl_w; // "__builtin_ia32_pshuflw" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "bus", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 1 string to match. + return Intrinsic::x86_mmx_psubus_b; // "__builtin_ia32_psubusb" + case 'w': // 1 string to match. + return Intrinsic::x86_mmx_psubus_w; // "__builtin_ia32_psubusw" + } + break; + } + break; + } + break; + case 'r': // 6 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'o': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "und", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_round_pd; // "__builtin_ia32_roundpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_round_ps; // "__builtin_ia32_roundps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_round_sd; // "__builtin_ia32_roundsd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_round_ss; // "__builtin_ia32_roundss" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "qrt", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 1 string to match. + if (BuiltinName[21] != 's') + break; + return Intrinsic::x86_sse_rsqrt_ps; // "__builtin_ia32_rsqrtps" + case 's': // 1 string to match. + if (BuiltinName[21] != 's') + break; + return Intrinsic::x86_sse_rsqrt_ss; // "__builtin_ia32_rsqrtss" + } + break; + } + break; + case 'u': // 5 strings to match. + if (memcmp(BuiltinName.data()+16, "comi", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[21] != 'q') + break; + return Intrinsic::x86_sse_ucomieq_ss; // "__builtin_ia32_ucomieq" + case 'g': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse_ucomige_ss; // "__builtin_ia32_ucomige" + case 't': // 1 string to match. + return Intrinsic::x86_sse_ucomigt_ss; // "__builtin_ia32_ucomigt" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse_ucomile_ss; // "__builtin_ia32_ucomile" + case 't': // 1 string to match. + return Intrinsic::x86_sse_ucomilt_ss; // "__builtin_ia32_ucomilt" + } + break; + } + break; + } + break; + case 23: // 102 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ddsubp", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse3_addsub_pd; // "__builtin_ia32_addsubpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse3_addsub_ps; // "__builtin_ia32_addsubps" + } + break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lendvp", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse41_blendvpd; // "__builtin_ia32_blendvpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse41_blendvps; // "__builtin_ia32_blendvps" + } + break; + case 'c': // 23 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "pp", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_cmp_pd_256; // "__builtin_ia32_cmppd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_cmp_ps_256; // "__builtin_ia32_cmpps256" + } + break; + case 'o': // 5 strings to match. + if (memcmp(BuiltinName.data()+17, "misd", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[22] != 'q') + break; + return Intrinsic::x86_sse2_comieq_sd; // "__builtin_ia32_comisdeq" + case 'g': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse2_comige_sd; // "__builtin_ia32_comisdge" + case 't': // 1 string to match. + return Intrinsic::x86_sse2_comigt_sd; // "__builtin_ia32_comisdgt" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse2_comile_sd; // "__builtin_ia32_comisdle" + case 't': // 1 string to match. + return Intrinsic::x86_sse2_comilt_sd; // "__builtin_ia32_comisdlt" + } + break; + } + break; + case 'v': // 16 strings to match. + if (BuiltinName[17] != 't') + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "q2p", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtdq2pd; // "__builtin_ia32_cvtdq2pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse2_cvtdq2ps; // "__builtin_ia32_cvtdq2ps" + } + break; + case 'p': // 8 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 3 strings to match. + if (BuiltinName[20] != '2') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'q') + break; + return Intrinsic::x86_sse2_cvtpd2dq; // "__builtin_ia32_cvtpd2dq" + case 'p': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::x86_sse_cvtpd2pi; // "__builtin_ia32_cvtpd2pi" + case 's': // 1 string to match. + return Intrinsic::x86_sse2_cvtpd2ps; // "__builtin_ia32_cvtpd2ps" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "2p", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse_cvtpi2pd; // "__builtin_ia32_cvtpi2pd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cvtpi2ps; // "__builtin_ia32_cvtpi2ps" + } + break; + case 's': // 3 strings to match. + if (BuiltinName[20] != '2') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'q') + break; + return Intrinsic::x86_sse2_cvtps2dq; // "__builtin_ia32_cvtps2dq" + case 'p': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtps2pd; // "__builtin_ia32_cvtps2pd" + case 'i': // 1 string to match. + return Intrinsic::x86_sse_cvtps2pi; // "__builtin_ia32_cvtps2pi" + } + break; + } + break; + } + break; + case 's': // 6 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "2s", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'i': // 1 string to match. + return Intrinsic::x86_sse2_cvtsd2si; // "__builtin_ia32_cvtsd2si" + case 's': // 1 string to match. + return Intrinsic::x86_sse2_cvtsd2ss; // "__builtin_ia32_cvtsd2ss" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "2s", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtsi2sd; // "__builtin_ia32_cvtsi2sd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cvtsi2ss; // "__builtin_ia32_cvtsi2ss" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "2s", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtss2sd; // "__builtin_ia32_cvtss2sd" + case 'i': // 1 string to match. + return Intrinsic::x86_sse_cvtss2si; // "__builtin_ia32_cvtss2si" + } + break; + } + break; + } + break; + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nsertqi", 7)) + break; + return Intrinsic::x86_sse4a_insertqi; // "__builtin_ia32_insertqi" + case 'k': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "unpckhi", 7)) + break; + return Intrinsic::x86_avx512_kunpck_bw; // "__builtin_ia32_kunpckhi" + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "ddqu256", 7)) + break; + return Intrinsic::x86_avx_ldu_dq_256; // "__builtin_ia32_lddqu256" + case 'm': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 3 strings to match. + switch (BuiltinName[17]) { + default: break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "kmovq", 5)) + break; + return Intrinsic::x86_mmx_maskmovq; // "__builtin_ia32_maskmovq" + case 'x': // 2 strings to match. + if (BuiltinName[18] != 'p') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_max_pd_256; // "__builtin_ia32_maxpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_max_ps_256; // "__builtin_ia32_maxps256" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "np", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_min_pd_256; // "__builtin_ia32_minpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "256", 3)) + break; + return Intrinsic::x86_avx_min_ps_256; // "__builtin_ia32_minps256" + } + break; + case 'o': // 3 strings to match. + if (BuiltinName[17] != 'v') + break; + switch (BuiltinName[18]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "skp", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_movmsk_pd; // "__builtin_ia32_movmskpd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_movmsk_ps; // "__builtin_ia32_movmskps" + } + break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "tdqa", 4)) + break; + return Intrinsic::x86_sse41_movntdqa; // "__builtin_ia32_movntdqa" + } + break; + } + break; + case 'p': // 44 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 13 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'b': // 6 strings to match. + if (BuiltinName[18] != 's') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_ssse3_pabs_b_128; // "__builtin_ia32_pabsb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pabs_b; // "__builtin_ia32_pabsb256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_ssse3_pabs_d_128; // "__builtin_ia32_pabsd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pabs_d; // "__builtin_ia32_pabsd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_ssse3_pabs_w_128; // "__builtin_ia32_pabsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pabs_w; // "__builtin_ia32_pabsw256" + } + break; + } + break; + case 'c': // 3 strings to match. + if (BuiltinName[18] != 'k') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 2 strings to match. + if (BuiltinName[20] != 's') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'w') + break; + return Intrinsic::x86_mmx_packssdw; // "__builtin_ia32_packssdw" + case 'w': // 1 string to match. + if (BuiltinName[22] != 'b') + break; + return Intrinsic::x86_mmx_packsswb; // "__builtin_ia32_packsswb" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "swb", 3)) + break; + return Intrinsic::x86_mmx_packuswb; // "__builtin_ia32_packuswb" + } + break; + case 'v': // 4 strings to match. + if (BuiltinName[18] != 'g') + break; + switch (BuiltinName[19]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_pavg_b; // "__builtin_ia32_pavgb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pavg_b; // "__builtin_ia32_pavgb256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_pavg_w; // "__builtin_ia32_pavgw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_pavg_w; // "__builtin_ia32_pavgw256" + } + break; + } + break; + } + break; + case 'f': // 3 strings to match. + if (BuiltinName[17] != 'r') + break; + switch (BuiltinName[18]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "pit", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_3dnow_pfrcpit1; // "__builtin_ia32_pfrcpit1" + case '2': // 1 string to match. + return Intrinsic::x86_3dnow_pfrcpit2; // "__builtin_ia32_pfrcpit2" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "qit1", 4)) + break; + return Intrinsic::x86_3dnow_pfrsqit1; // "__builtin_ia32_pfrsqit1" + } + break; + case 'm': // 2 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "vmskb", 5)) + break; + return Intrinsic::x86_mmx_pmovmskb; // "__builtin_ia32_pmovmskb" + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "lhrsw", 5)) + break; + return Intrinsic::x86_ssse3_pmul_hr_sw; // "__builtin_ia32_pmulhrsw" + } + break; + case 's': // 26 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 10 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psll_d; // "__builtin_ia32_pslld128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psll_d; // "__builtin_ia32_pslld256" + } + break; + case 'q': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psll_q; // "__builtin_ia32_psllq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psll_q; // "__builtin_ia32_psllq256" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "di", 2)) + break; + return Intrinsic::x86_avx2_psllv_q; // "__builtin_ia32_psllv2di" + case '4': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'i') + break; + return Intrinsic::x86_avx2_psllv_q_256; // "__builtin_ia32_psllv4di" + case 's': // 1 string to match. + if (BuiltinName[22] != 'i') + break; + return Intrinsic::x86_avx2_psllv_d; // "__builtin_ia32_psllv4si" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "si", 2)) + break; + return Intrinsic::x86_avx2_psllv_d_256; // "__builtin_ia32_psllv8si" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psll_w; // "__builtin_ia32_psllw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psll_w; // "__builtin_ia32_psllw256" + } + break; + } + break; + case 'r': // 16 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 6 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psra_d; // "__builtin_ia32_psrad128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psra_d; // "__builtin_ia32_psrad256" + } + break; + case 'v': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '4': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "si", 2)) + break; + return Intrinsic::x86_avx2_psrav_d; // "__builtin_ia32_psrav4si" + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "si", 2)) + break; + return Intrinsic::x86_avx2_psrav_d_256; // "__builtin_ia32_psrav8si" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psra_w; // "__builtin_ia32_psraw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psra_w; // "__builtin_ia32_psraw256" + } + break; + } + break; + case 'l': // 10 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psrl_d; // "__builtin_ia32_psrld128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psrl_d; // "__builtin_ia32_psrld256" + } + break; + case 'q': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psrl_q; // "__builtin_ia32_psrlq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psrl_q; // "__builtin_ia32_psrlq256" + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "di", 2)) + break; + return Intrinsic::x86_avx2_psrlv_q; // "__builtin_ia32_psrlv2di" + case '4': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[22] != 'i') + break; + return Intrinsic::x86_avx2_psrlv_q_256; // "__builtin_ia32_psrlv4di" + case 's': // 1 string to match. + if (BuiltinName[22] != 'i') + break; + return Intrinsic::x86_avx2_psrlv_d; // "__builtin_ia32_psrlv4si" + } + break; + case '8': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "si", 2)) + break; + return Intrinsic::x86_avx2_psrlv_d_256; // "__builtin_ia32_psrlv8si" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "28", 2)) + break; + return Intrinsic::x86_sse2_psrl_w; // "__builtin_ia32_psrlw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "56", 2)) + break; + return Intrinsic::x86_avx2_psrl_w; // "__builtin_ia32_psrlw256" + } + break; + } + break; + } + break; + } + break; + } + break; + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "cpps256", 7)) + break; + return Intrinsic::x86_avx_rcp_ps_256; // "__builtin_ia32_rcpps256" + case 's': // 5 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "a1msg", 5)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_sha1msg1; // "__builtin_ia32_sha1msg1" + case '2': // 1 string to match. + return Intrinsic::x86_sha1msg2; // "__builtin_ia32_sha1msg2" + } + break; + case 't': // 3 strings to match. + if (memcmp(BuiltinName.data()+17, "ore", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "qu", 2)) + break; + return Intrinsic::x86_sse2_storeu_dq; // "__builtin_ia32_storedqu" + case 'u': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_storeu_pd; // "__builtin_ia32_storeupd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_storeu_ps; // "__builtin_ia32_storeups" + } + break; + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "comineq", 7)) + break; + return Intrinsic::x86_sse_ucomineq_ss; // "__builtin_ia32_ucomineq" + case 'v': // 13 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'f': // 8 strings to match. + if (BuiltinName[17] != 'm') + break; + switch (BuiltinName[18]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "dd", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_pd; // "__builtin_ia32_vfmaddpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_ps; // "__builtin_ia32_vfmaddps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_sd; // "__builtin_ia32_vfmaddsd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmadd_ss; // "__builtin_ia32_vfmaddss" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "ub", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_pd; // "__builtin_ia32_vfmsubpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_ps; // "__builtin_ia32_vfmsubps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_sd; // "__builtin_ia32_vfmsubsd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsub_ss; // "__builtin_ia32_vfmsubss" + } + break; + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "est", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'c': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestc_pd; // "__builtin_ia32_vtestcpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestc_ps; // "__builtin_ia32_vtestcps" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestz_pd; // "__builtin_ia32_vtestzpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestz_ps; // "__builtin_ia32_vtestzps" + } + break; + } + break; + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "eroall", 6)) + break; + return Intrinsic::x86_avx_vzeroall; // "__builtin_ia32_vzeroall" + } + break; + } + break; + case 24: // 131 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "es", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "ec128", 5)) + break; + return Intrinsic::x86_aesni_aesdec; // "__builtin_ia32_aesdec128" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "nc128", 5)) + break; + return Intrinsic::x86_aesni_aesenc; // "__builtin_ia32_aesenc128" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "mc128", 5)) + break; + return Intrinsic::x86_aesni_aesimc; // "__builtin_ia32_aesimc128" + } + break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "extr_u", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[23] != '2') + break; + return Intrinsic::x86_bmi_bextr_32; // "__builtin_ia32_bextr_u32" + case '6': // 1 string to match. + if (BuiltinName[23] != '4') + break; + return Intrinsic::x86_bmi_bextr_64; // "__builtin_ia32_bextr_u64" + } + break; + case 'c': // 11 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "misdneq", 7)) + break; + return Intrinsic::x86_sse2_comineq_sd; // "__builtin_ia32_comisdneq" + case 'v': // 10 strings to match. + if (BuiltinName[17] != 't') + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvtsd2usi; // "__builtin_ia32_cvtsd2usi" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvtss2usi; // "__builtin_ia32_cvtss2usi" + } + break; + case 't': // 6 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'p': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[21] != '2') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_sse2_cvttpd2dq; // "__builtin_ia32_cvttpd2dq" + case 'p': // 1 string to match. + if (BuiltinName[23] != 'i') + break; + return Intrinsic::x86_sse_cvttpd2pi; // "__builtin_ia32_cvttpd2pi" + } + break; + case 's': // 2 strings to match. + if (BuiltinName[21] != '2') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_sse2_cvttps2dq; // "__builtin_ia32_cvttps2dq" + case 'p': // 1 string to match. + if (BuiltinName[23] != 'i') + break; + return Intrinsic::x86_sse_cvttps2pi; // "__builtin_ia32_cvttps2pi" + } + break; + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2si", 3)) + break; + return Intrinsic::x86_sse2_cvttsd2si; // "__builtin_ia32_cvttsd2si" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2si", 3)) + break; + return Intrinsic::x86_sse_cvttss2si; // "__builtin_ia32_cvttss2si" + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "si2s", 4)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi2sd; // "__builtin_ia32_cvtusi2sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi2ss; // "__builtin_ia32_cvtusi2ss" + } + break; + } + break; + } + break; + case 'g': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "ather", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[22] != '_') + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_d; // "__builtin_ia32_gatherd_d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_q; // "__builtin_ia32_gatherd_q" + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[22] != '_') + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_d; // "__builtin_ia32_gatherq_d" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_q; // "__builtin_ia32_gatherq_q" + } + break; + } + break; + case 'h': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ddp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "256", 3)) + break; + return Intrinsic::x86_avx_hadd_pd_256; // "__builtin_ia32_haddpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "256", 3)) + break; + return Intrinsic::x86_avx_hadd_ps_256; // "__builtin_ia32_haddps256" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ubp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "256", 3)) + break; + return Intrinsic::x86_avx_hsub_pd_256; // "__builtin_ia32_hsubpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "256", 3)) + break; + return Intrinsic::x86_avx_hsub_ps_256; // "__builtin_ia32_hsubps256" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "askload", 7)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_maskload_d; // "__builtin_ia32_maskloadd" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_maskload_q; // "__builtin_ia32_maskloadq" + } + break; + case 'p': // 82 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "dds", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_padds_b; // "__builtin_ia32_paddsb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_padds_b; // "__builtin_ia32_paddsb256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_padds_w; // "__builtin_ia32_paddsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_padds_w; // "__builtin_ia32_paddsw256" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "rmti256", 7)) + break; + return Intrinsic::x86_avx2_vperm2i128; // "__builtin_ia32_permti256" + case 'h': // 8 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "dd", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_phadd_d_128; // "__builtin_ia32_phaddd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_phadd_d; // "__builtin_ia32_phaddd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_phadd_w_128; // "__builtin_ia32_phaddw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_phadd_w; // "__builtin_ia32_phaddw256" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "ub", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_phsub_d_128; // "__builtin_ia32_phsubd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_phsub_d; // "__builtin_ia32_phsubd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_phsub_w_128; // "__builtin_ia32_phsubw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_phsub_w; // "__builtin_ia32_phsubw256" + } + break; + } + break; + } + break; + case 'm': // 29 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 13 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "dubsw", 5)) + break; + return Intrinsic::x86_ssse3_pmadd_ub_sw; // "__builtin_ia32_pmaddubsw" + case 'x': // 12 strings to match. + switch (BuiltinName[19]) { + default: break; + case 's': // 6 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pmaxsb; // "__builtin_ia32_pmaxsb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxs_b; // "__builtin_ia32_pmaxsb256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pmaxsd; // "__builtin_ia32_pmaxsd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxs_d; // "__builtin_ia32_pmaxsd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pmaxs_w; // "__builtin_ia32_pmaxsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxs_w; // "__builtin_ia32_pmaxsw256" + } + break; + } + break; + case 'u': // 6 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pmaxu_b; // "__builtin_ia32_pmaxub128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxu_b; // "__builtin_ia32_pmaxub256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pmaxud; // "__builtin_ia32_pmaxud128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxu_d; // "__builtin_ia32_pmaxud256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pmaxuw; // "__builtin_ia32_pmaxuw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmaxu_w; // "__builtin_ia32_pmaxuw256" + } + break; + } + break; + } + break; + } + break; + case 'i': // 12 strings to match. + if (BuiltinName[18] != 'n') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 6 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pminsb; // "__builtin_ia32_pminsb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmins_b; // "__builtin_ia32_pminsb256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pminsd; // "__builtin_ia32_pminsd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmins_d; // "__builtin_ia32_pminsd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pmins_w; // "__builtin_ia32_pminsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmins_w; // "__builtin_ia32_pminsw256" + } + break; + } + break; + case 'u': // 6 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pminu_b; // "__builtin_ia32_pminub128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pminu_b; // "__builtin_ia32_pminub256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pminud; // "__builtin_ia32_pminud128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pminu_d; // "__builtin_ia32_pminud256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pminuw; // "__builtin_ia32_pminuw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pminu_w; // "__builtin_ia32_pminuw256" + } + break; + } + break; + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != 'q') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_pmuldq; // "__builtin_ia32_pmuldq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmul_dq; // "__builtin_ia32_pmuldq256" + } + break; + case 'h': // 2 strings to match. + if (BuiltinName[20] != 'w') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pmulh_w; // "__builtin_ia32_pmulhw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pmulh_w; // "__builtin_ia32_pmulhw256" + } + break; + } + break; + } + break; + case 's': // 30 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "dbw", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psad_bw; // "__builtin_ia32_psadbw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psad_bw; // "__builtin_ia32_psadbw256" + } + break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "ufb", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_pshuf_b_128; // "__builtin_ia32_pshufb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pshuf_b; // "__builtin_ia32_pshufb256" + } + break; + case 'i': // 6 strings to match. + if (memcmp(BuiltinName.data()+18, "gn", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_psign_b_128; // "__builtin_ia32_psignb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psign_b; // "__builtin_ia32_psignb256" + } + break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_psign_d_128; // "__builtin_ia32_psignd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psign_d; // "__builtin_ia32_psignd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_ssse3_psign_w_128; // "__builtin_ia32_psignw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psign_w; // "__builtin_ia32_psignw256" + } + break; + } + break; + case 'l': // 6 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pslli_d; // "__builtin_ia32_pslldi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pslli_d; // "__builtin_ia32_pslldi256" + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pslli_q; // "__builtin_ia32_psllqi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pslli_q; // "__builtin_ia32_psllqi256" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_pslli_w; // "__builtin_ia32_psllwi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_pslli_w; // "__builtin_ia32_psllwi256" + } + break; + } + break; + case 'r': // 10 strings to match. + switch (BuiltinName[18]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psrai_d; // "__builtin_ia32_psradi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psrai_d; // "__builtin_ia32_psradi256" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psrai_w; // "__builtin_ia32_psrawi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psrai_w; // "__builtin_ia32_psrawi256" + } + break; + } + break; + case 'l': // 6 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psrli_d; // "__builtin_ia32_psrldi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psrli_d; // "__builtin_ia32_psrldi256" + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psrli_q; // "__builtin_ia32_psrlqi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psrli_q; // "__builtin_ia32_psrlqi256" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[20] != 'i') + break; + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psrli_w; // "__builtin_ia32_psrlwi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psrli_w; // "__builtin_ia32_psrlwi256" + } + break; + } + break; + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "bs", 2)) + break; + switch (BuiltinName[20]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psubs_b; // "__builtin_ia32_psubsb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psubs_b; // "__builtin_ia32_psubsb256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse2_psubs_w; // "__builtin_ia32_psubsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx2_psubs_w; // "__builtin_ia32_psubsw256" + } + break; + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "est", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'c': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_ptestc; // "__builtin_ia32_ptestc128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx_ptestc_256; // "__builtin_ia32_ptestc256" + } + break; + case 'z': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "28", 2)) + break; + return Intrinsic::x86_sse41_ptestz; // "__builtin_ia32_ptestz128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx_ptestz_256; // "__builtin_ia32_ptestz256" + } + break; + } + break; + case 'u': // 6 strings to match. + if (memcmp(BuiltinName.data()+17, "npck", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'h': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[23] != 'w') + break; + return Intrinsic::x86_mmx_punpckhbw; // "__builtin_ia32_punpckhbw" + case 'd': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_mmx_punpckhdq; // "__builtin_ia32_punpckhdq" + case 'w': // 1 string to match. + if (BuiltinName[23] != 'd') + break; + return Intrinsic::x86_mmx_punpckhwd; // "__builtin_ia32_punpckhwd" + } + break; + case 'l': // 3 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'b': // 1 string to match. + if (BuiltinName[23] != 'w') + break; + return Intrinsic::x86_mmx_punpcklbw; // "__builtin_ia32_punpcklbw" + case 'd': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_mmx_punpckldq; // "__builtin_ia32_punpckldq" + case 'w': // 1 string to match. + if (BuiltinName[23] != 'd') + break; + return Intrinsic::x86_mmx_punpcklwd; // "__builtin_ia32_punpcklwd" + } + break; + } + break; + } + break; + case 's': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "a1", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'n': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "exte", 4)) + break; + return Intrinsic::x86_sha1nexte; // "__builtin_ia32_sha1nexte" + case 'r': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "nds4", 4)) + break; + return Intrinsic::x86_sha1rnds4; // "__builtin_ia32_sha1rnds4" + } + break; + case 'q': // 6 strings to match. + if (memcmp(BuiltinName.data()+17, "rt", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'p': // 4 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx_sqrt_pd_256; // "__builtin_ia32_sqrtpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "12", 2)) + break; + return Intrinsic::x86_avx512_sqrt_pd_512; // "__builtin_ia32_sqrtpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "56", 2)) + break; + return Intrinsic::x86_avx_sqrt_ps_256; // "__builtin_ia32_sqrtps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "12", 2)) + break; + return Intrinsic::x86_avx512_sqrt_ps_512; // "__builtin_ia32_sqrtps512" + } + break; + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "nds", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_sqrt_sd; // "__builtin_ia32_sqrtrndsd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_sqrt_ss; // "__builtin_ia32_sqrtrndss" + } + break; + } + break; + } + break; + case 'u': // 5 strings to match. + if (memcmp(BuiltinName.data()+16, "comisd", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'e': // 1 string to match. + if (BuiltinName[23] != 'q') + break; + return Intrinsic::x86_sse2_ucomieq_sd; // "__builtin_ia32_ucomisdeq" + case 'g': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse2_ucomige_sd; // "__builtin_ia32_ucomisdge" + case 't': // 1 string to match. + return Intrinsic::x86_sse2_ucomigt_sd; // "__builtin_ia32_ucomisdgt" + } + break; + case 'l': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'e': // 1 string to match. + return Intrinsic::x86_sse2_ucomile_sd; // "__builtin_ia32_ucomisdle" + case 't': // 1 string to match. + return Intrinsic::x86_sse2_ucomilt_sd; // "__builtin_ia32_ucomisdlt" + } + break; + } + break; + case 'v': // 10 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "vtp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ps", 3)) + break; + return Intrinsic::x86_vcvtph2ps_128; // "__builtin_ia32_vcvtph2ps" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ph", 3)) + break; + return Intrinsic::x86_vcvtps2ph_128; // "__builtin_ia32_vcvtps2ph" + } + break; + case 'f': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "nm", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "dd", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_pd; // "__builtin_ia32_vfnmaddpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_ps; // "__builtin_ia32_vfnmaddps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_sd; // "__builtin_ia32_vfnmaddsd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmadd_ss; // "__builtin_ia32_vfnmaddss" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "ub", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_pd; // "__builtin_ia32_vfnmsubpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_ps; // "__builtin_ia32_vfnmsubps" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_sd; // "__builtin_ia32_vfnmsubsd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfnmsub_ss; // "__builtin_ia32_vfnmsubss" + } + break; + } + break; + } + break; + } + break; + } + break; + case 25: // 73 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'b': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "xtri_u", 6)) + break; + switch (BuiltinName[23]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[24] != '2') + break; + return Intrinsic::x86_tbm_bextri_u32; // "__builtin_ia32_bextri_u32" + case '6': // 1 string to match. + if (BuiltinName[24] != '4') + break; + return Intrinsic::x86_tbm_bextri_u64; // "__builtin_ia32_bextri_u64" + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "endp", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_avx_blend_pd_256; // "__builtin_ia32_blendpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_avx_blend_ps_256; // "__builtin_ia32_blendps256" + } + break; + } + break; + case 'c': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "vt", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 's': // 4 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2si64", 5)) + break; + return Intrinsic::x86_sse2_cvtsd2si64; // "__builtin_ia32_cvtsd2si64" + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "642s", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_sse2_cvtsi642sd; // "__builtin_ia32_cvtsi642sd" + case 's': // 1 string to match. + return Intrinsic::x86_sse_cvtsi642ss; // "__builtin_ia32_cvtsi642ss" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2si64", 5)) + break; + return Intrinsic::x86_sse_cvtss2si64; // "__builtin_ia32_cvtss2si64" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[19] != 's') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvttsd2usi; // "__builtin_ia32_cvttsd2usi" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2usi", 4)) + break; + return Intrinsic::x86_avx512_cvttss2usi; // "__builtin_ia32_cvttss2usi" + } + break; + } + break; + case 'g': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "ather", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "_p", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_pd; // "__builtin_ia32_gatherd_pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx2_gather_d_ps; // "__builtin_ia32_gatherd_ps" + } + break; + case 'q': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "_p", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_pd; // "__builtin_ia32_gatherq_pd" + case 's': // 1 string to match. + return Intrinsic::x86_avx2_gather_q_ps; // "__builtin_ia32_gatherq_ps" + } + break; + } + break; + case 'k': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ortest", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "hi", 2)) + break; + return Intrinsic::x86_avx512_kortestc_w; // "__builtin_ia32_kortestchi" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "hi", 2)) + break; + return Intrinsic::x86_avx512_kortestz_w; // "__builtin_ia32_kortestzhi" + } + break; + case 'm': // 7 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 5 strings to match. + if (memcmp(BuiltinName.data()+17, "sk", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "oadp", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_maskload_pd; // "__builtin_ia32_maskloadpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_maskload_ps; // "__builtin_ia32_maskloadps" + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "ovdqu", 5)) + break; + return Intrinsic::x86_sse2_maskmov_dqu; // "__builtin_ia32_maskmovdqu" + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "tore", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx2_maskstore_d; // "__builtin_ia32_maskstored" + case 'q': // 1 string to match. + return Intrinsic::x86_avx2_maskstore_q; // "__builtin_ia32_maskstoreq" + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "sadbw", 5)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse41_mpsadbw; // "__builtin_ia32_mpsadbw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_mpsadbw; // "__builtin_ia32_mpsadbw256" + } + break; + } + break; + case 'p': // 30 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "ddus", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_paddus_b; // "__builtin_ia32_paddusb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_paddus_b; // "__builtin_ia32_paddusb256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_paddus_w; // "__builtin_ia32_paddusw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_paddus_w; // "__builtin_ia32_paddusw256" + } + break; + } + break; + case 'b': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "lend", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_avx2_pblendd_128; // "__builtin_ia32_pblendd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_pblendd_256; // "__builtin_ia32_pblendd256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse41_pblendw; // "__builtin_ia32_pblendw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_pblendw; // "__builtin_ia32_pblendw256" + } + break; + } + break; + case 'h': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "ddsw", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_ssse3_phadd_sw_128; // "__builtin_ia32_phaddsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_phadd_sw; // "__builtin_ia32_phaddsw256" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "ubsw", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_ssse3_phsub_sw_128; // "__builtin_ia32_phsubsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_phsub_sw; // "__builtin_ia32_phsubsw256" + } + break; + } + break; + case 'm': // 6 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "ddwd", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_pmadd_wd; // "__builtin_ia32_pmaddwd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_pmadd_wd; // "__builtin_ia32_pmaddwd256" + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[18] != 'l') + break; + switch (BuiltinName[19]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "uw", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_pmulhu_w; // "__builtin_ia32_pmulhuw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_pmulhu_w; // "__builtin_ia32_pmulhuw256" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "dq", 2)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_pmulu_dq; // "__builtin_ia32_pmuludq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_pmulu_dq; // "__builtin_ia32_pmuludq256" + } + break; + } + break; + } + break; + case 's': // 10 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "ldqi", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_psll_dq; // "__builtin_ia32_pslldqi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_psll_dq; // "__builtin_ia32_pslldqi256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "12", 2)) + break; + return Intrinsic::x86_avx512_psll_dq; // "__builtin_ia32_pslldqi512" + } + break; + case 'r': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "ldqi", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_psrl_dq; // "__builtin_ia32_psrldqi128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_psrl_dq; // "__builtin_ia32_psrldqi256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "12", 2)) + break; + return Intrinsic::x86_avx512_psrl_dq; // "__builtin_ia32_psrldqi512" + } + break; + case 'u': // 4 strings to match. + if (memcmp(BuiltinName.data()+18, "bus", 3)) + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_psubus_b; // "__builtin_ia32_psubusb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_psubus_b; // "__builtin_ia32_psubusb256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28", 2)) + break; + return Intrinsic::x86_sse2_psubus_w; // "__builtin_ia32_psubusw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56", 2)) + break; + return Intrinsic::x86_avx2_psubus_w; // "__builtin_ia32_psubusw256" + } + break; + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "estm", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512", 3)) + break; + return Intrinsic::x86_avx512_mask_ptestm_d_512; // "__builtin_ia32_ptestmd512" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512", 3)) + break; + return Intrinsic::x86_avx512_mask_ptestm_q_512; // "__builtin_ia32_ptestmq512" + } + break; + } + break; + case 'r': // 9 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'd': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "sbase", 5)) + break; + switch (BuiltinName[23]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[24] != '2') + break; + return Intrinsic::x86_rdfsbase_32; // "__builtin_ia32_rdfsbase32" + case '6': // 1 string to match. + if (BuiltinName[24] != '4') + break; + return Intrinsic::x86_rdfsbase_64; // "__builtin_ia32_rdfsbase64" + } + break; + case 'g': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "sbase", 5)) + break; + switch (BuiltinName[23]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[24] != '2') + break; + return Intrinsic::x86_rdgsbase_32; // "__builtin_ia32_rdgsbase32" + case '6': // 1 string to match. + if (BuiltinName[24] != '4') + break; + return Intrinsic::x86_rdgsbase_64; // "__builtin_ia32_rdgsbase64" + } + break; + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "dscales", 7)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_rndscale_sd; // "__builtin_ia32_rndscalesd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_rndscale_ss; // "__builtin_ia32_rndscaless" + } + break; + case 'o': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "undp", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_avx_round_pd_256; // "__builtin_ia32_roundpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "256", 3)) + break; + return Intrinsic::x86_avx_round_ps_256; // "__builtin_ia32_roundps256" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "qrtps256", 8)) + break; + return Intrinsic::x86_avx_rsqrt_ps_256; // "__builtin_ia32_rsqrtps256" + } + break; + case 's': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "a256msg", 7)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + return Intrinsic::x86_sha256msg1; // "__builtin_ia32_sha256msg1" + case '2': // 1 string to match. + return Intrinsic::x86_sha256msg2; // "__builtin_ia32_sha256msg2" + } + break; + case 't': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "orelv4si", 8)) + break; + return Intrinsic::x86_sse2_storel_dq; // "__builtin_ia32_storelv4si" + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "comisdneq", 9)) + break; + return Intrinsic::x86_sse2_ucomineq_sd; // "__builtin_ia32_ucomisdneq" + case 'v': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "estnzcp", 7)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vtestnzc_pd; // "__builtin_ia32_vtestnzcpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vtestnzc_ps; // "__builtin_ia32_vtestnzcps" + } + break; + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "eroupper", 8)) + break; + return Intrinsic::x86_avx_vzeroupper; // "__builtin_ia32_vzeroupper" + } + break; + case 'w': // 4 strings to match. + if (BuiltinName[16] != 'r') + break; + switch (BuiltinName[17]) { + default: break; + case 'f': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "sbase", 5)) + break; + switch (BuiltinName[23]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[24] != '2') + break; + return Intrinsic::x86_wrfsbase_32; // "__builtin_ia32_wrfsbase32" + case '6': // 1 string to match. + if (BuiltinName[24] != '4') + break; + return Intrinsic::x86_wrfsbase_64; // "__builtin_ia32_wrfsbase64" + } + break; + case 'g': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "sbase", 5)) + break; + switch (BuiltinName[23]) { + default: break; + case '3': // 1 string to match. + if (BuiltinName[24] != '2') + break; + return Intrinsic::x86_wrgsbase_32; // "__builtin_ia32_wrgsbase32" + case '6': // 1 string to match. + if (BuiltinName[24] != '4') + break; + return Intrinsic::x86_wrgsbase_64; // "__builtin_ia32_wrgsbase64" + } + break; + } + break; + } + break; + case 26: // 92 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "ddsubp", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_addsub_pd_256; // "__builtin_ia32_addsubpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_addsub_ps_256; // "__builtin_ia32_addsubps256" + } + break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lendvp", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_blendv_pd_256; // "__builtin_ia32_blendvpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_blendv_ps_256; // "__builtin_ia32_blendvps256" + } + break; + case 'c': // 12 strings to match. + if (memcmp(BuiltinName.data()+16, "vt", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "q2p", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_cvtdq2_pd_256; // "__builtin_ia32_cvtdq2pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_cvtdq2_ps_256; // "__builtin_ia32_cvtdq2ps256" + } + break; + case 'p': // 4 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != '2') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "q256", 4)) + break; + return Intrinsic::x86_avx_cvt_pd2dq_256; // "__builtin_ia32_cvtpd2dq256" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "s256", 4)) + break; + return Intrinsic::x86_avx_cvt_pd2_ps_256; // "__builtin_ia32_cvtpd2ps256" + } + break; + case 's': // 2 strings to match. + if (BuiltinName[20] != '2') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "q256", 4)) + break; + return Intrinsic::x86_avx_cvt_ps2dq_256; // "__builtin_ia32_cvtps2dq256" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "d256", 4)) + break; + return Intrinsic::x86_avx_cvt_ps2_pd_256; // "__builtin_ia32_cvtps2pd256" + } + break; + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvtsd2usi64; // "__builtin_ia32_cvtsd2usi64" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvtss2usi64; // "__builtin_ia32_cvtss2usi64" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[19] != 's') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2si64", 5)) + break; + return Intrinsic::x86_sse2_cvttsd2si64; // "__builtin_ia32_cvttsd2si64" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2si64", 5)) + break; + return Intrinsic::x86_sse_cvttss2si64; // "__builtin_ia32_cvttss2si64" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "si642s", 6)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi642sd; // "__builtin_ia32_cvtusi642sd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_cvtusi642ss; // "__builtin_ia32_cvtusi642ss" + } + break; + } + break; + case 'g': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "atherpf", 7)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[24] != 'p') + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_gatherpf_dpd_512; // "__builtin_ia32_gatherpfdpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_gatherpf_dps_512; // "__builtin_ia32_gatherpfdps" + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[24] != 'p') + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_gatherpf_qpd_512; // "__builtin_ia32_gatherpfqpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_gatherpf_qps_512; // "__builtin_ia32_gatherpfqps" + } + break; + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nsertps128", 10)) + break; + return Intrinsic::x86_sse41_insertps; // "__builtin_ia32_insertps128" + case 'm': // 6 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "skstorep", 8)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_maskstore_pd; // "__builtin_ia32_maskstorepd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_maskstore_ps; // "__builtin_ia32_maskstoreps" + } + break; + case 'o': // 4 strings to match. + if (BuiltinName[17] != 'v') + break; + switch (BuiltinName[18]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "skp", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_movmsk_pd_256; // "__builtin_ia32_movmskpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_movmsk_ps_256; // "__builtin_ia32_movmskps256" + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "tdqa", 4)) + break; + switch (BuiltinName[23]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_movntdqa; // "__builtin_ia32_movntdqa256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_movntdqa; // "__builtin_ia32_movntdqa512" + } + break; + } + break; + } + break; + case 'p': // 45 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "ck", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[20] != 's') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[22] != 'w') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse2_packssdw_128; // "__builtin_ia32_packssdw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_packssdw; // "__builtin_ia32_packssdw256" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[22] != 'b') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse2_packsswb_128; // "__builtin_ia32_packsswb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_packsswb; // "__builtin_ia32_packsswb256" + } + break; + } + break; + case 'u': // 4 strings to match. + if (BuiltinName[20] != 's') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[22] != 'w') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_packusdw; // "__builtin_ia32_packusdw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_packusdw; // "__builtin_ia32_packusdw256" + } + break; + case 'w': // 2 strings to match. + if (BuiltinName[22] != 'b') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse2_packuswb_128; // "__builtin_ia32_packuswb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_packuswb; // "__builtin_ia32_packuswb256" + } + break; + } + break; + } + break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "lendvb", 6)) + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pblendvb; // "__builtin_ia32_pblendvb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pblendvb; // "__builtin_ia32_pblendvb256" + } + break; + case 'm': // 33 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'o': // 31 strings to match. + if (BuiltinName[18] != 'v') + break; + switch (BuiltinName[19]) { + default: break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "skb", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse2_pmovmskb_128; // "__builtin_ia32_pmovmskb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovmskb; // "__builtin_ia32_pmovmskb256" + } + break; + case 's': // 12 strings to match. + if (BuiltinName[20] != 'x') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 6 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxbd; // "__builtin_ia32_pmovsxbd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxbd; // "__builtin_ia32_pmovsxbd256" + } + break; + case 'q': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxbq; // "__builtin_ia32_pmovsxbq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxbq; // "__builtin_ia32_pmovsxbq256" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxbw; // "__builtin_ia32_pmovsxbw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxbw; // "__builtin_ia32_pmovsxbw256" + } + break; + } + break; + case 'd': // 2 strings to match. + if (BuiltinName[22] != 'q') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxdq; // "__builtin_ia32_pmovsxdq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxdq; // "__builtin_ia32_pmovsxdq256" + } + break; + case 'w': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxwd; // "__builtin_ia32_pmovsxwd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxwd; // "__builtin_ia32_pmovsxwd256" + } + break; + case 'q': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovsxwq; // "__builtin_ia32_pmovsxwq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovsxwq; // "__builtin_ia32_pmovsxwq256" + } + break; + } + break; + } + break; + case 'z': // 17 strings to match. + if (BuiltinName[20] != 'x') + break; + switch (BuiltinName[21]) { + default: break; + case 'b': // 8 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxbd; // "__builtin_ia32_pmovzxbd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxbd; // "__builtin_ia32_pmovzxbd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_pmovzxbd; // "__builtin_ia32_pmovzxbd512" + } + break; + case 'q': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxbq; // "__builtin_ia32_pmovzxbq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxbq; // "__builtin_ia32_pmovzxbq256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_pmovzxbq; // "__builtin_ia32_pmovzxbq512" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxbw; // "__builtin_ia32_pmovzxbw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxbw; // "__builtin_ia32_pmovzxbw256" + } + break; + } + break; + case 'd': // 3 strings to match. + if (BuiltinName[22] != 'q') + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxdq; // "__builtin_ia32_pmovzxdq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxdq; // "__builtin_ia32_pmovzxdq256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_pmovzxdq; // "__builtin_ia32_pmovzxdq512" + } + break; + case 'w': // 6 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxwd; // "__builtin_ia32_pmovzxwd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxwd; // "__builtin_ia32_pmovzxwd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_pmovzxwd; // "__builtin_ia32_pmovzxwd512" + } + break; + case 'q': // 3 strings to match. + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_pmovzxwq; // "__builtin_ia32_pmovzxwq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmovzxwq; // "__builtin_ia32_pmovzxwq256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_avx512_pmovzxwq; // "__builtin_ia32_pmovzxwq512" + } + break; + } + break; + } + break; + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+18, "lhrsw", 5)) + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_ssse3_pmul_hr_sw_128; // "__builtin_ia32_pmulhrsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx2_pmul_hr_sw; // "__builtin_ia32_pmulhrsw256" + } + break; + } + break; + case 't': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "estnzc", 6)) + break; + switch (BuiltinName[23]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "28", 2)) + break; + return Intrinsic::x86_sse41_ptestnzc; // "__builtin_ia32_ptestnzc128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_avx_ptestnzc_256; // "__builtin_ia32_ptestnzc256" + } + break; + } + break; + case 's': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "a256rnds2", 9)) + break; + return Intrinsic::x86_sha256rnds2; // "__builtin_ia32_sha256rnds2" + case 't': // 3 strings to match. + if (memcmp(BuiltinName.data()+17, "ore", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "qu256", 5)) + break; + return Intrinsic::x86_avx_storeu_dq_256; // "__builtin_ia32_storedqu256" + case 'u': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_storeu_pd_256; // "__builtin_ia32_storeupd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_storeu_ps_256; // "__builtin_ia32_storeups256" + } + break; + } + break; + } + break; + case 'v': // 16 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'f': // 12 strings to match. + if (BuiltinName[17] != 'm') + break; + switch (BuiltinName[18]) { + default: break; + case 'a': // 6 strings to match. + if (memcmp(BuiltinName.data()+19, "dd", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'p': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_fma_vfmadd_pd_256; // "__builtin_ia32_vfmaddpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_fma_vfmadd_pd_512; // "__builtin_ia32_vfmaddpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_fma_vfmadd_ps_256; // "__builtin_ia32_vfmaddps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_fma_vfmadd_ps_512; // "__builtin_ia32_vfmaddps512" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ubp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmaddsub_pd; // "__builtin_ia32_vfmaddsubpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmaddsub_ps; // "__builtin_ia32_vfmaddsubps" + } + break; + } + break; + case 's': // 6 strings to match. + if (memcmp(BuiltinName.data()+19, "ub", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "ddp", 3)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_fma_vfmsubadd_pd; // "__builtin_ia32_vfmsubaddpd" + case 's': // 1 string to match. + return Intrinsic::x86_fma_vfmsubadd_ps; // "__builtin_ia32_vfmsubaddps" + } + break; + case 'p': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsub_pd_256; // "__builtin_ia32_vfmsubpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsub_pd_512; // "__builtin_ia32_vfmsubpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsub_ps_256; // "__builtin_ia32_vfmsubps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsub_ps_512; // "__builtin_ia32_vfmsubps512" + } + break; + } + break; + } + break; + } + break; + case 't': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "est", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'c': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_vtestc_pd_256; // "__builtin_ia32_vtestcpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_vtestc_ps_256; // "__builtin_ia32_vtestcps256" + } + break; + case 'z': // 2 strings to match. + if (BuiltinName[21] != 'p') + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_vtestz_pd_256; // "__builtin_ia32_vtestzpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "256", 3)) + break; + return Intrinsic::x86_avx_vtestz_ps_256; // "__builtin_ia32_vtestzps256" + } + break; + } + break; + } + break; + } + break; + case 27: // 48 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'c': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "vtt", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2dq256", 6)) + break; + return Intrinsic::x86_avx_cvtt_pd2dq_256; // "__builtin_ia32_cvttpd2dq256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2dq256", 6)) + break; + return Intrinsic::x86_avx_cvtt_ps2dq_256; // "__builtin_ia32_cvttps2dq256" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvttsd2usi64; // "__builtin_ia32_cvttsd2usi64" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2usi64", 6)) + break; + return Intrinsic::x86_avx512_cvttss2usi64; // "__builtin_ia32_cvttss2usi64" + } + break; + } + break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtractps128", 11)) + break; + return Intrinsic::x86_sse41_extractps; // "__builtin_ia32_extractps128" + case 'g': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "ather", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case '_': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_d_d_256; // "__builtin_ia32_gatherd_d256" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_d_q_256; // "__builtin_ia32_gatherd_q256" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "v8d", 3)) + break; + switch (BuiltinName[26]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_gather_qpd_512; // "__builtin_ia32_gatherdiv8df" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_gather_qpq_512; // "__builtin_ia32_gatherdiv8di" + } + break; + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[22] != '_') + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_q_d_256; // "__builtin_ia32_gatherq_d256" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_q_q_256; // "__builtin_ia32_gatherq_q256" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "iv8d", 4)) + break; + switch (BuiltinName[26]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_gather_dpd_512; // "__builtin_ia32_gathersiv8df" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_gather_dpq_512; // "__builtin_ia32_gathersiv8di" + } + break; + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "askload", 7)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_maskload_d_256; // "__builtin_ia32_maskloadd256" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_maskload_q_256; // "__builtin_ia32_maskloadq256" + } + break; + case 'p': // 9 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 5 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'l': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "mulqdq128", 9)) + break; + return Intrinsic::x86_pclmulqdq; // "__builtin_ia32_pclmulqdq128" + case 'm': // 4 strings to match. + if (BuiltinName[18] != 'p') + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "str", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestri128; // "__builtin_ia32_pcmpestri128" + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestrm128; // "__builtin_ia32_pcmpestrm128" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "str", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistri128; // "__builtin_ia32_pcmpistri128" + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistrm128; // "__builtin_ia32_pcmpistrm128" + } + break; + } + break; + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "rmvars", 6)) + break; + switch (BuiltinName[23]) { + default: break; + case 'f': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_permps; // "__builtin_ia32_permvarsf256" + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "256", 3)) + break; + return Intrinsic::x86_avx2_permd; // "__builtin_ia32_permvarsi256" + } + break; + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "addubsw", 7)) + break; + switch (BuiltinName[24]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "28", 2)) + break; + return Intrinsic::x86_ssse3_pmadd_ub_sw_128; // "__builtin_ia32_pmaddubsw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "56", 2)) + break; + return Intrinsic::x86_avx2_pmadd_ub_sw; // "__builtin_ia32_pmaddubsw256" + } + break; + } + break; + case 'r': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "cp", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "4s", 2)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp14_sd; // "__builtin_ia32_rcp14sd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp14_ss; // "__builtin_ia32_rcp14ss_mask" + } + break; + case '2': // 4 strings to match. + if (BuiltinName[19] != '8') + break; + switch (BuiltinName[20]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp28_pd; // "__builtin_ia32_rcp28pd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp28_ps; // "__builtin_ia32_rcp28ps_mask" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp28_sd; // "__builtin_ia32_rcp28sd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rcp28_ss; // "__builtin_ia32_rcp28ss_mask" + } + break; + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "catterpf", 8)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[25] != 'p') + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_scatterpf_dpd_512; // "__builtin_ia32_scatterpfdpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_scatterpf_dps_512; // "__builtin_ia32_scatterpfdps" + } + break; + case 'q': // 2 strings to match. + if (BuiltinName[25] != 'p') + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx512_scatterpf_qpd_512; // "__builtin_ia32_scatterpfqpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx512_scatterpf_qps_512; // "__builtin_ia32_scatterpfqps" + } + break; + } + break; + case 'v': // 14 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "vtp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ps256", 6)) + break; + return Intrinsic::x86_vcvtph2ps_256; // "__builtin_ia32_vcvtph2ps256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ph256", 6)) + break; + return Intrinsic::x86_vcvtps2ph_256; // "__builtin_ia32_vcvtps2ph256" + } + break; + case 'e': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "c_", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "xt_v4hi", 7)) + break; + return Intrinsic::x86_mmx_pextr_w; // "__builtin_ia32_vec_ext_v4hi" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "et_v4hi", 7)) + break; + return Intrinsic::x86_mmx_pinsr_w; // "__builtin_ia32_vec_set_v4hi" + } + break; + case 'f': // 8 strings to match. + if (memcmp(BuiltinName.data()+17, "nm", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "ddp", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_pd_256; // "__builtin_ia32_vfnmaddpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_pd_512; // "__builtin_ia32_vfnmaddpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_ps_256; // "__builtin_ia32_vfnmaddps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmadd_ps_512; // "__builtin_ia32_vfnmaddps512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+20, "ubp", 3)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_pd_256; // "__builtin_ia32_vfnmsubpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_pd_512; // "__builtin_ia32_vfnmsubpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[24]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "56", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_ps_256; // "__builtin_ia32_vfnmsubps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "12", 2)) + break; + return Intrinsic::x86_fma_vfnmsub_ps_512; // "__builtin_ia32_vfnmsubps512" + } + break; + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ermilvarp", 9)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + return Intrinsic::x86_avx_vpermilvar_pd; // "__builtin_ia32_vpermilvarpd" + case 's': // 1 string to match. + return Intrinsic::x86_avx_vpermilvar_ps; // "__builtin_ia32_vpermilvarps" + } + break; + } + break; + } + break; + case 28: // 42 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "es", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "eclast128", 9)) + break; + return Intrinsic::x86_aesni_aesdeclast; // "__builtin_ia32_aesdeclast128" + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+19, "nclast128", 9)) + break; + return Intrinsic::x86_aesni_aesenclast; // "__builtin_ia32_aesenclast128" + } + break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "mpp", 3)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cmp_pd_512; // "__builtin_ia32_cmppd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cmp_ps_512; // "__builtin_ia32_cmpps512_mask" + } + break; + case 'g': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "ather", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 4 strings to match. + switch (BuiltinName[22]) { + default: break; + case '_': // 2 strings to match. + if (BuiltinName[23] != 'p') + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_d_pd_256; // "__builtin_ia32_gatherd_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_d_ps_256; // "__builtin_ia32_gatherd_ps256" + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "v16s", 4)) + break; + switch (BuiltinName[27]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_gather_qps_512; // "__builtin_ia32_gatherdiv16sf" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_gather_qpi_512; // "__builtin_ia32_gatherdiv16si" + } + break; + } + break; + case 'q': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "_p", 2)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_q_pd_256; // "__builtin_ia32_gatherq_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_gather_q_ps_256; // "__builtin_ia32_gatherq_ps256" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+22, "iv16s", 5)) + break; + switch (BuiltinName[27]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_gather_dps_512; // "__builtin_ia32_gathersiv16sf" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_gather_dpi_512; // "__builtin_ia32_gathersiv16si" + } + break; + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "nsert128i256", 12)) + break; + return Intrinsic::x86_avx2_vinserti128; // "__builtin_ia32_insert128i256" + case 'm': // 8 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 6 strings to match. + switch (BuiltinName[17]) { + default: break; + case 's': // 4 strings to match. + if (BuiltinName[18] != 'k') + break; + switch (BuiltinName[19]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "oadp", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx_maskload_pd_256; // "__builtin_ia32_maskloadpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx_maskload_ps_256; // "__builtin_ia32_maskloadps256" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+20, "tore", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_maskstore_d_256; // "__builtin_ia32_maskstored256" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx2_maskstore_q_256; // "__builtin_ia32_maskstoreq256" + } + break; + } + break; + case 'x': // 2 strings to match. + if (BuiltinName[18] != 'p') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_max_pd_512; // "__builtin_ia32_maxpd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_max_ps_512; // "__builtin_ia32_maxps512_mask" + } + break; + } + break; + case 'i': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "np", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_min_pd_512; // "__builtin_ia32_minpd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_min_ps_512; // "__builtin_ia32_minps512_mask" + } + break; + } + break; + case 'p': // 15 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'a': // 4 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'b': // 2 strings to match. + if (BuiltinName[18] != 's') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pabs_d_512; // "__builtin_ia32_pabsd512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pabs_q_512; // "__builtin_ia32_pabsq512_mask" + } + break; + case 'n': // 2 strings to match. + if (BuiltinName[18] != 'd') + break; + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pand_d_512; // "__builtin_ia32_pandd512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pand_q_512; // "__builtin_ia32_pandq512_mask" + } + break; + } + break; + case 'c': // 10 strings to match. + if (memcmp(BuiltinName.data()+17, "mp", 2)) + break; + switch (BuiltinName[19]) { + default: break; + case 'e': // 5 strings to match. + if (memcmp(BuiltinName.data()+20, "stri", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestria128; // "__builtin_ia32_pcmpestria128" + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestric128; // "__builtin_ia32_pcmpestric128" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestrio128; // "__builtin_ia32_pcmpestrio128" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestris128; // "__builtin_ia32_pcmpestris128" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpestriz128; // "__builtin_ia32_pcmpestriz128" + } + break; + case 'i': // 5 strings to match. + if (memcmp(BuiltinName.data()+20, "stri", 4)) + break; + switch (BuiltinName[24]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistria128; // "__builtin_ia32_pcmpistria128" + case 'c': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistric128; // "__builtin_ia32_pcmpistric128" + case 'o': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistrio128; // "__builtin_ia32_pcmpistrio128" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistris128; // "__builtin_ia32_pcmpistris128" + case 'z': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "128", 3)) + break; + return Intrinsic::x86_sse42_pcmpistriz128; // "__builtin_ia32_pcmpistriz128" + } + break; + } + break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "minposuw128", 11)) + break; + return Intrinsic::x86_sse41_phminposuw; // "__builtin_ia32_phminposuw128" + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "catter", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "iv8d", 4)) + break; + switch (BuiltinName[27]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_scatter_qpd_512; // "__builtin_ia32_scatterdiv8df" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_scatter_qpq_512; // "__builtin_ia32_scatterdiv8di" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "iv8d", 4)) + break; + switch (BuiltinName[27]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_scatter_dpd_512; // "__builtin_ia32_scattersiv8df" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_scatter_dpq_512; // "__builtin_ia32_scattersiv8di" + } + break; + } + break; + case 'v': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "testnzcp", 8)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx_vtestnzc_pd_256; // "__builtin_ia32_vtestnzcpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "256", 3)) + break; + return Intrinsic::x86_avx_vtestnzc_ps_256; // "__builtin_ia32_vtestnzcps256" + } + break; + } + break; + case 29: // 40 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'e': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "xtract128i256", 13)) + break; + return Intrinsic::x86_avx2_vextracti128; // "__builtin_ia32_extract128i256" + case 'm': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "askstorep", 9)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "256", 3)) + break; + return Intrinsic::x86_avx_maskstore_pd_256; // "__builtin_ia32_maskstorepd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "256", 3)) + break; + return Intrinsic::x86_avx_maskstore_ps_256; // "__builtin_ia32_maskstoreps256" + } + break; + case 'p': // 19 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 10 strings to match. + if (memcmp(BuiltinName.data()+17, "roadcast", 8)) + break; + switch (BuiltinName[25]) { + default: break; + case 'b': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastb_128; // "__builtin_ia32_pbroadcastb128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastb_256; // "__builtin_ia32_pbroadcastb256" + } + break; + case 'd': // 3 strings to match. + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastd_128; // "__builtin_ia32_pbroadcastd128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastd_256; // "__builtin_ia32_pbroadcastd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_avx512_pbroadcastd_512; // "__builtin_ia32_pbroadcastd512" + } + break; + case 'q': // 3 strings to match. + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastq_128; // "__builtin_ia32_pbroadcastq128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastq_256; // "__builtin_ia32_pbroadcastq256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_avx512_pbroadcastq_512; // "__builtin_ia32_pbroadcastq512" + } + break; + case 'w': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "28", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastw_128; // "__builtin_ia32_pbroadcastw128" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_avx2_pbroadcastw_256; // "__builtin_ia32_pbroadcastw256" + } + break; + } + break; + case 'm': // 9 strings to match. + switch (BuiltinName[17]) { + default: break; + case 'a': // 4 strings to match. + if (BuiltinName[18] != 'x') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmaxs_d_512; // "__builtin_ia32_pmaxsd512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmaxs_q_512; // "__builtin_ia32_pmaxsq512_mask" + } + break; + case 'u': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmaxu_d_512; // "__builtin_ia32_pmaxud512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmaxu_q_512; // "__builtin_ia32_pmaxuq512_mask" + } + break; + } + break; + case 'i': // 4 strings to match. + if (BuiltinName[18] != 'n') + break; + switch (BuiltinName[19]) { + default: break; + case 's': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmins_d_512; // "__builtin_ia32_pminsd512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pmins_q_512; // "__builtin_ia32_pminsq512_mask" + } + break; + case 'u': // 2 strings to match. + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pminu_d_512; // "__builtin_ia32_pminud512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pminu_q_512; // "__builtin_ia32_pminuq512_mask" + } + break; + } + break; + case 'u': // 1 string to match. + if (memcmp(BuiltinName.data()+18, "ldq512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_pmul_dq_512; // "__builtin_ia32_pmuldq512_mask" + } + break; + } + break; + case 'r': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "sqrt", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case '1': // 2 strings to match. + if (memcmp(BuiltinName.data()+21, "4s", 2)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt14_sd; // "__builtin_ia32_rsqrt14sd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt14_ss; // "__builtin_ia32_rsqrt14ss_mask" + } + break; + case '2': // 4 strings to match. + if (BuiltinName[21] != '8') + break; + switch (BuiltinName[22]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt28_pd; // "__builtin_ia32_rsqrt28pd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt28_ps; // "__builtin_ia32_rsqrt28ps_mask" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt28_sd; // "__builtin_ia32_rsqrt28sd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "_mask", 5)) + break; + return Intrinsic::x86_avx512_rsqrt28_ss; // "__builtin_ia32_rsqrt28ss_mask" + } + break; + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+16, "catter", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "iv16s", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_scatter_qps_512; // "__builtin_ia32_scatterdiv16sf" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_scatter_qpi_512; // "__builtin_ia32_scatterdiv16si" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+23, "iv16s", 5)) + break; + switch (BuiltinName[28]) { + default: break; + case 'f': // 1 string to match. + return Intrinsic::x86_avx512_scatter_dps_512; // "__builtin_ia32_scattersiv16sf" + case 'i': // 1 string to match. + return Intrinsic::x86_avx512_scatter_dpi_512; // "__builtin_ia32_scattersiv16si" + } + break; + } + break; + case 'v': // 8 strings to match. + if (memcmp(BuiltinName.data()+16, "fm", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'a': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "ddsubp", 6)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_pd_256; // "__builtin_ia32_vfmaddsubpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_pd_512; // "__builtin_ia32_vfmaddsubpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_ps_256; // "__builtin_ia32_vfmaddsubps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_fma_vfmaddsub_ps_512; // "__builtin_ia32_vfmaddsubps512" + } + break; + } + break; + case 's': // 4 strings to match. + if (memcmp(BuiltinName.data()+19, "ubaddp", 6)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_pd_256; // "__builtin_ia32_vfmsubaddpd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_pd_512; // "__builtin_ia32_vfmsubaddpd512" + } + break; + case 's': // 2 strings to match. + switch (BuiltinName[26]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "56", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_ps_256; // "__builtin_ia32_vfmsubaddps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "12", 2)) + break; + return Intrinsic::x86_fma_vfmsubadd_ps_512; // "__builtin_ia32_vfmsubaddps512" + } + break; + } + break; + } + break; + } + break; + case 30: // 14 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "oadup", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_loadu_pd_512; // "__builtin_ia32_loadupd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_loadu_ps_512; // "__builtin_ia32_loadups512_mask" + } + break; + case 'p': // 3 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "mpeq", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pcmpeq_d_512; // "__builtin_ia32_pcmpeqd512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_pcmpeq_q_512; // "__builtin_ia32_pcmpeqq512_mask" + } + break; + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+17, "uludq512_mask", 13)) + break; + return Intrinsic::x86_avx512_mask_pmulu_dq_512; // "__builtin_ia32_pmuludq512_mask" + } + break; + case 'r': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "p14p", 4)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_rcp14_pd_512; // "__builtin_ia32_rcp14pd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_rcp14_ps_512; // "__builtin_ia32_rcp14ps512_mask" + } + break; + case 'n': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "dscalep", 7)) + break; + switch (BuiltinName[24]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "_mask", 5)) + break; + return Intrinsic::x86_avx512_mask_rndscale_pd_512; // "__builtin_ia32_rndscalepd_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+25, "_mask", 5)) + break; + return Intrinsic::x86_avx512_mask_rndscale_ps_512; // "__builtin_ia32_rndscaleps_mask" + } + break; + } + break; + case 'v': // 5 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 3 strings to match. + if (memcmp(BuiltinName.data()+17, "roadcasts", 9)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "512", 3)) + break; + return Intrinsic::x86_avx512_vbroadcast_sd_512; // "__builtin_ia32_vbroadcastsd512" + case 's': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "12", 2)) + break; + return Intrinsic::x86_avx512_vbroadcast_ss_512; // "__builtin_ia32_vbroadcastss512" + case '_': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "ps", 2)) + break; + return Intrinsic::x86_avx2_vbroadcast_ss_ps; // "__builtin_ia32_vbroadcastss_ps" + } + break; + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ermilvarp", 9)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "256", 3)) + break; + return Intrinsic::x86_avx_vpermilvar_pd_256; // "__builtin_ia32_vpermilvarpd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "256", 3)) + break; + return Intrinsic::x86_avx_vpermilvar_ps_256; // "__builtin_ia32_vpermilvarps256" + } + break; + } + break; + } + break; + case 31: // 12 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lendm", 5)) + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_blend_d_512; // "__builtin_ia32_blendmd_512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_blend_q_512; // "__builtin_ia32_blendmq_512_mask" + } + break; + case 'c': // 5 strings to match. + if (memcmp(BuiltinName.data()+16, "vt", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "q2p", 3)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtdq2pd_512; // "__builtin_ia32_cvtdq2pd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtdq2ps_512; // "__builtin_ia32_cvtdq2ps512_mask" + } + break; + case 'p': // 3 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 2 strings to match. + if (BuiltinName[20] != '2') + break; + switch (BuiltinName[21]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "q512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2dq_512; // "__builtin_ia32_cvtpd2dq512_mask" + case 'p': // 1 string to match. + if (memcmp(BuiltinName.data()+22, "s512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2ps_512; // "__builtin_ia32_cvtpd2ps512_mask" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2dq512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_cvtps2dq_512; // "__builtin_ia32_cvtps2dq512_mask" + } + break; + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "toreup", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_storeu_pd_512; // "__builtin_ia32_storeupd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_storeu_ps_512; // "__builtin_ia32_storeups512_mask" + } + break; + case 'v': // 3 strings to match. + if (memcmp(BuiltinName.data()+16, "perm2f128_", 10)) + break; + switch (BuiltinName[26]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[27]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "256", 3)) + break; + return Intrinsic::x86_avx_vperm2f128_pd_256; // "__builtin_ia32_vperm2f128_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "256", 3)) + break; + return Intrinsic::x86_avx_vperm2f128_ps_256; // "__builtin_ia32_vperm2f128_ps256" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "i256", 4)) + break; + return Intrinsic::x86_avx_vperm2f128_si_256; // "__builtin_ia32_vperm2f128_si256" + } + break; + } + break; + case 32: // 19 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "lendmp", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_blend_pd_512; // "__builtin_ia32_blendmpd_512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_blend_ps_512; // "__builtin_ia32_blendmps_512_mask" + } + break; + case 'c': // 6 strings to match. + if (memcmp(BuiltinName.data()+16, "vt", 2)) + break; + switch (BuiltinName[18]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[19]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2udq512_mask", 12)) + break; + return Intrinsic::x86_avx512_mask_cvtpd2udq_512; // "__builtin_ia32_cvtpd2udq512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+20, "2udq512_mask", 12)) + break; + return Intrinsic::x86_avx512_mask_cvtps2udq_512; // "__builtin_ia32_cvtps2udq512_mask" + } + break; + case 't': // 2 strings to match. + if (BuiltinName[19] != 'p') + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2dq512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_cvttpd2dq_512; // "__builtin_ia32_cvttpd2dq512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2dq512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_cvttps2dq_512; // "__builtin_ia32_cvttps2dq512_mask" + } + break; + case 'u': // 2 strings to match. + if (memcmp(BuiltinName.data()+19, "dq2p", 4)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtudq2pd_512; // "__builtin_ia32_cvtudq2pd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_cvtudq2ps_512; // "__builtin_ia32_cvtudq2ps512_mask" + } + break; + } + break; + case 'l': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "oaddqu", 6)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "i512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_loadu_q_512; // "__builtin_ia32_loaddqudi512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "i512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_loadu_d_512; // "__builtin_ia32_loaddqusi512_mask" + } + break; + case 'r': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "sqrt14p", 7)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_rsqrt14_pd_512; // "__builtin_ia32_rsqrt14pd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_rsqrt14_ps_512; // "__builtin_ia32_rsqrt14ps512_mask" + } + break; + case 'v': // 7 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "vtp", 3)) + break; + switch (BuiltinName[20]) { + default: break; + case 'h': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ps512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_vcvtph2ps_512; // "__builtin_ia32_vcvtph2ps512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2ph512_mask", 11)) + break; + return Intrinsic::x86_avx512_mask_vcvtps2ph_512; // "__builtin_ia32_vcvtps2ph512_mask" + } + break; + case 'i': // 3 strings to match. + if (memcmp(BuiltinName.data()+17, "nsertf128_", 10)) + break; + switch (BuiltinName[27]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[28]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "256", 3)) + break; + return Intrinsic::x86_avx_vinsertf128_pd_256; // "__builtin_ia32_vinsertf128_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "256", 3)) + break; + return Intrinsic::x86_avx_vinsertf128_ps_256; // "__builtin_ia32_vinsertf128_ps256" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+28, "i256", 4)) + break; + return Intrinsic::x86_avx_vinsertf128_si_256; // "__builtin_ia32_vinsertf128_si256" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "lzcnt", 5)) + break; + switch (BuiltinName[22]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_lzcnt_d_512; // "__builtin_ia32_vplzcntd_512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "_512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_lzcnt_q_512; // "__builtin_ia32_vplzcntq_512_mask" + } + break; + } + break; + } + break; + case 33: // 12 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'a': // 1 string to match. + if (memcmp(BuiltinName.data()+16, "eskeygenassist128", 17)) + break; + return Intrinsic::x86_aesni_aeskeygenassist; // "__builtin_ia32_aeskeygenassist128" + case 'c': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "vttp", 4)) + break; + switch (BuiltinName[20]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2udq512_mask", 12)) + break; + return Intrinsic::x86_avx512_mask_cvttpd2udq_512; // "__builtin_ia32_cvttpd2udq512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+21, "2udq512_mask", 12)) + break; + return Intrinsic::x86_avx512_mask_cvttps2udq_512; // "__builtin_ia32_cvttps2udq512_mask" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+16, "toredqu", 7)) + break; + switch (BuiltinName[23]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "i512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_storeu_q_512; // "__builtin_ia32_storedqudi512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+24, "i512_mask", 9)) + break; + return Intrinsic::x86_avx512_mask_storeu_d_512; // "__builtin_ia32_storedqusi512_mask" + } + break; + case 'v': // 7 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 4 strings to match. + if (memcmp(BuiltinName.data()+17, "roadcasts", 9)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_pd", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "56", 2)) + break; + return Intrinsic::x86_avx2_vbroadcast_sd_pd_256; // "__builtin_ia32_vbroadcastsd_pd256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "12", 2)) + break; + return Intrinsic::x86_avx512_vbroadcast_sd_pd_512; // "__builtin_ia32_vbroadcastsd_pd512" + } + break; + case 's': // 2 strings to match. + if (memcmp(BuiltinName.data()+27, "_ps", 3)) + break; + switch (BuiltinName[30]) { + default: break; + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "56", 2)) + break; + return Intrinsic::x86_avx2_vbroadcast_ss_ps_256; // "__builtin_ia32_vbroadcastss_ps256" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "12", 2)) + break; + return Intrinsic::x86_avx512_vbroadcast_ss_ps_512; // "__builtin_ia32_vbroadcastss_ps512" + } + break; + } + break; + case 'e': // 3 strings to match. + if (memcmp(BuiltinName.data()+17, "xtractf128_", 11)) + break; + switch (BuiltinName[28]) { + default: break; + case 'p': // 2 strings to match. + switch (BuiltinName[29]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "256", 3)) + break; + return Intrinsic::x86_avx_vextractf128_pd_256; // "__builtin_ia32_vextractf128_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+30, "256", 3)) + break; + return Intrinsic::x86_avx_vextractf128_ps_256; // "__builtin_ia32_vextractf128_ps256" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+29, "i256", 4)) + break; + return Intrinsic::x86_avx_vextractf128_si_256; // "__builtin_ia32_vextractf128_si256" + } + break; + } + break; + } + break; + case 34: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_vpermt2var", 25)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_vpermt_d_512; // "__builtin_ia32_vpermt2vard512_mask" + case 'q': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_vpermt_q_512; // "__builtin_ia32_vpermt2varq512_mask" + } + break; + case 35: // 10 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_", 15)) + break; + switch (BuiltinName[15]) { + default: break; + case 'p': // 6 strings to match. + if (BuiltinName[16] != 's') + break; + switch (BuiltinName[17]) { + default: break; + case 'l': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "ldqi", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28_byteshift", 12)) + break; + return Intrinsic::x86_sse2_psll_dq_bs; // "__builtin_ia32_pslldqi128_byteshift" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56_byteshift", 12)) + break; + return Intrinsic::x86_avx2_psll_dq_bs; // "__builtin_ia32_pslldqi256_byteshift" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "12_byteshift", 12)) + break; + return Intrinsic::x86_avx512_psll_dq_bs; // "__builtin_ia32_pslldqi512_byteshift" + } + break; + case 'r': // 3 strings to match. + if (memcmp(BuiltinName.data()+18, "ldqi", 4)) + break; + switch (BuiltinName[22]) { + default: break; + case '1': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "28_byteshift", 12)) + break; + return Intrinsic::x86_sse2_psrl_dq_bs; // "__builtin_ia32_psrldqi128_byteshift" + case '2': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "56_byteshift", 12)) + break; + return Intrinsic::x86_avx2_psrl_dq_bs; // "__builtin_ia32_psrldqi256_byteshift" + case '5': // 1 string to match. + if (memcmp(BuiltinName.data()+23, "12_byteshift", 12)) + break; + return Intrinsic::x86_avx512_psrl_dq_bs; // "__builtin_ia32_psrldqi512_byteshift" + } + break; + } + break; + case 'v': // 4 strings to match. + switch (BuiltinName[16]) { + default: break; + case 'b': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "roadcastf128_p", 14)) + break; + switch (BuiltinName[31]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+32, "256", 3)) + break; + return Intrinsic::x86_avx_vbroadcastf128_pd_256; // "__builtin_ia32_vbroadcastf128_pd256" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+32, "256", 3)) + break; + return Intrinsic::x86_avx_vbroadcastf128_ps_256; // "__builtin_ia32_vbroadcastf128_ps256" + } + break; + case 'p': // 2 strings to match. + if (memcmp(BuiltinName.data()+17, "ermt2varp", 9)) + break; + switch (BuiltinName[26]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_vpermt_pd_512; // "__builtin_ia32_vpermt2varpd512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+27, "512_mask", 8)) + break; + return Intrinsic::x86_avx512_mask_vpermt_ps_512; // "__builtin_ia32_vpermt2varps512_mask" + } + break; + } + break; + } + break; + case 36: // 2 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_vpconflict", 25)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "i_512_mask", 10)) + break; + return Intrinsic::x86_avx512_mask_conflict_q_512; // "__builtin_ia32_vpconflictdi_512_mask" + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "i_512_mask", 10)) + break; + return Intrinsic::x86_avx512_mask_conflict_d_512; // "__builtin_ia32_vpconflictsi_512_mask" + } + break; + case 38: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_ia32_pbroadcast", 25)) + break; + switch (BuiltinName[25]) { + default: break; + case 'd': // 1 string to match. + if (memcmp(BuiltinName.data()+26, "512_gpr_mask", 12)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_d_gpr_512; // "__builtin_ia32_pbroadcastd512_gpr_mask" + case 'q': // 2 strings to match. + if (memcmp(BuiltinName.data()+26, "512_", 4)) + break; + switch (BuiltinName[30]) { + default: break; + case 'g': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "pr_mask", 7)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_q_gpr_512; // "__builtin_ia32_pbroadcastq512_gpr_mask" + case 'm': // 1 string to match. + if (memcmp(BuiltinName.data()+31, "em_mask", 7)) + break; + return Intrinsic::x86_avx512_mask_pbroadcast_q_mem_512; // "__builtin_ia32_pbroadcastq512_mem_mask" + } + break; + } + break; + } + } + if (TargetPrefix == "xcore") { + switch (BuiltinName.size()) { + default: break; + case 15: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__builtin_", 10)) + break; + switch (BuiltinName[10]) { + default: break; + case 'g': // 2 strings to match. + if (memcmp(BuiltinName.data()+11, "et", 2)) + break; + switch (BuiltinName[13]) { + default: break; + case 'i': // 1 string to match. + if (BuiltinName[14] != 'd') + break; + return Intrinsic::xcore_getid; // "__builtin_getid" + case 'p': // 1 string to match. + if (BuiltinName[14] != 's') + break; + return Intrinsic::xcore_getps; // "__builtin_getps" + } + break; + case 's': // 1 string to match. + if (memcmp(BuiltinName.data()+11, "etps", 4)) + break; + return Intrinsic::xcore_setps; // "__builtin_setps" + } + break; + case 16: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "__builtin_bitrev", 16)) + break; + return Intrinsic::xcore_bitrev; // "__builtin_bitrev" + } + } + return Intrinsic::not_intrinsic; +} +#endif + +// Get the LLVM intrinsic that corresponds to a MS builtin. +// This is used by the C front-end. The MS builtin name is passed +// in as a BuiltinName, and a target prefix (e.g. 'arm') is passed +// in as a TargetPrefix. The result is assigned to 'IntrinsicID'. +#ifdef GET_LLVM_INTRINSIC_FOR_MS_BUILTIN +Intrinsic::ID Intrinsic::getIntrinsicForMSBuiltin(const char *TP, const char *BN) { + StringRef BuiltinName(BN); + StringRef TargetPrefix(TP); + + if (TargetPrefix == "arm") { + switch (BuiltinName.size()) { + default: break; + case 5: // 3 strings to match. + if (memcmp(BuiltinName.data()+0, "__", 2)) + break; + switch (BuiltinName[2]) { + default: break; + case 'd': // 2 strings to match. + switch (BuiltinName[3]) { + default: break; + case 'm': // 1 string to match. + if (BuiltinName[4] != 'b') + break; + return Intrinsic::arm_dmb; // "__dmb" + case 's': // 1 string to match. + if (BuiltinName[4] != 'b') + break; + return Intrinsic::arm_dsb; // "__dsb" + } + break; + case 'i': // 1 string to match. + if (memcmp(BuiltinName.data()+3, "sb", 2)) + break; + return Intrinsic::arm_isb; // "__isb" + } + break; + case 18: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "_MoveToCoprocessor", 18)) + break; + return Intrinsic::arm_mcr; // "_MoveToCoprocessor" + case 19: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "_MoveToCoprocessor2", 19)) + break; + return Intrinsic::arm_mcr2; // "_MoveToCoprocessor2" + case 20: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "_MoveFromCoprocessor", 20)) + break; + return Intrinsic::arm_mrc; // "_MoveFromCoprocessor" + case 21: // 1 string to match. + if (memcmp(BuiltinName.data()+0, "_MoveFromCoprocessor2", 21)) + break; + return Intrinsic::arm_mrc2; // "_MoveFromCoprocessor2" + } +} return Intrinsic::not_intrinsic; +} +#endif + +#if defined(_MSC_VER) && defined(setjmp_undefined_for_msvc) +// let's return it to _setjmp state +# pragma pop_macro("setjmp") +# undef setjmp_undefined_for_msvc +#endif + |