| // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py |
| // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -fsyntax-only -verify %s |
| |
| // REQUIRES: aarch64-registered-target |
| #include "arm_sve.h" |
| |
| //svldnt1: |
| |
| __attribute__((target("+sme2"))) |
| svuint8x2_t sme2_or_sve2p1_intrinsic_test_sme2_invalid(svcount_t png, const uint8_t *rn) { |
| // expected-warning@+1 {{builtin call has undefined behaviour when called from a non-streaming function}} |
| return svldnt1_u8_x2(png, rn); |
| } |
| |
| __attribute__((target("+sme2"))) |
| svint16x4_t sme2_or_sve2p1_intrinsic_test_sme2(svcount_t png, const int16_t *rn) __arm_streaming { |
| // expected-no-warning |
| return svldnt1_s16_x4(png, rn); |
| } |
| |
| __attribute__((target("+sve2p1"))) |
| svuint32x2_t sme2_or_sve2p1_intrinsic_test_sve2p1(svcount_t png, const uint32_t *rn) { |
| // expected-no-warning |
| return svldnt1_u32_x2(png, rn); |
| } |
| |
| __attribute__((target("+sme2,+sve2p1"))) |
| svint64x4_t sme2_or_sve2p1_intrinsic_test_both_arm_streaming(svcount_t png, const int64_t *rn) __arm_streaming { |
| // expected-no-warning |
| return svldnt1_s64_x4(png, rn); |
| } |
| |
| __attribute__((target("+sme2,+sve2p1"))) |
| svint64x4_t sme2_or_sve2p1_intrinsic_test_both_no_arm_streaming(svcount_t png, const int64_t *rn) { |
| // expected-no-warning |
| return svldnt1_s64_x4(png, rn); |
| } |