[all-commits] [llvm/llvm-project] 584ef9: [Clang][AArch64] Relax SVE bf16 requirement for op...
Paul Walker via All-commits
all-commits at lists.llvm.org
Fri Jul 11 07:18:44 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 584ef947621b33c45c035cc32c7c10a417fb191c
https://github.com/llvm/llvm-project/commit/584ef947621b33c45c035cc32c7c10a417fb191c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-11 (Fri, 11 Jul 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write_lane_zt.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_zero.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_load_struct.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store_struct.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bf16.cpp
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bf16_non_streaming_only.cpp
R clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
R clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
Log Message:
-----------
[Clang][AArch64] Relax SVE bf16 requirement for opaque builtins. (#147795)
Feature flags protect instructions not datatypes. This means only
builtins associated with +bf16 protected instructions must be guarded.
Those that treat the data as opaque 16-bit values (e.g. loads, store and
shuffles) should be freely available with the underlying SVE feature.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list