74 lines · c
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 32// REQUIRES: aarch64-registered-target3// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -O1 -Werror -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C4// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX5// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -S -O1 -Werror -o /dev/null %s6 7#include <arm_sme.h>8 9// CHECK-C-LABEL: define dso_local void @test_svzero_mask_za(10// CHECK-C-SAME: ) local_unnamed_addr #[[ATTR0:[0-9]+]] {11// CHECK-C-NEXT: entry:12// CHECK-C-NEXT: tail call void @llvm.aarch64.sme.zero(i32 0)13// CHECK-C-NEXT: ret void14//15// CHECK-CXX-LABEL: define dso_local void @_Z19test_svzero_mask_zav(16// CHECK-CXX-SAME: ) local_unnamed_addr #[[ATTR0:[0-9]+]] {17// CHECK-CXX-NEXT: entry:18// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.zero(i32 0)19// CHECK-CXX-NEXT: ret void20//21void test_svzero_mask_za(void) __arm_inout("za") {22 svzero_mask_za(0);23}24 25// CHECK-C-LABEL: define dso_local void @test_svzero_mask_za_1(26// CHECK-C-SAME: ) local_unnamed_addr #[[ATTR0]] {27// CHECK-C-NEXT: entry:28// CHECK-C-NEXT: tail call void @llvm.aarch64.sme.zero(i32 176)29// CHECK-C-NEXT: ret void30//31// CHECK-CXX-LABEL: define dso_local void @_Z21test_svzero_mask_za_1v(32// CHECK-CXX-SAME: ) local_unnamed_addr #[[ATTR0]] {33// CHECK-CXX-NEXT: entry:34// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.zero(i32 176)35// CHECK-CXX-NEXT: ret void36//37void test_svzero_mask_za_1(void) __arm_inout("za") {38 svzero_mask_za(176);39}40 41// CHECK-C-LABEL: define dso_local void @test_svzero_mask_za_2(42// CHECK-C-SAME: ) local_unnamed_addr #[[ATTR0]] {43// CHECK-C-NEXT: entry:44// CHECK-C-NEXT: tail call void @llvm.aarch64.sme.zero(i32 255)45// CHECK-C-NEXT: ret void46//47// CHECK-CXX-LABEL: define dso_local void @_Z21test_svzero_mask_za_2v(48// CHECK-CXX-SAME: ) local_unnamed_addr #[[ATTR0]] {49// CHECK-CXX-NEXT: entry:50// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.zero(i32 255)51// CHECK-CXX-NEXT: ret void52//53void test_svzero_mask_za_2(void) __arm_inout("za") {54 svzero_mask_za(255);55}56 57// CHECK-C-LABEL: define dso_local void @test_svzero_za(58// CHECK-C-SAME: ) local_unnamed_addr #[[ATTR2:[0-9]+]] {59// CHECK-C-NEXT: entry:60// CHECK-C-NEXT: tail call void @llvm.aarch64.sme.zero(i32 255)61// CHECK-C-NEXT: ret void62//63// CHECK-CXX-LABEL: define dso_local void @_Z14test_svzero_zav(64// CHECK-CXX-SAME: ) local_unnamed_addr #[[ATTR2:[0-9]+]] {65// CHECK-CXX-NEXT: entry:66// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.zero(i32 255)67// CHECK-CXX-NEXT: ret void68//69void test_svzero_za(void) __arm_out("za") {70 svzero_za();71}72//// NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:73// CHECK: {{.*}}74