[clang] [AArch64][SME2] Add PEXT, PSEL builtins for SME2 (PR #72827)

Sander de Smalen via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 27 07:09:44 PST 2023


================
@@ -15,7 +22,7 @@
 // CPP-CHECK-NEXT:    [[TMP0:%.*]] = tail call <vscale x 16 x i1> @llvm.aarch64.sve.pext.nxv16i1(target("aarch64.svcount") [[C:%.*]], i32 0)
 // CPP-CHECK-NEXT:    ret <vscale x 16 x i1> [[TMP0]]
 //
-svbool_t test_svpext_lane_c8_0(svcount_t c) {
+svbool_t test_svpext_lane_c8_0(svcount_t c) __arm_streaming {
----------------
sdesmalen-arm wrote:

`PEXT` is available either when:
* SVE2p1 is avialable
or
* SME2 is available and streaming-mode is enabled.

It seems wrong to unconditionally test for `__arm_streaming` here, because for SVE2p1 they don't require streaming-mode (which is not available when +sme is not used).

I thought that was why you added the IGNORE_STREAMING_ATTR macro, but it seems to be unused.

https://github.com/llvm/llvm-project/pull/72827


More information about the cfe-commits mailing list