brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 684d990 Raw
104 lines · c
1// REQUIRES: aarch64-registered-target2 3// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -verify -emit-llvm -o - %s4 5#include <arm_sve.h>6 7void test_features(svmfloat8_t zn, svmfloat8_t zm, mfloat8_t x, fpm_t fpm) {8  svcvt1_bf16_mf8_fpm(zn, fpm);9  // expected-error@-1 {{'svcvt1_bf16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}10  svcvt2_bf16_mf8_fpm(zn, fpm);11  // expected-error@-1 {{'svcvt2_bf16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}12  svcvtlt1_bf16_mf8_fpm(zn, fpm);13  // expected-error@-1 {{'svcvtlt1_bf16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}14  svcvtlt2_bf16_mf8_fpm(zn, fpm);15  // expected-error@-1 {{'svcvtlt2_bf16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}16  svcvt1_f16_mf8_fpm(zn, fpm);17  // expected-error@-1 {{'svcvt1_f16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}18  svcvt2_f16_mf8_fpm(zn, fpm);19  // expected-error@-1 {{'svcvt2_f16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}20  svcvtlt1_f16_mf8_fpm(zn, fpm);21  // expected-error@-1 {{'svcvtlt1_f16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}22  svcvtlt2_f16_mf8_fpm(zn, fpm);23  // expected-error@-1 {{'svcvtlt2_f16_mf8_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}24 25  svcvtn_mf8_bf16_x2_fpm(svcreate2(svundef_bf16(), svundef_bf16()), fpm);26  // expected-error@-1 {{'svcvtn_mf8_bf16_x2_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}27  svcvtn_mf8_f16_x2_fpm(svcreate2(svundef_f16(), svundef_f16()), fpm);28  // expected-error@-1 {{'svcvtn_mf8_f16_x2_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}29  svcvtnb_mf8_f32_x2_fpm(svcreate2(svundef_f32(), svundef_f32()), fpm);30  // expected-error@-1 {{'svcvtnb_mf8_f32_x2_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}31  svcvtnt_mf8_f32_x2_fpm(zn, svcreate2(svundef_f32(), svundef_f32()), fpm);32  // expected-error@-1 {{'svcvtnt_mf8_f32_x2_fpm' needs target feature (sve,(sve2|sme2),fp8)|(sme,sme2,fp8)}}33 34  svdot_f32_mf8_fpm(svundef_f32(), zn, zm, fpm);35// expected-error@-1 {{'svdot_f32_mf8_fpm' needs target feature (sve,sve2,fp8dot4)|(sme,ssve-fp8dot4)}}36  svdot_n_f32_mf8_fpm(svundef_f32(), zn, x, fpm);37// expected-error@-1 {{'svdot_n_f32_mf8_fpm' needs target feature (sve,sve2,fp8dot4)|(sme,ssve-fp8dot4)}}38  svdot_f16_mf8_fpm(svundef_f16(), zn, zm, fpm);39// expected-error@-1 {{'svdot_f16_mf8_fpm' needs target feature (sve,sve2,fp8dot2)|(sme,ssve-fp8dot2)}}40  svdot_n_f16_mf8_fpm(svundef_f16(), zn, x, fpm);41// expected-error@-1 {{'svdot_n_f16_mf8_fpm' needs target feature (sve,sve2,fp8dot2)|(sme,ssve-fp8dot2)}}42  svdot_lane_f32_mf8_fpm(svundef_f32(), zn, zm, 3, fpm);43// expected-error@-1 {{'svdot_lane_f32_mf8_fpm' needs target feature (sve,sve2,fp8dot4)|(sme,ssve-fp8dot4)}}44  svdot_lane_f16_mf8_fpm(svundef_f16(), zn, zm, 7, fpm);45// expected-error@-1 {{'svdot_lane_f16_mf8_fpm' needs target feature (sve,sve2,fp8dot2)|(sme,ssve-fp8dot2)}}46 47  svmlalb_f16_mf8_fpm(svundef_f16(), zn, zm, fpm);48  // expected-error@-1 {{'svmlalb_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}49  svmlalb_n_f16_mf8_fpm(svundef_f16(), zn, x, fpm);50  // expected-error@-1 {{'svmlalb_n_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}51  svmlalt_f16_mf8_fpm(svundef_f16(), zn, zm, fpm);52  // expected-error@-1 {{'svmlalt_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}53  svmlalt_n_f16_mf8_fpm(svundef_f16(), zn, x, fpm);54  // expected-error@-1 {{'svmlalt_n_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}55  svmlalb_lane_f16_mf8_fpm(svundef_f16(), zn, zm, 7, fpm);56  // expected-error@-1 {{'svmlalb_lane_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}57  svmlalt_lane_f16_mf8_fpm(svundef_f16(), zn, zm, 7, fpm);58  // expected-error@-1 {{'svmlalt_lane_f16_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}59  svmlallbb_f32_mf8_fpm(svundef_f32(), zn, zm, fpm);60  // expected-error@-1 {{'svmlallbb_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}61  svmlallbb_n_f32_mf8_fpm(svundef_f32(), zn, x, fpm);62  // expected-error@-1 {{'svmlallbb_n_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}63  svmlallbt_f32_mf8_fpm(svundef_f32(), zn, zm, fpm);64  // expected-error@-1 {{'svmlallbt_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}65  svmlallbt_n_f32_mf8_fpm(svundef_f32(), zn, x, fpm);66  // expected-error@-1 {{'svmlallbt_n_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}67  svmlalltb_f32_mf8_fpm(svundef_f32(), zn, zm, fpm);68  // expected-error@-1 {{'svmlalltb_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}69  svmlalltb_n_f32_mf8_fpm(svundef_f32(), zn, x, fpm);70  // expected-error@-1 {{'svmlalltb_n_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}71  svmlalltt_f32_mf8_fpm(svundef_f32(), zn, zm, fpm);72  // expected-error@-1 {{'svmlalltt_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}73  svmlalltt_n_f32_mf8_fpm(svundef_f32(), zn, x, fpm);74  // expected-error@-1 {{'svmlalltt_n_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}75  svmlallbb_lane_f32_mf8_fpm(svundef_f32(), zn, zm, 7, fpm);76  // expected-error@-1 {{'svmlallbb_lane_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}77  svmlallbt_lane_f32_mf8_fpm(svundef_f32(), zn, zm, 7, fpm);78  // expected-error@-1 {{'svmlallbt_lane_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}79  svmlalltb_lane_f32_mf8_fpm(svundef_f32(), zn, zm, 7, fpm);80  // expected-error@-1 {{'svmlalltb_lane_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}81  svmlalltt_lane_f32_mf8_fpm(svundef_f32(), zn, zm, 7, fpm);82  // expected-error@-1 {{'svmlalltt_lane_f32_mf8_fpm' needs target feature (sve,sve2,fp8fma)|(sme,ssve-fp8fma)}}83}84 85void test_imm_range(svmfloat8_t zn, svmfloat8_t zm, fpm_t fpm) {86  svdot_lane_f32_mf8_fpm(svundef_f32(), zn, zm, -1, fpm);87// expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}}88  svdot_lane_f16_mf8_fpm(svundef_f16(), zn, zm, -1, fpm);89// expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}90 91 svmlalb_lane_f16_mf8_fpm(svundef_f16(), zn, zm, -1, fpm);92 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}93 svmlalt_lane_f16_mf8_fpm(svundef_f16(), zn, zm, -1, fpm);94 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}95 svmlallbb_lane_f32_mf8_fpm(svundef_f32(), zn, zm, -1, fpm);96 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}97 svmlallbt_lane_f32_mf8_fpm(svundef_f32(), zn, zm, -1, fpm);98 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}99 svmlalltb_lane_f32_mf8_fpm(svundef_f32(), zn, zm, -1, fpm);100 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}101 svmlalltt_lane_f32_mf8_fpm(svundef_f32(), zn, zm, -1, fpm);102 // expected-error@-1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}103}104