llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-aarch64

Author: Tomas Matheson (tmatheson-arm)

<details>
<summary>Changes</summary>

When FMV was added to AArch64, it added a dependency expansion step after the 
-cc1 command line was parsed but before Sema, in 
`AArch64TargetInfo::initFeatureMap`. One effect of this is that 
`-target-features` specified on the `-cc1` command line had some level of 
incomplete and broken dependency expansion. Since then, many tests have been 
added which depend on this behaviour.

The dependency expansion can be considered broken at this stage because 
dependency expansion is already performed by the driver to generate the 
`-target-feature` flags using an `ExtensionSet`. This class does dependency 
evaluation and then generates a flattened representation of the dependency 
graph in the form of `-target-features`, which are passed to `-cc1` in an 
arbitrary order (determined by the order of bits in the bitset). Any dependency 
expansion done after `-cc1` will be inherently contradictory. It is impossible 
to accurately treat negative features once the dependency graph has been 
flattened and the order randomised.

This patch fixes a large number of those tests, specifically ones where only a 
dependent feature (e.g. `-target-feature +sme2p1`) was added to the test `-cc1` 
command, and not the necessary dependencies (e.g. `-target-feature +sme`). Here 
is an example of the typical error that occurs with such tests when the 
dependency expansion is removed:
```
RUN: at line 4: /ssd/llvm/main/build/bin/clang -cc1 -internal-isystem 
/ssd/llvm/main/build/lib/clang/19/include -nostdsysteminc 
-fclang-abi-compat=latest -triple aarch64 -target-feature +sve2 -O1 -Werror 
-Wall -emit-llvm -o - 
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c | 
/ssd/llvm/main/build/bin/FileCheck 
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
+ /ssd/llvm/main/build/bin/clang -cc1 -internal-isystem 
/ssd/llvm/main/build/lib/clang/19/include -nostdsysteminc 
-fclang-abi-compat=latest -triple aarch64 -target-feature +sve2 -O1 -Werror 
-Wall -emit-llvm -o - 
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
+ /ssd/llvm/main/build/bin/FileCheck 
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c:28:10:
 error: SVE vector type 'svint8_t' (aka '__SVInt8_t') cannot be used in a 
target without sve
   28 | svint8_t test_svrsubhnt_s16(svint8_t op1, svint16_t op2, svint16_t op3)
      |          ^
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c:28:10:
 error: SVE vector type 'svint16_t' (aka '__SVInt16_t') cannot be used in a 
target without sve
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c:28:10:
 error: SVE vector type 'svint16_t' (aka '__SVInt16_t') cannot be used in a 
target without sve
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c:28:10:
 error: SVE vector type 'svint8_t' (aka '__SVInt8_t') cannot be used in a 
target without sve
/ssd/llvm/main/clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c:43:11:
 error: SVE vector type 'svint16_t' (aka '__SVInt16_t') cannot be used in a 
target without sve
   43 | svint16_t test_svrsubhnt_s32(svint16_t op1, svint32_t op2, svint32_t 
op3)
      |           ^
```

The tests have been updated in a mechanical change with the following script:

