| // Copyright 2022 The Tint Authors. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // File generated by tools/src/cmd/gen |
| // using the template: |
| // src/tint/lang/core/builtin_bench.cc.tmpl |
| // |
| // Do not modify this file directly |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| #include "src/tint/lang/core/builtin.h" |
| |
| #include <array> |
| |
| #include "benchmark/benchmark.h" |
| |
| namespace tint::core { |
| namespace { |
| |
| void BuiltinParser(::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", |
| "CCtx", |
| "mt2x2", |
| "mat2x__", |
| "mat2x2", |
| "attxPP", |
| "mdd32x2", |
| "yyK2x2", |
| "m2uu", |
| "ma0nnx2i", |
| "KanuuCC2f", |
| "mat2x2f", |
| "mlX2x2f", |
| "oat2pp2f", |
| "wwat22f", |
| "matguum", |
| "mt2ma2", |
| "Tat2xZRRh", |
| "mat2x2h", |
| "ma8T2xOh", |
| "m0at2x2h", |
| "mBBt2x2h", |
| "Matpp", |
| "Oat2x3", |
| "GGG2x3", |
| "mat2x3", |
| "mHHt2113", |
| "mateF63", |
| "matx", |
| "mat2ii3l", |
| "mt2x3f", |
| "IIvvt2x39", |
| "mat2x3f", |
| "mat23f", |
| "mat2h3f", |
| "mllt2xPzz", |
| "t3h", |
| "mtffxqqh", |
| "mtJJx3dd", |
| "mat2x3h", |
| "mzz2X3h", |
| "matx32", |
| "maN2yy3h", |
| "atxO", |
| "rauExP", |
| "meet22dd", |
| "mat2x4", |
| "maV92", |
| "maI2x1", |
| "mab2x4", |
| "matzf", |
| "mao2ii4f", |
| "mat45", |
| "mat2x4f", |
| "at2xSf", |
| "mat22f", |
| "maG1C4f", |
| "maff284h", |
| "t2x4h", |
| "SSatJJx4h", |
| "mat2x4h", |
| "atx9h", |
| "maJJbbTT4h", |
| "66a2xh", |
| "ma663u", |
| "Wa3x2", |
| "ma32", |
| "mat3x2", |
| "ma3x2", |
| "rat3x2", |
| "m2t3xB", |
| "matxBBf", |
| "maRR3xf", |
| "maVV0Lf", |
| "mat3x2f", |
| "a3OOK2f", |
| "magw3xf", |
| "hht3L2f", |
| "aKii3xh", |
| "ma3x2h", |
| "UUa3882", |
| "mat3x2h", |
| "rrvvt3x2h", |
| "m3xwmm", |
| "j443x2h", |
| "matXx3", |
| "m8t3x3", |
| "mat3vEE", |
| "mat3x3", |
| "mzzi3x", |
| "maGGQ3JJ3", |
| "mat3ss3", |
| "matKxPf", |
| "mat3ttf", |
| "mt3x3", |
| "mat3x3f", |
| "mMMt3x3f", |
| "maJ03x3f", |
| "V8x3", |
| "maKggx3hh", |
| "maf3x3h", |
| "matQ7x3h", |
| "mat3x3h", |
| "mat3YYh", |
| "mak3x3", |
| "man3x2", |
| "mFFx4", |
| "GGatPPuUU", |
| "mEEFa4", |
| "mat3x4", |
| "mBet3dd4", |
| "55atExcc", |
| "txKK", |
| "mat3x4R", |
| "maDx49", |
| "mt3x4f", |
| "mat3x4f", |
| "aaat3I", |
| "m77t3x4f", |
| "matIx4f", |
| "md3x4h", |
| "mat34h", |
| "mtt4h", |
| "mat3x4h", |
| "ma3XX3x4h", |
| "Eat34h", |
| "maXX3x4", |
| "mxBt4x2", |
| "Wt4x", |
| "mat66x2", |
| "mat4x2", |
| "atTv0", |
| "kt", |
| "mpt4x", |
| "at112f", |
| "EaJ4yBBf", |
| "mqIm4x2f", |
| "mat4x2f", |
| "ma4xFf", |
| "Yt4x2f", |
| "mHHtDh2f", |
| "Ht22h", |
| "matx2", |
| "matx2h", |
| "mat4x2h", |
| "matx2h", |
| "matddx2h", |
| "Oat4x2h", |
| "bbtB3", |
| "m00tx3", |
| "hat4x3", |
| "mat4x3", |
| "matgYx", |
| "Oat4x3", |
| "mhx3", |
| "fpaEEx3f", |
| "mavx3f", |
| "mzztx3f", |
| "mat4x3f", |
| "ma4x3f", |
| "OOaJxii", |
| "mft4G3f", |
| "mat4x322T", |
| "datlx3h", |
| "bat4x3h", |
| "mat4x3h", |
| "BBatx3h", |
| "PPIXt4S3h", |
| "mjjt4x3h", |
| "macc4_4", |
| "SS6zz4xx", |
| "mtx", |
| "mat4x4", |
| "mxxtvN", |
| "AA00t44", |
| "tyexy", |
| "mabWWx0f", |
| "ttatMMxmf", |
| "madf", |
| "mat4x4f", |
| "mat_4f", |
| "Vat4EE4f", |
| "mat44f", |
| "mRIxah", |
| "ma4mmh", |
| "at4x4p", |
| "mat4x4h", |
| "mat4xh", |
| "aaxh", |
| "mad4x4h", |
| "pCPtd", |
| "p", |
| "5tr", |
| "ptr", |
| "ff99j", |
| "YYvXR", |
| "r", |
| "XX8m5le", |
| "mpler", |
| "sccmlppr", |
| "sampler", |
| "sampver", |
| "EESSmplr", |
| "smplr", |
| "samplecomp_risa", |
| "sampler_co_prwwson", |
| "samplerdd99omparison", |
| "sampler_comparison", |
| "ampler_o99paPPison", |
| "saplerKKcomparison", |
| "saMpler_oomDDarison", |
| "teiie_1B", |
| "txureq1d", |
| "txt00rLL_d", |
| "texture_1d", |
| "tnxture_16vv", |
| "trrxtur_nd", |
| "xxture_eed", |
| "CCNOxture_2d", |
| "txture_2d", |
| "tex4uae_2d", |
| "texture_2d", |
| "extuNNe_2NN", |
| "texture2d", |
| "tuxtre2d", |
| "teYYtuAe_2d_arESy", |
| "texture_2d_0rray", |
| "texture_2d_aarray", |
| "texture_2d_array", |
| "texturmm_2d_arra", |
| "texture_2d_aray", |
| "teEuUUe_2darray", |
| "tKKture_Dd", |
| "text__r0_3d", |
| "tAtuel3p", |
| "texture_3d", |
| "textue_3d", |
| "texturBB_3d", |
| "nnbb99re_3d", |
| "AAEExture_cub", |
| "t66Ttu5e_cube", |
| "textuHe_cube", |
| "texture_cube", |
| "textrexxHcub", |
| "tzx0uryy_cnbe", |
| "texture_cue", |
| "texurH_kube_array", |
| "exture_cube_array", |
| "ooexrrre_cbe_array", |
| "texture_cube_array", |
| "textre_cubJJarray", |
| "tCCxtu0e_cube_arry", |
| "texturAAcxbe99aFray", |
| "textcre_depth_2d", |
| "texture_Septh_2d", |
| "textureodpthBB2d", |
| "texture_depth_2d", |
| "texture_dept_2d", |
| "textummedepth_2d", |
| "toxture_ggeQQtPP2d", |
| "tetur_dptB_2d_rray", |
| "texNure_deKKh2d_arrlly", |
| "teture_dpth_2d_arrray", |
| "texture_depth_2d_array", |
| "texture_epth_ppd_array", |
| "teyturPP_depth_2d_array", |
| "texture_ZZptcc_2d_arry", |
| "txtue_depth_cube", |
| "texture00depth_cube", |
| "texPPuBB_deJth_cusse", |
| "texture_depth_cube", |
| "texJJre_dffpwwh_fube", |
| "textIre_depXXh_cub", |
| "textur_ph_cue", |
| "textue_depth_cube_array", |
| "tKKxtue_depth_cube_array", |
| "teture_d44ptm_cube_adray", |
| "texture_depth_cube_array", |
| "pexture_deoth_cube_array", |
| "thhHxtureNdepth_cubejarray", |
| "texwwuUUe_depthEc33be_array", |
| "texture_dept_multiuuampled_2", |
| "ddextKre_depth_ultisampcerr_2d", |
| "textuPPe_depr_multttsample2_2d", |
| "texture_depth_multisampled_2d", |
| "1exture_depth_wwsltisampled_2d", |
| "textuce_depth_mnnltisamp11ed_2d", |
| "texture_depth_multisapled_2d", |
| "texture_externl", |
| "teSS66ue_exaaeInal", |
| "textuEEe_extenal", |
| "texture_external", |
| "ccexture_exVerIRl", |
| "te9tue_extrnal", |
| "taaxture_exterha", |
| "texture_multisamLLeS_2d", |
| "tefurmm_mutisampled_2d", |
| "texture_mul4isampld_qV", |
| "texture_multisampled_2d", |
| "texture_multisa_pled_d", |
| "texure_multisampledQd", |
| "texRRuremultisampledEd2d", |
| "textur_st9rage_1d", |
| "tCCx0ure_strag_1", |
| "textuezstorae_1d", |
| "texture_storage_1d", |
| "texccure_storage_1d", |
| "textureOQQ_orge_1d", |
| "teturettstrage_1d", |
| "textCCrepzzstEr33ge_2d", |
| "textudde_storaghh_2d", |
| "_etur77_66torage_2d", |
| "texture_storage_2d", |
| "texture_storaPe_2d", |
| "twxture_storage_2d", |
| "textur_straguu_2", |
| "textureXXstorage_6d_array", |
| "extuRRestorage_2d_aray", |
| "txtre_storage_2dVVarr1", |
| "texture_storage_2d_array", |
| "GGexture_storHHge_2d_array", |
| "MFFxt7re_storage_2d_array", |
| "texture_storage_d_array", |
| "3xTugge_stoage_3d", |
| "texturP_QtKKrag1__d", |
| "textre_storageE3d", |
| "texture_storage_3d", |
| "tMture_storage_d", |
| "t77xture_sGGorSSe_3d", |
| "txtttre_storage_3FF", |
| "uZZss2", |
| "u2", |
| "u3l", |
| "u32", |
| "u3h", |
| "uTT", |
| "ww2", |
| "vKvjj", |
| "vYY", |
| "EcI2", |
| "vec2", |
| "vecQQ", |
| "Pc", |
| "veffH", |
| "vec2n", |
| "g6F2f", |
| "vssh8f", |
| "vec2f", |
| "veFllf", |
| "00e2j", |
| "gec2f", |
| "vece", |
| "ffc2h", |
| "ve", |
| "vec2h", |
| "ve2h", |
| "vqc2h", |
| "AAe", |
| "ec2i", |
| "vec2j", |
| "ZZec2i", |
| "vec2i", |
| "PPecII2", |
| "ZZec2i", |
| "vnnc2i", |
| "HekkZ222", |
| "ec2", |
| "RcNQQ", |
| "vec2u", |
| "eDu", |
| "s3c2cu", |
| "vRR2u", |
| "vlJJ3", |
| "MM", |
| "vT63", |
| "vec3", |
| "QQec3", |
| "vuA", |
| "e3", |
| "yeq3", |
| "vec3xx", |
| "crr", |
| "vec3f", |
| "v99cf", |
| "vecf", |
| "ecHl", |
| "e_h", |
| "uec3", |
| "vc3h", |
| "vec3h", |
| "EEtmec3h", |
| "vec", |
| "ec3rr", |
| "xc3i", |
| "vezz", |
| "vec3e", |
| "vec3i", |
| "uc3Zp", |
| "00uc7TT", |
| "vvJJ", |
| "vecQu", |
| "ve3R", |
| "e", |
| "vec3u", |
| "veprPP", |
| "xxeDD88u", |
| "lldmYYqqu", |
| "FFec4", |
| "rGecNN", |
| "Mecl", |
| "vec4", |
| "c", |
| "qxl4", |
| "ve4", |
| "ae44f", |
| "vec4WW", |
| "vecjj", |
| "vec4f", |
| "vjjc4f", |
| "vj1f", |
| "vc4f", |
| "vec499", |
| "vyVV4h", |
| "ec4xZ", |
| "vec4h", |
| "v33vvh", |
| "vecs9", |
| "veF4", |
| "uec4i", |
| "eIKK", |
| "ve4J", |
| "vec4i", |
| "vSSCCXXi", |
| "JecWW6ZZ", |
| "ecd5", |
| "vBBcBU", |
| "JJ0c411", |
| "vecttu", |
| "vec4u", |
| "vttc", |
| "veL4u", |
| "v1c4u", |
| }; |
| for (auto _ : state) { |
| for (auto* str : kStrings) { |
| auto result = ParseBuiltin(str); |
| benchmark::DoNotOptimize(result); |
| } |
| } |
| } // NOLINT(readability/fn_size) |
| |
| BENCHMARK(BuiltinParser); |
| |
| } // namespace |
| } // namespace tint::core |