brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · bfbcac2 Raw
91 lines · c
1// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -verify -emit-llvm-only %s2 3// REQUIRES: aarch64-registered-target4 5#include <arm_sme.h>6 7 8void test_features_f16f16(uint32_t slice,9                          svfloat16_t zm,10                          svfloat16x2_t zn2, svfloat16x2_t zm2,11                          svfloat16x4_t zn4, svfloat16x4_t zm4,12                          svbfloat16_t bzm,13                          svbfloat16x2_t bzn2, svbfloat16x2_t bzm2,14                          svbfloat16x4_t bzn4, svbfloat16x4_t bzm4)15 16   __arm_streaming __arm_inout("za") {17  // expected-error@+1 {{'svmla_single_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}18  svmla_single_za16_f16_vg1x2(slice, zn2, zm);19  // expected-error@+1 {{'svmla_single_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}20  svmla_single_za16_f16_vg1x4(slice, zn4, zm);21  // expected-error@+1 {{'svmls_single_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}22  svmls_single_za16_f16_vg1x2(slice, zn2, zm);23  // expected-error@+1 {{'svmls_single_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}24  svmls_single_za16_f16_vg1x4(slice, zn4, zm);25  // expected-error@+1 {{'svmla_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}26  svmla_za16_f16_vg1x2(slice, zn2, zm2);27  // expected-error@+1 {{'svmla_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}28  svmla_za16_f16_vg1x4(slice, zn4, zm4);29  // expected-error@+1 {{'svmls_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}30  svmls_za16_f16_vg1x2(slice, zn2, zm2);31  // expected-error@+1 {{'svmls_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}32  svmls_za16_f16_vg1x4(slice, zn4, zm4);33  // expected-error@+1 {{'svmla_lane_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}34  svmla_lane_za16_f16_vg1x2(slice, zn2, zm, 7);35  // expected-error@+1 {{'svmla_lane_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}36  svmla_lane_za16_f16_vg1x4(slice, zn4, zm, 7);37  // expected-error@+1 {{'svmls_lane_za16_f16_vg1x2' needs target feature sme,sme-f16f16}}38  svmls_lane_za16_f16_vg1x2(slice, zn2, zm, 7);39  // expected-error@+1 {{'svmls_lane_za16_f16_vg1x4' needs target feature sme,sme-f16f16}}40  svmls_lane_za16_f16_vg1x4(slice, zn4, zm, 7);41 42  // expected-error@+1 {{'svmla_single_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}43  svmla_single_za16_bf16_vg1x2(slice, bzn2, bzm);44  // expected-error@+1 {{'svmla_single_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}45  svmla_single_za16_bf16_vg1x4(slice, bzn4, bzm);46  // expected-error@+1 {{'svmls_single_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}47  svmls_single_za16_bf16_vg1x2(slice, bzn2, bzm);48  // expected-error@+1 {{'svmls_single_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}49  svmls_single_za16_bf16_vg1x4(slice, bzn4, bzm);50  // expected-error@+1 {{'svmla_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}51  svmla_za16_bf16_vg1x2(slice, bzn2, bzm2);52  // expected-error@+1 {{'svmla_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}53  svmla_za16_bf16_vg1x4(slice, bzn4, bzm4);54  // expected-error@+1 {{'svmls_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}55  svmls_za16_bf16_vg1x2(slice, bzn2, bzm2);56  // expected-error@+1 {{'svmls_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}57  svmls_za16_bf16_vg1x4(slice, bzn4, bzm4);58  // expected-error@+1 {{'svmla_lane_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}59  svmla_lane_za16_bf16_vg1x2(slice, bzn2, bzm, 7);60  // expected-error@+1 {{'svmla_lane_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}61  svmla_lane_za16_bf16_vg1x4(slice, bzn4, bzm, 7);62  // expected-error@+1 {{'svmls_lane_za16_bf16_vg1x2' needs target feature sme,sme-b16b16}}63  svmls_lane_za16_bf16_vg1x2(slice, bzn2, bzm, 7);64  // expected-error@+1 {{'svmls_lane_za16_bf16_vg1x4' needs target feature sme,sme-b16b16}}65  svmls_lane_za16_bf16_vg1x4(slice, bzn4, bzm, 7);66}67 68 69void test_imm(uint32_t slice, svfloat16_t zm, svfloat16x2_t zn2,svfloat16x4_t zn4,70              svbfloat16_t bzm, svbfloat16x2_t bzn2, svbfloat16x4_t bzn4)71  __arm_streaming __arm_inout("za") {72 73  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}74  svmla_lane_za16_f16_vg1x2(slice, zn2, zm, -1);75  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}76  svmla_lane_za16_f16_vg1x4(slice, zn4, zm, -1);77  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}78  svmls_lane_za16_f16_vg1x2(slice, zn2, zm, -1);79  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}80  svmls_lane_za16_f16_vg1x4(slice, zn4, zm, -1);81 82  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}83  svmla_lane_za16_bf16_vg1x2(slice, bzn2, bzm, -1);84  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}85  svmla_lane_za16_bf16_vg1x4(slice, bzn4, bzm, -1);86  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}87  svmls_lane_za16_bf16_vg1x2(slice, bzn2, bzm, -1);88  // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}89  svmls_lane_za16_bf16_vg1x4(slice, bzn4, bzm, -1);90}91