```python
#!/usr/bin/env python3

import re


FILES = [
    "clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c",
    "clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c",
    "clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c",
    
"clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c",
    "clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c",
    "clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c",
    "clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c",
    "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c",
    "clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c",
    "clang/test/CodeGen/arm-vector_type-params-returns.c",
    "clang/test/Sema/aarch64-incompat-sm-builtin-calls.c",
    "clang/test/Sema/aarch64-sme-func-attrs.c",
    "clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_b16b16.cpp",
    "clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp",
    "clang/test/Sema/aarch64-sme2p1-diagnostics.c",
    "clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp",
    "clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_n.cpp",
    "clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp",
]


def update_runline(runline: str):
    target_features = re.findall(r"-target-feature ([+-][\w-]+)\b", runline)
    if not target_features:
        # Nothing to do
        return runline

    print(f"Features: {target_features}")
    print(f"old runline: {runline}")

    sme2_dependent = (
        "+sme2p1" in target_features
        or "+sme-f64f64" in target_features
        or "+sme-i16i64" in target_features
    )
    sve2_dependent = (
        "+sve2p1" in target_features
        or "+sve2-aes" in target_features
        or "+sve2-bitperm" in target_features
        or "+sve2-sha3" in target_features
        or "+sve2-sm4" in target_features
    )
    sme2 = "+sme2" in target_features
    sve2 = "+sve2" in target_features
    sme = "+sme" in target_features
    sve = "+sve" in target_features
    bf16 = "+bf16" in target_features

    if sme2_dependent and not sme2:
        runline = re.sub(
            r"(?=-target-feature \+[\w-]+\b)", "-target-feature +sme2 ", 
runline, 1
        )
        sme2 = True

    if sve2_dependent and not sve2:
        runline = re.sub(
            r"(?=-target-feature \+[\w-]+\b)", "-target-feature +sve2 ", 
runline, 1
        )
        sve2 = True

    if sme2 and not sme:
        runline = re.sub(
            r"(?=-target-feature \+[\w-]+\b)", "-target-feature +sme ", 
runline, 1
        )
        sme = True

    if sve2 and not sve:
        runline = re.sub(
            r"(?=-target-feature \+[\w-]+\b)", "-target-feature +sve ", 
runline, 1
        )
        sve = True

    if sme and not bf16:
        runline = re.sub(
            r"(?=-target-feature \+[\w-]+\b)", "-target-feature +bf16 ", 
runline, 1
        )
        bf16 = True

    print(f"new runline: {runline}")
    return runline


def main():
    for filename in FILES:
        print(f"-------- {filename} --------")
        with open(filename, "r") as input_file:
            lines = input_file.readlines()
        with open(filename, "w") as output_file:
            for line in lines:
                if line.startswith("// RUN: "):
                    line = update_runline(line)
                output_file.write(line)


if __name__ == "__main__":
    main()
```

The list of erroneous tests was generated by applying 
c0371abb7d0d3fd7093c117bf15da1e3ed0a1ce2, which effectively disables dependency 
expansion at this stage _except_ for FMV attributes (`target_versions` and 
`target_clonse`), and seeing which tests break.

c0371abb7d0d3fd7093c117bf15da1e3ed0a1ce2 is not part of this patch, because it 
would break tests for the `target` attribute, which now also depends on the 
same mechanism to work. To fix this, dependency expansion needs to be added to 
the handling of the `target` attribute and removed from `initFeatureMap`, but 
that will be a separate PR. Fixing these tests is NFC from a user-perspective 
and will make future work easier.

Here is a list of tests broken by c0371abb7d0d3fd7093c117bf15da1e3ed0a1ce2 that 
are not fixed in this PR:
```python
    # These look like tests that can't be fixed automatically like this.
    # diagnostics seen but not expected:
    "clang/test/CodeGen/aarch64-targetattr-crypto.c",
    "clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp",
    "clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c",
    "clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp",
    "clang/test/Sema/arm-sve-target.cpp",
    # Tests where the target features string has changed:
    "clang/test/CodeGen/aarch64-cpu-supports-target.c",
    "clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp",
    "clang/test/CodeGen/aarch64-targetattr.c",
    "clang/test/CodeGen/attr-target-clones-aarch64.c",
```


---

Patch is 571.01 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/93695.diff


280 Files Affected:

