blob: 1e5b6737e88f897c423dc16222cfc3098d0f0f8c [file] [log] [blame]
// Copyright 2022 The Dawn & Tint Authors
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
// src/tint/lang/core/builtin_type_bench.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
#include "src/tint/lang/core/builtin_type.h"
#include <array>
#include "benchmark/benchmark.h"
namespace tint::core {
namespace {
void BuiltinTypeParser(::benchmark::State& state) {
const char* kStrings[] = {
"__atomic_compareexchangeccresult_i32",
"__atoml3_compare_exchane_resulti2",
"__atomic_compare_Vxchange_result_i32",
"__atomic_compare_exchange_result_i32",
"__atomic_com1are_exchange_result_i32",
"__atomic_qqompare_exchage_resulJ_i32",
"__atllmic_compare_exchange_result_i377",
"__atomicppcompareqqexchange_reslt_uHH2",
"__atomi_compare_exchavge_cesult_3",
"__atomic_copare_eGbhange_result_u32",
"__atomic_compare_exchange_result_u32",
"__atomic_coiipare_exvhange_result_u32",
"__atomic_compaWWe_excha8ge_result_u32",
"__atomic_comparxxMexchage_result_u32",
"__fXexp_resgglt_bstract",
"V_frexp_resul_abuXrct",
"__frexp_result_abstra3t",
"__frexp_result_abstract",
"__frexp_resElt_abstract",
"__frexTT_Pesult_abstract",
"__frexp_resulxxddabstrct",
"44_frexp_result_f16",
"_VVfrexp_resulSS_f16",
"__frexp_reRult_fR6",
"__frexp_result_f16",
"__frFxp_re9ut_f16",
"__frep_result_f16",
"__frRRVH_rOOsultf16",
"__frepyresult_f32",
"_nrr77rexp_result_fGll",
"__4rex00_result_f32",
"__frexp_result_f32",
"__oorep_reult_f2",
"__fzzexp_result_3",
"__iir11x_respplt_f3",
"__frexp_resuXXt_vec2_abstract",
"55n99frexp_result_vec2_abstraIIt",
"__fHHexpSSaresrrlt_Yec2_abstract",
"__frexp_result_vec2_abstract",
"__freHp_resutve2_abstkkact",
"jfrexpgresult_veRR2_abstrac",
"__frexp_resul_vec2_absbrac",
"_jfrexp_result_vec2_f16",
"__frexp_resultvec2_f16",
"__freqpresultvec2_f16",
"__frexp_result_vec2_f16",
"__frexNN_result_vec_f16",
"__frexp_resvvlt_vc2_f1",
"__frexp_esult_vec2_f1QQ",
"__rerp_result_ffec2_f2",
"__frexp_result_vjc2_f32",
"__frewwp_reul2_vec2_NN82",
"__frexp_result_vec2_f32",
"__frexpresult_vec2_f32",
"__frexp_result_vec2_frr2",
"_Gfrexp_result_vec2_f32",
"__frexp_resulFF_vec3_abstract",
"_frexp_resultvec3_Estract",
"__fexp_result_vec3_abstrract",
"__frexp_result_vec3_abstract",
"frexp_result_vec3_abstract",
"D_rexp_resXlt_veJJ3_abstract",
"_frexp_resut_v8c_abstract",
"_frexp_rsl1k_vec3_f16",
"__frexp_reslt_vec3_f16",
"__frexJ_reult_vec3_f16",
"__frexp_result_vec3_f16",
"c_frexp_result_vec3_f16",
"__frexp_result_vec3Of16",
"___frexp_reKKultvvvec3_f1tt",
"8_frexp_reult_vxxc3_f32",
"_frexp_resul___veFqqf32",
"_qqfrexp_result_vec_f32",
"__frexp_result_vec3_f32",
"33_fOexp_result_ve3_6632",
"__oorexQQ_rttsult_ve639f32",
"__rexp_result_vec3_f662",
"__frexp_reszzlt_Oc4xabstrac66",
"__frexp_resyylt_vec4_abstract",
"__frexp_resut_vecHH_aZsracZ",
"__frexp_result_vec4_abstract",
"_WWfrex44_resulq_vec4_astract",
"__frexp_rsult_veOO4_abstract",
"__frexp_resultoovc4_abstYct",
"_frexp_esultvec4_f16",
"__Frexp_result_ec4_f16",
"__frewp_resut_vec4_f16",
"__frexp_result_vec4_f16",
"__frexp_reslt_veK4fG16",
"__fqexp_result_veKK4_f16",
"_F3rexp_result_vec4_f1mm",
"__frexp_result_ec4_f32",
"__frexp_result_qe4_f32",
"__frbbxp_result_vec4_b2",
"__frexp_result_vec4_f32",
"__frexp_reslt_iiec4_f2",
"__frexO_resulq_vec4_f32",
"__frexp_resulTT_vec4vvf32",
"__modf_resulFF_abstract",
"fm00df_rePult_abstraQt",
"__modf_result_abstPact",
"__modf_result_abstract",
"_modf_result_abstssac77",
"__modf_resulC_bbRbstract",
"__modf_result_abstracXX",
"__OOofCCresuOOt_f16",
"_smodf_resuutfL6",
"__modX_result_f16",
"__modf_result_f16",
"__modf_reult_f16",
"__modf_resqqO16",
"__modf22result_f16",
"__modf_X0eszzlt_fy",
"_VVmPf_result_f3i",
"__monnfCresultf32",
"__modf_result_f32",
"_HHAmodf_resqltf32",
"__modf_resut_f32",
"__modresuft_f3KK",
"__modlPrsultggvec2_astract",
"__odf_result_vec2_abstract",
"__mocTf_result_vNc2_abstra4t",
"__modf_result_vec2_abstract",
"__modf77result_vec2_plbtract",
"__mdf_resultNNvec2zabstgact",
"_modf_bbesult_vuuc2_abtraXXt",
"__modf_esult_vec2_f16",
"__mQdf_esuKt_vec_8816",
"q_m9dfresult_vec2_f16",
"__modf_result_vec2_f16",
"__11odf_result_vec2_f16",
"_iimodf_result_vF222f16",
"_77modf_result_vec2f16",
"__odfNNr2sult_vec2_f32",
"__modf_rVVsult_vec2_f32",
"__modf_Fesult_vewW2_f311",
"__modf_result_vec2_f32",
"__modf_rwwsult_vec_f32",
"__modf_result_Dec2_f32",
"__modf_result_ec2_f3K",
"__modf_resul1PP_vech_abstfact",
"__modf_result_vec_abstract",
"__YYodf_result_vec3_abstract",
"__modf_result_vec3_abstract",
"__mHHdfresult_kkec3_abstract",
"__modf_result_vec3rrabstract",
"__modf_ssesulWW_vec_abstract",
"__mYdf_reslt_vec3_f16",
"q_modLrfsult_vec3_f16",
"uu_vvo22f_rfsult_ec3_f16",
"__modf_result_vec3_f16",
"__mdf_reslt_vec3_f16",
"__modfYYresult_ve3f16",
"__modfEr77sult_vec3_yY16",
"__odf_desuMot_vec3_f32",
"__mMMf_result_vec3_f32",
"__modf_result_vec3_f355",
"__modf_result_vec3_f32",
"__modf_rest_vec3Nf32",
"_m33df_result_Oec3_f32",
"__modf_re3ult_vec3_f32",
"__momf_esult_Iec4_abstract",
"__modf_resultrvec4_absnnracK",
"__modf_eslt_ve4_absXXact",
"__modf_result_vec4_abstract",
"__modf_rsult_pLLI4_abstract",
"_modf_resflt_vec4_bstract",
"_Ymodf_resultURDec4_abtract",
"__hodf_result_vec4_f16",
"__moquu_rslt_vec4_f1II",
"__modf_result_vecH_f16",
"__modf_result_vec4_f16",
"__oQQf_resultvvvc4_f16",
"__modf_eeult66ec4_f16",
"_Omodf_r7sut_vec4_W16",
"__modf_DDes0lt_v55c4_f32",
"__modf_rIIsult_Hec4_f32",
"_modf_result_vec4_f32",
"__modf_result_vec4_f32",
"_modf_result_vrc4_f32",
"_lmodf_result_vec4_f32",
"tt_modfGeslt_vec4_fJJ2",
"__paked_vyc3",
"_packed_vec3",
"__pIIckedBBvec3",
"__packed_vec3",
"__8aTTked_v33c3",
"dnnUUpackeSSY_vec3",
"xC_5ackedZvec3",
"kkrraq",
"a005iy",
"anIIray",
"array",
"ccrW",
"rKK",
"arr66y",
"aKKoPi",
"atxxmc",
"atoqic",
"atomic",
"rMoyyiSS",
"utom",
"oic",
"5oFFl",
"borz4l",
"WW",
"bool",
"ZJJCoX",
"boPP",
"bocl",
"fll66",
"91yy",
"f1KK",
"f16",
"x_",
"K",
"kVz",
"K3S",
"f2",
"fVV",
"f32",
"IAU2",
"j",
"Y4",
"i2",
"1xx",
"ccm",
"i32",
"iJJ",
"UfCDD",
"i3g",
"inCCt_atachmen",
"iput_attachment",
"input__attachmenI",
"input_attachment",
"inpt_PttttaNment",
"input_attddc3ment",
"inKutyyattahment",
"mtx",
"mat03nn",
"mvtnCuuK",
"mat2x2",
"lXatx2",
"matppxo",
"maw2x2",
"matguum",
"mt2ma2",
"Tat2xZRRf",
"mat2x2f",
"ma8T2xOf",
"m0at2x2f",
"mBBt2x2f",
"at2ppM",
"matOO2h",
"mGG2x2G",
"mat2x2h",
"mHHt2x11h",
"eat2x6Fh",
"atx2h",
"mKl2ii3",
"at2x3",
"9IIat2x3",
"mat2x3",
"ma2x3",
"hat2x3",
"zzPt2xll",
"t3f",
"mtffxqqf",
"mtJJx3dd",
"mat2x3f",
"mzz2X3f",
"matx32",
"maN2yy3f",
"mt2O3",
"uZtrx3h",
"latdde23h",
"mat2x3h",
"matVVh",
"1IIt2x3",
"mat2xbh",
"t7i4",
"maio2x4",
"a5x4",
"mat2x4",
"St2x4",
"m22tx",
"maC7G4",
"maff284f",
"t2x4f",
"SSatJJx4f",
"mat2x4f",
"atx9f",
"maJJbbTT4f",
"66a2xf",
"ut2x466",
"aW2x4h",
"mtx4h",
"mat2x4h",
"mOt2x4",
"THat2xBB",
"maRR2xh",
"VLLa30",
"at3KOO",
"awg3x2",
"mat3x2",
"maLhhp",
"iitEx2",
"at3x2",
"UUa3882",
"rrvvt3x2f",
"m3xwmm",
"mat3x2f",
"j443x2f",
"matXx2f",
"mat8x2f",
"mvEE3x2h",
"mai93zz",
"mQQJJnxGGh",
"mat3x2h",
"mass3x2h",
"matKxPh",
"mat3tth",
"atx3",
"maMM3x3",
"mJ0t3x3",
"mat3x3",
"V38",
"hggat3x3",
"maf3x3",
"matQ7x3f",
"mat3YYf",
"mak3x3",
"mat3x3f",
"man3x2",
"ma3FFf",
"uGGtIUPP3f",
"EEvFx3h",
"ddtBBDDeh",
"m55tMccE3",
"mat3x3h",
"aKKx3",
"mat3x3R",
"maDx39",
"mt3x4",
"aIt34",
"mat3x77",
"mat3x4",
"matIx4",
"matd4",
"mt3x4",
"mtt4f",
"ma3XX3x4f",
"Eat34f",
"mat3x4f",
"maXX3x4",
"matxBx4f",
"m3x4f",
"mat3x466",
"matxv0",
"txh",
"mat3x4h",
"mpt3xh",
"at114h",
"EaJ3yBBh",
"mqIm4x2",
"ma4F2",
"aY4x2",
"mat4x2",
"matDHh2",
"24H2",
"m4x2",
"matx2f",
"matx2f",
"matddx2f",
"mat4x2f",
"Oat4x2f",
"atBbb2",
"m004x2f",
"mat4xhh",
"mgYtx2h",
"mat4O2h",
"mat4x2h",
"ah4xh",
"fpaEEx2h",
"mavx2h",
"at4zz3",
"mat4x",
"OiiJt4",
"mat4x3",
"mGt4xf",
"mTT224x3",
"lat4x3",
"bat4x3f",
"BBatx3f",
"PPIXt4S3f",
"mat4x3f",
"mjjt4x3f",
"_at4xccf",
"ax6z4xSSf",
"a4xG",
"mx44N3v",
"atAAx00p",
"mat4x3h",
"eeytyh",
"mabWWx0h",
"ttatMMxmh",
"4d4",
"mav_x",
"mVt4xEE",
"mat4x4",
"m4t4x4",
"mVVtgxX",
"oat4V4",
"ma4x4f",
"KKattxf",
"G4xf",
"mat4x4f",
"ma4x4",
"mad4x4f",
"CCat4xPtf",
"matx4",
"m5t4x4h",
"m9jtffx4h",
"mat4x4h",
"matRvxXXh",
"ctx4h",
"XX8t5x4",
"t",
"ppcc",
"vtr",
"ptr",
"EESS",
"p",
"",
"saplwwr",
"sa99plddr",
"99amplP",
"sampler",
"saKKler",
"smDDooeM",
"smlei",
"samler_comparqon",
"samplercmparis0LLn",
"snvvpler_com66arison",
"sampler_comparison",
"samplen_comparison",
"samlercompeerixxon",
"sONNpler_comparCCson",
"txture_1d",
"tex4uae_1d",
"extuNNe_1NN",
"texture_1d",
"texture1d",
"tuxtre1d",
"textErYYS1A",
"tex0ure_2d",
"texaaure_2d",
"tqqmmtur_d",
"texture_2d",
"textue_2d",
"tUUxtureE",
"tKKture_Dd",
"0exture_2d_a__rat",
"tpturl_2_Array",
"txture_2M_array",
"texture_2d_array",
"BBexture_2d_array",
"nnxtbbre_2_a99ray",
"texturEE2d_aAAray",
"tex66ur5_3d",
"tHxture_3d",
"teHHuxe_3d",
"texture_3d",
"tzxturny_0d",
"teture_3d",
"Hexture3k",
"textur_cubc",
"trrxtoorecbe",
"textreJJcub",
"texture_cube",
"0Cxture_cube",
"99eFtureAAcbx",
"textcre_cube",
"Sexture_cube_array",
"txtureBBcobe_arras",
"teture_cube_array",
"texture_cube_array",
"texturemmebe_array",
"tQQturPP_cube_arragg",
"textr_cubBrray",
"teKKNllre_eth_2d",
"texture_ephrr2d",
"rppture_depth_2d",
"texture_depth_2d",
"texture_deyPth_2d",
"extue_dZZpth_ccd",
"texure_depth_2",
"textu00e_depth_2d_array",
"tPJxture_BBsspth_2d_arry",
"teffture_wwepth_2dJJarra",
"texture_depth_2d_array",
"Iextu1e_dpth_2d_arraXX",
"extur_depth2_arry",
"texture_depth_2_array",
"tuxtreKKdepth_cube",
"44edture_depmh_ube",
"pexture_deoth_cube",
"texture_depth_cube",
"textre_djphhhNNcHHbe",
"textu33e_depth_EuwwUU",
"texture_dethuucbe",
"excurrr_depddh_cube_array",
"2exturePPttpth_cube_array",
"texture_depthwwcub1sarray",
"texture_depth_cube_array",
"nnexture_depthcc11be_array",
"texture_depthcube_array",
"texture_depth_cube_arry",
"texture_deIth_multsa66pleaaSS2d",
"texture_depth_mDltisamEEld_2d",
"texture_Iepth_multiccamRleV_2d",
"texture_depth_multisampled_2d",
"texture_dephmultisampled92d",
"texthraa_depth_multsampled_2d",
"texture_depth_SultisaLLped_2d",
"txfure_ertermma",
"teVturem4xqerna",
"textu___extenal",
"texture_external",
"texurQ_eternal",
"textureddetRErnal",
"text9re_extenal",
"t0xtre_multisamCCe_2d",
"texure_zulisampled_2d",
"texccure_multisampled_2d",
"texture_multisampled_2d",
"tOxture_mu_tisampled2QQ",
"exture_multsampledtt2d",
"textCCEe_mult33samzzled_ppd",
"textudde_storaghh_1d",
"_etur77_66torage_1d",
"texture_storaPe_1d",
"texture_storage_1d",
"twxture_storage_1d",
"textur_straguu_1",
"texture_storaXXe_6d",
"textRRr_sorag_2d",
"textrestVVrag12d",
"texture_HHtorGGge_2d",
"texture_storage_2d",
"tFFxture_storMge_7d",
"texture_storage_d",
"3xTugge_stoage_2d",
"text_rP_Qtorage12d_arrKKy",
"tExture_strage_2d_array",
"extMre_storage_d_array",
"texture_storage_2d_array",
"texturGGst77ragX_2d_SSrray",
"textturFF_storae_2d_arraK",
"textuoe_storage_2dssZarrUUy",
"texturestorage_3d",
"telture_storage_3d",
"texture_htorage_3d",
"texture_storage_3d",
"texturTTKstorage_d",
"texturww_storagee3",
"textureKsjjragvv_3d",
"Y2",
"EEI",
"u3QQ",
"u32",
"P",
"H3ff",
"u3n",
"Fc66",
"ssech",
"llFec",
"vec2",
"jj20",
"veg2",
"vce",
"ffc2f",
"ve",
"ve2f",
"vec2f",
"vqc2f",
"AAe",
"ec2f",
"vec2j",
"ZZec2h",
"PPecII2",
"vec2h",
"ZZec2h",
"vnnc2h",
"HekkZ222",
"ec2",
"RcNQQ",
"eDi",
"vec2i",
"s3c2cu",
"vRR2i",
"vc2JJl",
"MMu",
"v66T7",
"vQQcJu",
"vec2u",
"Auc2",
"ve2",
"yeq3",
"vxxc3",
"rr",
"e993",
"vec3",
"ec3",
"vlH",
"ec",
"uec3",
"vc3f",
"EEtmec3f",
"vec3f",
"vec",
"ec3rr",
"xc3f",
"vezz",
"vec3e",
"uc3Zp",
"vec3h",
"00uc7TT",
"vvJJ",
"vecQh",
"ve3R",
"e",
"veprPP",
"vec3i",
"xxeDD88i",
"lldmYYqqi",
"vFFc__",
"rrNNc3u",
"leM3u",
"c3",
"vec3u",
"xlc3u",
"ec3u",
"ae44u",
"WWeG4",
"vjjc",
"vjjc4",
"vec4",
"vj4",
"ve4",
"99ec4",
"vyVV4f",
"ec4xZ",
"v33vvf",
"vec4f",
"vecs9",
"veF4",
"uec4f",
"eIKK",
"ve4J",
"vSSCCXXh",
"vec4h",
"JecWW6ZZ",
"ecd5",
"vBBcBU",
"JJ0c411",
"vectti",
"vttc",
"vec4i",
"veL4i",
"v1c4i",
"veww4i",
"ece",
"vc4u",
"vec4NN",
"vec4u",
"vUlRR__u",
"vecHu",
"vrCC4u",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseBuiltinType(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(BuiltinTypeParser);
} // namespace
} // namespace tint::core