brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.0 KiB · 3902ca6 Raw
140 lines · c
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 42// REQUIRES: aarch64-registered-target3 4// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -target-feature +sme2p1 -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s5// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -target-feature +sme2p1 -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK6// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -target-feature +sme2p1 -disable-O0-optnone -Werror -Wall -o /dev/null %s7 8#include <arm_sme.h>9 10#define SVE_ACLE_FUNC(A1,A2) A1##A211 12// CHECK-LABEL: define dso_local void @test_svzero_za64_vg1x2(13// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0:[0-9]+]] {14// CHECK-NEXT:  entry:15// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg1x2(i32 [[SLICE]])16// CHECK-NEXT:    ret void17//18// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg1x2j(19// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0:[0-9]+]] {20// CPP-CHECK-NEXT:  entry:21// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg1x2(i32 [[SLICE]])22// CPP-CHECK-NEXT:    ret void23//24void test_svzero_za64_vg1x2(uint32_t slice) __arm_streaming __arm_inout("za")25{26   SVE_ACLE_FUNC(svzero_za64,_vg1x2)(slice);27}28 29// CHECK-LABEL: define dso_local void @test_svzero_za64_vg1x4(30// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {31// CHECK-NEXT:  entry:32// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg1x4(i32 [[SLICE]])33// CHECK-NEXT:    ret void34//35// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg1x4j(36// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {37// CPP-CHECK-NEXT:  entry:38// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg1x4(i32 [[SLICE]])39// CPP-CHECK-NEXT:    ret void40//41void test_svzero_za64_vg1x4(uint32_t slice) __arm_streaming __arm_inout("za"){42   SVE_ACLE_FUNC(svzero_za64,_vg1x4)(slice);43}44 45// CHECK-LABEL: define dso_local void @test_svzero_za64_vg2x1(46// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {47// CHECK-NEXT:  entry:48// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x1(i32 [[SLICE]])49// CHECK-NEXT:    ret void50//51// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg2x1j(52// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {53// CPP-CHECK-NEXT:  entry:54// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x1(i32 [[SLICE]])55// CPP-CHECK-NEXT:    ret void56//57void test_svzero_za64_vg2x1(uint32_t slice) __arm_streaming __arm_inout("za"){58   SVE_ACLE_FUNC(svzero_za64,_vg2x1)(slice);59}60 61// CHECK-LABEL: define dso_local void @test_svzero_za64_vg2x2(62// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {63// CHECK-NEXT:  entry:64// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x2(i32 [[SLICE]])65// CHECK-NEXT:    ret void66//67// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg2x2j(68// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {69// CPP-CHECK-NEXT:  entry:70// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x2(i32 [[SLICE]])71// CPP-CHECK-NEXT:    ret void72//73void test_svzero_za64_vg2x2(uint32_t slice) __arm_streaming __arm_inout("za"){74   SVE_ACLE_FUNC(svzero_za64,_vg2x2)(slice);75}76 77// CHECK-LABEL: define dso_local void @test_svzero_za64_vg2x4(78// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {79// CHECK-NEXT:  entry:80// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x4(i32 [[SLICE]])81// CHECK-NEXT:    ret void82//83// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg2x4j(84// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {85// CPP-CHECK-NEXT:  entry:86// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg2x4(i32 [[SLICE]])87// CPP-CHECK-NEXT:    ret void88//89void test_svzero_za64_vg2x4(uint32_t slice)  __arm_streaming __arm_inout("za"){90   SVE_ACLE_FUNC(svzero_za64,_vg2x4)(slice);91}92 93// CHECK-LABEL: define dso_local void @test_svzero_za64_vg4x1(94// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {95// CHECK-NEXT:  entry:96// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x1(i32 [[SLICE]])97// CHECK-NEXT:    ret void98//99// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg4x1j(100// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {101// CPP-CHECK-NEXT:  entry:102// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x1(i32 [[SLICE]])103// CPP-CHECK-NEXT:    ret void104//105void test_svzero_za64_vg4x1(uint32_t slice) __arm_streaming __arm_inout("za"){106   SVE_ACLE_FUNC(svzero_za64,_vg4x1)(slice);107}108 109// CHECK-LABEL: define dso_local void @test_svzero_za64_vg4x2(110// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {111// CHECK-NEXT:  entry:112// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x2(i32 [[SLICE]])113// CHECK-NEXT:    ret void114//115// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg4x2j(116// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {117// CPP-CHECK-NEXT:  entry:118// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x2(i32 [[SLICE]])119// CPP-CHECK-NEXT:    ret void120//121void test_svzero_za64_vg4x2(uint32_t slice) __arm_streaming __arm_inout("za"){122   SVE_ACLE_FUNC(svzero_za64,_vg4x2)(slice);123}124 125// CHECK-LABEL: define dso_local void @test_svzero_za64_vg4x4(126// CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {127// CHECK-NEXT:  entry:128// CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x4(i32 [[SLICE]])129// CHECK-NEXT:    ret void130//131// CPP-CHECK-LABEL: define dso_local void @_Z22test_svzero_za64_vg4x4j(132// CPP-CHECK-SAME: i32 noundef [[SLICE:%.*]]) #[[ATTR0]] {133// CPP-CHECK-NEXT:  entry:134// CPP-CHECK-NEXT:    tail call void @llvm.aarch64.sme.zero.za64.vg4x4(i32 [[SLICE]])135// CPP-CHECK-NEXT:    ret void136//137void test_svzero_za64_vg4x4(uint32_t slice) __arm_streaming __arm_inout("za"){138   SVE_ACLE_FUNC(svzero_za64,_vg4x4)(slice);139}140