[all-commits] [llvm/llvm-project] f22e6d: [Clang][AArch64] Fix checkArmStreamingBuiltin for ...

Sander de Smalen via All-commits all-commits at lists.llvm.org
Tue Oct 8 02:02:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f22e6d59190b03434b2a604399670d1b750d63c2
      https://github.com/llvm/llvm-project/commit/f22e6d59190b03434b2a604399670d1b750d63c2
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-10-08 (Tue, 08 Oct 2024)

  Changed paths:
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_b16b16.cpp
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
    M clang/test/Sema/aarch64-streaming-sme-or-nonstreaming-sve-builtins.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_b16b16.cpp
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64] Fix checkArmStreamingBuiltin for 'sve-b16b16' (#109420)

The implementation made the assumption that any feature starting with
"sve" meant that this was an SVE feature. This is not the case for
"sve-b16b16", as this is a feature that applies to both SVE and SME.

This meant that:
```
  __attribute__((target("+sme2,+sve2,+sve-b16b16")))
  svbfloat16_t foo(svbfloat16_t a, svbfloat16_t b, svbfloat16_t c)
                                                      __arm_streaming {
      return svclamp_bf16(a, b, c);
  }
```
would result in an incorrect diagnostic saying that `svclamp_bf16` could
only be used in non-streaming functions.



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