- (modified) clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c 
(+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c (+3-3) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c (+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
 (+6-6) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c 
(+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c 
(+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c 
(+3-3) 
- (modified) 
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c (+1-1) 
- (modified) 
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c (+1-1) 
- (modified) 
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c (+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c 
(+1-1) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c (+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c 
(+4-4) 
- (modified) 
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c 
(+4-4) 
- (modified) 
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c 
(+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c (+4-4) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c 
(+6-6) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c 
(+6-6) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c 
(+8-8) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c 
(+6-6) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c 
(+7-7) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c (+8-8) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c (+8-8) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c 
(+8-8) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c 
(+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c 
(+6-6) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c (+5-5) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c (+8-8) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c (+8-8) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c 
(+8-8) 
- (modified) 
clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c (+5-5) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c 
(+6-6) 
- (modified) clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c 
(+5-5) 


``````````diff
diff --git a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c 
b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
index b911c27914414..c341ff9bb29e6 100644
--- a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
+++ b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
@@ -1,10 +1,10 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py 
UTC_ARGS: --version 3
 // REQUIRES: aarch64-registered-target
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-i16i64 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-i16i64 -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-i16i64 -O1 -Werror -emit-llvm -o - %s | FileCheck 
%s -check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-i16i64 -O1 -Werror -emit-llvm -o - -x c++ %s | 
FileCheck %s -check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-i16i64 -S -O1 -Werror -o /dev/null %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 
-O1 -Werror -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 
-O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +sme-i16i64 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +sme-i16i64 -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck 
%s -check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 -S 
-O1 -Werror -o /dev/null %s
 
 #include <arm_sme.h>
 
diff --git a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c 
b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
index 37d5d73e97a6b..61c41450d6457 100644
--- a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
+++ b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
@@ -1,10 +1,10 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py 
UTC_ARGS: --version 3
 // REQUIRES: aarch64-registered-target
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror 
-emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror 
-emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-f64f64 -target-feature +sme-i16i64 -target-feature 
+bf16 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-f64f64 -target-feature +sme-i16i64 -target-feature 
+bf16 -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -S -O1 -Werror -o 
/dev/null %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - -x c++ %s | 
FileCheck %s -check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme -target-feature +sme2 -target-feature +sme-f64f64 
-target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - 
%s | FileCheck %s -check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme -target-feature +sme2 -target-feature +sme-f64f64 
-target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - 
-x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -S -O1 -Werror -o /dev/null %s
 
 #include <arm_sme.h>
 
diff --git a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c 
b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
index 72c63bc3389a7..9d205beb05f28 100644
--- a/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
+++ b/clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
@@ -1,10 +1,10 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py 
UTC_ARGS: --version 3
 // REQUIRES: aarch64-registered-target
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror 
-emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror 
-emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-f64f64 -target-feature +sme-i16i64 -target-feature 
+bf16 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme-f64f64 -target-feature +sme-i16i64 -target-feature 
+bf16 -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-CXX
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme-f64f64 -target-feature +sme-i16i64 -target-feature +bf16 -S -O1 -Werror -o 
/dev/null %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - %s | FileCheck %s 
-check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - -x c++ %s | 
FileCheck %s -check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme -target-feature +sme2 -target-feature +sme-f64f64 
-target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - 
%s | FileCheck %s -check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSME_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme -target-feature +sme2 -target-feature +sme-f64f64 
-target-feature +sme-i16i64 -target-feature +bf16 -O1 -Werror -emit-llvm -o - 
-x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme -target-feature +sme2 -target-feature +sme-f64f64 -target-feature 
+sme-i16i64 -target-feature +bf16 -S -O1 -Werror -o /dev/null %s
 
 #include <arm_sme.h>
 
diff --git a/clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
index ccf05de7f4e90..15b9ac42cbcf3 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 \
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +bf16 
-target-feature +sme -target-feature +sme2 \
 // RUN:   -disable-O0-optnone -Werror -emit-llvm -o - %s \
 // RUN: | opt -S -passes=mem2reg \
 // RUN: | opt -S -passes=inline \
diff --git a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
index 1dec2d6957a5f..135bcf743e5e6 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
@@ -2,11 +2,11 @@
 
 // REQUIRES: aarch64-registered-target
 
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme2 -target-feature +sme-i16i64 -target-feature +sme-f64f64 
-disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme2 -target-feature +sme-i16i64 -target-feature +sme-f64f64 
-disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSVE_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme2 -target-feature +sme-i16i64 -target-feature 
+sme-f64f64 -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s
-// RUN: %clang_cc1 -fclang-abi-compat=latest -DSVE_OVERLOADED_FORMS -triple 
aarch64 -target-feature +sme2 -target-feature +sme-i16i64 -target-feature 
+sme-f64f64 -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt 
-S -p mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+sme2 -target-feature +sme-i16i64 -target-feature +sme-f64f64 -S 
-disable-O0-optnone -Werror -Wall -o /dev/null %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 
-target-feature +sme-f64f64 -disable-O0-optnone -Werror -Wall -emit-llvm -o - 
%s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 
-target-feature +sme-f64f64 -disable-O0-optnone -Werror -Wall -emit-llvm -o - 
-x c++ %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s 
-check-prefix=CPP-CHECK
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSVE_OVERLOADED_FORMS -triple 
aarch64 -target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +sme-i16i64 -target-feature +sme-f64f64 -disable-O0-optnone 
-Werror -Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | 
FileCheck %s
+// RUN: %clang_cc1 -fclang-abi-compat=latest -DSVE_OVERLOADED_FORMS -triple 
aarch64 -target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +sme-i16i64 -target-feature +sme-f64f64 -disable-O0-optnone 
-Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
+// RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -target-feature +sme-i16i64 
-target-feature +sme-f64f64 -S -disable-O0-optnone -Werror -Wall -o /dev/null %s
 
 #include <arm_sme.h>
 
diff --git 
a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
index 9a8aa448d3780..6336f435b8687 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
@@ -1,10 +1,10 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py 
UTC_ARGS: --version 4
-// RUN: %clang_cc1                               -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature 
+sme-f16f16 -target-feature +b16b16 -O2 -Werror -Wall -emit-llvm -o - %s | 
FileCheck %s
-// RUN: %clang_cc1                        -x c++ -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature  
+sme-f8f16 -target-feature +b16b16 -O2 -Werror -Wall -emit-llvm -o - %s | 
FileCheck %s -check-prefix CHECK-CXX
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS        -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature  
+sme-f8f16 -target-feature +b16b16 -O2 -Werror -Wall -emit-llvm -o - %s | 
FileCheck %s
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -x c++ -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature 
+sme-f16f16 -target-feature +b16b16 -O2 -Werror -Wall -emit-llvm -o - %s | 
FileCheck %s -check-prefix CHECK-CXX
+// RUN: %clang_cc1                               -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -target-feature +sme-f16f16 -target-feature +b16b16 -O2 
-Werror -Wall -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1                        -x c++ -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -target-feature  +sme-f8f16 -target-feature +b16b16 -O2 
-Werror -Wall -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK-CXX
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS        -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -target-feature  +sme-f8f16 -target-feature +b16b16 -O2 
-Werror -Wall -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -x c++ -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -target-feature +sme-f16f16 -target-feature +b16b16 -O2 
-Werror -Wall -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK-CXX
 
-// RUN: %clang_cc1                               -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature 
+sme-f16f16 -target-feature +b16b16 -O2 -S -Werror -Wall -o /dev/null
+// RUN: %clang_cc1                               -fclang-abi-compat=latest 
-triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -target-feature +sme-f16f16 -target-feature +b16b16 -O2 
-S -Werror -Wall -o /dev/null
 
 // REQUIRES: aarch64-registered-target
 
diff --git a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
index 47ff02eb9fb5a..84521e7e47644 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
@@ -2,11 +2,11 @@
 
 // REQUIRES: aarch64-registered-target
 
-// RUN: %clang_cc1 -triple aarch64 -target-feature +sme2 -disable-O0-optnone 
-Werror -Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | 
FileCheck %s
-// RUN: %clang_cc1 -triple aarch64 -target-feature +sme2 -disable-O0-optnone 
-Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64 -target-feature 
+sme2 -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64 -target-feature 
+sme2 -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -triple aarch64 -target-feature +sme2 -S 
-disable-O0-optnone -Werror -Wall -o /dev/null %s
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | 
opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ 
%s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s 
-check-prefix=CPP-CHECK
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -disable-O0-optnone -Werror 
-Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | 
FileCheck %s
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64 -target-feature 
+bf16 -target-feature +sme -target-feature +sme2 -disable-O0-optnone -Werror 
-Wall -emit-llvm -o - -x c++ %s | opt -S -p mem2reg,instcombine,tailcallelim | 
FileCheck %s -check-prefix=CPP-CHECK
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature +sme 
-target-feature +sme2 -S -disable-O0-optnone -Werror -Wall -o /dev/null %s
 
 #include <arm_sme.h>
 
diff --git a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
index 21a8229bbf244..30d963d5425c4 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
@@ -1,14 +1,14 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
 // REQUIRES: aarch64-registered-target
-// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 
-target-feature +b16b16 \
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +bf16 
-target-feature +sme -target-feature +sme2 -target-feature +b16b16 \
 // RUN:  -Werror -emit-llvm -disable-O0-optnone -o - %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu 
-target-feature +sme2 -target-feature +b16b16 \
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu 
-target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +b16b16 \
 // RUN:  -Werror -emit-llvm -disable-O0-optnone -o - %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s
-// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 
-target-feature +b16b16 \
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +bf16 
-target-feature +sme -target-feature +sme2 -target-feature +b16b16 \
 // RUN:  -Werror -emit-llvm -disable-O0-optnone -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu 
-target-feature +sme2 -target-feature +b16b16 \
+// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu 
-target-feature +bf16 -target-feature +sme -target-feature +sme2 
-target-feature +b16b16 \
 // RUN:  -Werror -emit-llvm -disable-O0-optnone -o - -x c++ %s | opt -S -p 
mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
-// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 
-target-feature +b16b16 \
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +bf16 
-target-feature +sme -target-feature +sme2 -target-feature +b16b16 \
 // RUN:  -S -disable-O0-optnone -Werror -Wall -o /dev/null %s
 
 #include <arm_sme.h>
diff --git a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c 
b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
index e26499d3a63cc..686e4f4f99afe 100644
--- a/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
+++ b/clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
@@ -2,11 +2,11 @...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/93695
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to