@@ -24,6 +24,7 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
2424 "gcsss" => "__builtin_arm_gcsss",
2525 "isb" => "__builtin_arm_isb",
2626 "prefetch" => "__builtin_arm_prefetch",
27+ "range.prefetch" => "__builtin_arm_range_prefetch",
2728 "sme.in.streaming.mode" => "__builtin_arm_in_streaming_mode",
2829 "sve.aesd" => "__builtin_sve_svaesd_u8",
2930 "sve.aese" => "__builtin_sve_svaese_u8",
@@ -414,6 +415,7 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
414415 "s.wait.event.export.ready" => "__builtin_amdgcn_s_wait_event_export_ready",
415416 "s.wait.tensorcnt" => "__builtin_amdgcn_s_wait_tensorcnt",
416417 "s.waitcnt" => "__builtin_amdgcn_s_waitcnt",
418+ "s.wakeup.barrier" => "__builtin_amdgcn_s_wakeup_barrier",
417419 "sad.hi.u8" => "__builtin_amdgcn_sad_hi_u8",
418420 "sad.u16" => "__builtin_amdgcn_sad_u16",
419421 "sad.u8" => "__builtin_amdgcn_sad_u8",
@@ -4836,19 +4838,24 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
48364838 "add.rm.d" => "__nvvm_add_rm_d",
48374839 "add.rm.f" => "__nvvm_add_rm_f",
48384840 "add.rm.ftz.f" => "__nvvm_add_rm_ftz_f",
4841+ "add.rm.ftz.sat.f" => "__nvvm_add_rm_ftz_sat_f",
4842+ "add.rm.sat.f" => "__nvvm_add_rm_sat_f",
48394843 "add.rn.d" => "__nvvm_add_rn_d",
48404844 "add.rn.f" => "__nvvm_add_rn_f",
48414845 "add.rn.ftz.f" => "__nvvm_add_rn_ftz_f",
4846+ "add.rn.ftz.sat.f" => "__nvvm_add_rn_ftz_sat_f",
4847+ "add.rn.sat.f" => "__nvvm_add_rn_sat_f",
48424848 "add.rp.d" => "__nvvm_add_rp_d",
48434849 "add.rp.f" => "__nvvm_add_rp_f",
48444850 "add.rp.ftz.f" => "__nvvm_add_rp_ftz_f",
4851+ "add.rp.ftz.sat.f" => "__nvvm_add_rp_ftz_sat_f",
4852+ "add.rp.sat.f" => "__nvvm_add_rp_sat_f",
48454853 "add.rz.d" => "__nvvm_add_rz_d",
48464854 "add.rz.f" => "__nvvm_add_rz_f",
48474855 "add.rz.ftz.f" => "__nvvm_add_rz_ftz_f",
4856+ "add.rz.ftz.sat.f" => "__nvvm_add_rz_ftz_sat_f",
4857+ "add.rz.sat.f" => "__nvvm_add_rz_sat_f",
48484858 "bar.warp.sync" => "__nvvm_bar_warp_sync",
4849- "barrier0.and" => "__nvvm_bar0_and",
4850- "barrier0.or" => "__nvvm_bar0_or",
4851- "barrier0.popc" => "__nvvm_bar0_popc",
48524859 "bf16x2.to.ue8m0x2.rp" => "__nvvm_bf16x2_to_ue8m0x2_rp",
48534860 "bf16x2.to.ue8m0x2.rp.satfinite" => "__nvvm_bf16x2_to_ue8m0x2_rp_satfinite",
48544861 "bf16x2.to.ue8m0x2.rz" => "__nvvm_bf16x2_to_ue8m0x2_rz",
@@ -5050,6 +5057,8 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
50505057 "fma.rm.d" => "__nvvm_fma_rm_d",
50515058 "fma.rm.f" => "__nvvm_fma_rm_f",
50525059 "fma.rm.ftz.f" => "__nvvm_fma_rm_ftz_f",
5060+ "fma.rm.ftz.sat.f" => "__nvvm_fma_rm_ftz_sat_f",
5061+ "fma.rm.sat.f" => "__nvvm_fma_rm_sat_f",
50535062 "fma.rn.bf16" => "__nvvm_fma_rn_bf16",
50545063 "fma.rn.bf16x2" => "__nvvm_fma_rn_bf16x2",
50555064 "fma.rn.d" => "__nvvm_fma_rn_d",
@@ -5061,16 +5070,22 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
50615070 "fma.rn.ftz.relu.bf16x2" => "__nvvm_fma_rn_ftz_relu_bf16x2",
50625071 "fma.rn.ftz.sat.bf16" => "__nvvm_fma_rn_ftz_sat_bf16",
50635072 "fma.rn.ftz.sat.bf16x2" => "__nvvm_fma_rn_ftz_sat_bf16x2",
5073+ "fma.rn.ftz.sat.f" => "__nvvm_fma_rn_ftz_sat_f",
50645074 "fma.rn.relu.bf16" => "__nvvm_fma_rn_relu_bf16",
50655075 "fma.rn.relu.bf16x2" => "__nvvm_fma_rn_relu_bf16x2",
50665076 "fma.rn.sat.bf16" => "__nvvm_fma_rn_sat_bf16",
50675077 "fma.rn.sat.bf16x2" => "__nvvm_fma_rn_sat_bf16x2",
5078+ "fma.rn.sat.f" => "__nvvm_fma_rn_sat_f",
50685079 "fma.rp.d" => "__nvvm_fma_rp_d",
50695080 "fma.rp.f" => "__nvvm_fma_rp_f",
50705081 "fma.rp.ftz.f" => "__nvvm_fma_rp_ftz_f",
5082+ "fma.rp.ftz.sat.f" => "__nvvm_fma_rp_ftz_sat_f",
5083+ "fma.rp.sat.f" => "__nvvm_fma_rp_sat_f",
50715084 "fma.rz.d" => "__nvvm_fma_rz_d",
50725085 "fma.rz.f" => "__nvvm_fma_rz_f",
50735086 "fma.rz.ftz.f" => "__nvvm_fma_rz_ftz_f",
5087+ "fma.rz.ftz.sat.f" => "__nvvm_fma_rz_ftz_sat_f",
5088+ "fma.rz.sat.f" => "__nvvm_fma_rz_sat_f",
50745089 "fmax.bf16" => "__nvvm_fmax_bf16",
50755090 "fmax.bf16x2" => "__nvvm_fmax_bf16x2",
50765091 "fmax.d" => "__nvvm_fmax_d",
@@ -5274,6 +5289,7 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
52745289 "read.ptx.sreg.pm1" => "__nvvm_read_ptx_sreg_pm1",
52755290 "read.ptx.sreg.pm2" => "__nvvm_read_ptx_sreg_pm2",
52765291 "read.ptx.sreg.pm3" => "__nvvm_read_ptx_sreg_pm3",
5292+ "read.ptx.sreg.pm4" => "__nvvm_read_ptx_sreg_pm4",
52775293 "read.ptx.sreg.smid" => "__nvvm_read_ptx_sreg_smid",
52785294 "read.ptx.sreg.tid.w" => "__nvvm_read_ptx_sreg_tid_w",
52795295 "read.ptx.sreg.tid.x" => "__nvvm_read_ptx_sreg_tid_x",
@@ -6370,13 +6386,15 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
63706386 fn spv(name: &str, full_name: &str) -> &'static str {
63716387 match name {
63726388 // spv
6389+ "group.memory.barrier.with.group.sync" => "__builtin_spirv_group_barrier",
63736390 "num.subgroups" => "__builtin_spirv_num_subgroups",
63746391 "subgroup.id" => "__builtin_spirv_subgroup_id",
63756392 "subgroup.local.invocation.id" => {
63766393 "__builtin_spirv_subgroup_local_invocation_id"
63776394 }
63786395 "subgroup.max.size" => "__builtin_spirv_subgroup_max_size",
63796396 "subgroup.size" => "__builtin_spirv_subgroup_size",
6397+ "wave.ballot" => "__builtin_spirv_subgroup_ballot",
63806398 _ => unimplemented!("***** unsupported LLVM intrinsic {full_name}"),
63816399 }
63826400 }
@@ -7711,8 +7729,6 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
77117729 "avx.ptestnzc.256" => "__builtin_ia32_ptestnzc256",
77127730 "avx.ptestz.256" => "__builtin_ia32_ptestz256",
77137731 "avx.rcp.ps.256" => "__builtin_ia32_rcpps256",
7714- "avx.round.pd.256" => "__builtin_ia32_roundpd256",
7715- "avx.round.ps.256" => "__builtin_ia32_roundps256",
77167732 "avx.rsqrt.ps.256" => "__builtin_ia32_rsqrtps256",
77177733 "avx.vpermilvar.pd" => "__builtin_ia32_vpermilvarpd",
77187734 "avx.vpermilvar.pd.256" => "__builtin_ia32_vpermilvarpd256",
@@ -8829,10 +8845,6 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
88298845 "sse41.ptestc" => "__builtin_ia32_ptestc128",
88308846 "sse41.ptestnzc" => "__builtin_ia32_ptestnzc128",
88318847 "sse41.ptestz" => "__builtin_ia32_ptestz128",
8832- "sse41.round.pd" => "__builtin_ia32_roundpd",
8833- "sse41.round.ps" => "__builtin_ia32_roundps",
8834- "sse41.round.sd" => "__builtin_ia32_roundsd",
8835- "sse41.round.ss" => "__builtin_ia32_roundss",
88368848 "sse42.crc32.32.16" => "__builtin_ia32_crc32hi",
88378849 "sse42.crc32.32.32" => "__builtin_ia32_crc32si",
88388850 "sse42.crc32.32.8" => "__builtin_ia32_crc32qi",
@@ -8869,10 +8881,6 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
88698881 "ssse3.psign.w.128" => "__builtin_ia32_psignw128",
88708882 "sttilecfg" => "__builtin_ia32_tile_storeconfig",
88718883 "stui" => "__builtin_ia32_stui",
8872- "t2rpntlvwz0rs" => "__builtin_ia32_t2rpntlvwz0rs",
8873- "t2rpntlvwz0rst1" => "__builtin_ia32_t2rpntlvwz0rst1",
8874- "t2rpntlvwz1rs" => "__builtin_ia32_t2rpntlvwz1rs",
8875- "t2rpntlvwz1rst1" => "__builtin_ia32_t2rpntlvwz1rst1",
88768884 "tbm.bextri.u32" => "__builtin_ia32_bextri_u32",
88778885 "tbm.bextri.u64" => "__builtin_ia32_bextri_u64",
88788886 "tcmmimfp16ps" => "__builtin_ia32_tcmmimfp16ps",
@@ -8881,14 +8889,19 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
88818889 "tcmmrlfp16ps.internal" => "__builtin_ia32_tcmmrlfp16ps_internal",
88828890 "tcvtrowd2ps" => "__builtin_ia32_tcvtrowd2ps",
88838891 "tcvtrowd2ps.internal" => "__builtin_ia32_tcvtrowd2ps_internal",
8892+ "tcvtrowd2psi" => "__builtin_ia32_tcvtrowd2psi",
88848893 "tcvtrowps2bf16h" => "__builtin_ia32_tcvtrowps2bf16h",
88858894 "tcvtrowps2bf16h.internal" => "__builtin_ia32_tcvtrowps2bf16h_internal",
8895+ "tcvtrowps2bf16hi" => "__builtin_ia32_tcvtrowps2bf16hi",
88868896 "tcvtrowps2bf16l" => "__builtin_ia32_tcvtrowps2bf16l",
88878897 "tcvtrowps2bf16l.internal" => "__builtin_ia32_tcvtrowps2bf16l_internal",
8898+ "tcvtrowps2bf16li" => "__builtin_ia32_tcvtrowps2bf16li",
88888899 "tcvtrowps2phh" => "__builtin_ia32_tcvtrowps2phh",
88898900 "tcvtrowps2phh.internal" => "__builtin_ia32_tcvtrowps2phh_internal",
8901+ "tcvtrowps2phhi" => "__builtin_ia32_tcvtrowps2phhi",
88908902 "tcvtrowps2phl" => "__builtin_ia32_tcvtrowps2phl",
88918903 "tcvtrowps2phl.internal" => "__builtin_ia32_tcvtrowps2phl_internal",
8904+ "tcvtrowps2phli" => "__builtin_ia32_tcvtrowps2phli",
88928905 "tdpbf16ps" => "__builtin_ia32_tdpbf16ps",
88938906 "tdpbf16ps.internal" => "__builtin_ia32_tdpbf16ps_internal",
88948907 "tdpbf8ps" => "__builtin_ia32_tdpbf8ps",
@@ -8920,6 +8933,7 @@ fn map_arch_intrinsic(full_name: &str) -> &'static str {
89208933 "tileloaddt164.internal" => "__builtin_ia32_tileloaddt164_internal",
89218934 "tilemovrow" => "__builtin_ia32_tilemovrow",
89228935 "tilemovrow.internal" => "__builtin_ia32_tilemovrow_internal",
8936+ "tilemovrowi" => "__builtin_ia32_tilemovrowi",
89238937 "tilerelease" => "__builtin_ia32_tilerelease",
89248938 "tilestored64" => "__builtin_ia32_tilestored64",
89258939 "tilestored64.internal" => "__builtin_ia32_tilestored64_internal",
0 commit comments