brintos

brintos / llvm-project-archived public Read only

0
0
Text · 27.0 KiB · 06140d9 Raw
442 lines · cpp
1// REQUIRES: aarch64-registered-target2 3// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fsyntax-only -verify -verify-ignore-unexpected=error %s4// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fsyntax-only -verify -verify-ignore-unexpected=error %s5 6#ifdef SVE_OVERLOADED_FORMS7// A simple used,unused... macro, long enough to represent any SVE builtin.8#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A39#else10#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A411#endif12 13#include <arm_sve.h>14 15void test_range_0_255()16{17  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}}18  SVE_ACLE_FUNC(svext,_s8,,)(svundef_s8(), svundef_s8(), -1);19  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}}20  SVE_ACLE_FUNC(svext,_u8,,)(svundef_u8(), svundef_u8(), -1);21}22 23void test_range_0_127()24{25  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}}26  SVE_ACLE_FUNC(svext,_s16,,)(svundef_s16(), svundef_s16(), -1);27  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}}28  SVE_ACLE_FUNC(svext,_u16,,)(svundef_u16(), svundef_u16(), 128);29  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}}30  SVE_ACLE_FUNC(svext,_f16,,)(svundef_f16(), svundef_f16(), -1);31}32 33void test_range_0_63()34{35  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}36  SVE_ACLE_FUNC(svext,_s32,,)(svundef_s32(), svundef_s32(), -1);37  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}38  SVE_ACLE_FUNC(svext,_u32,,)(svundef_u32(), svundef_u32(), -1);39  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}40  SVE_ACLE_FUNC(svext,_f32,,)(svundef_f32(), svundef_f32(), 64);41}42 43void test_range_0_31()44{45  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}46  SVE_ACLE_FUNC(svext,_s64,,)(svundef_s64(), svundef_s64(), -1);47  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}48  SVE_ACLE_FUNC(svext,_u64,,)(svundef_u64(), svundef_u64(), 32);49  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}50  SVE_ACLE_FUNC(svext,_f64,,)(svundef_f64(), svundef_f64(), -1);51}52 53void test_range_0_1()54{55  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}56  SVE_ACLE_FUNC(svget2,_s8,,)(svundef2_s8(), -1);57  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}58  SVE_ACLE_FUNC(svget2,_s16,,)(svundef2_s16(), 2);59  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}60  SVE_ACLE_FUNC(svget2,_s32,,)(svundef2_s32(), -1);61  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}62  SVE_ACLE_FUNC(svget2,_s64,,)(svundef2_s64(), 2);63  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}64  SVE_ACLE_FUNC(svget2,_u8,,)(svundef2_u8(), -1);65  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}66  SVE_ACLE_FUNC(svget2,_u16,,)(svundef2_u16(), 2);67  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}68  SVE_ACLE_FUNC(svget2,_u32,,)(svundef2_u32(), -1);69  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}70  SVE_ACLE_FUNC(svget2,_u64,,)(svundef2_u64(), 2);71  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}72  SVE_ACLE_FUNC(svget2,_f16,,)(svundef2_f16(), -1);73  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}74  SVE_ACLE_FUNC(svget2,_f32,,)(svundef2_f32(), 2);75  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}76  SVE_ACLE_FUNC(svget2,_f64,,)(svundef2_f64(), -1);77  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}78  SVE_ACLE_FUNC(svset2,_s8,,)(svundef2_s8(), 2, svundef_s8());79  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}80  SVE_ACLE_FUNC(svset2,_s16,,)(svundef2_s16(), -1, svundef_s16());81  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}82  SVE_ACLE_FUNC(svset2,_s32,,)(svundef2_s32(), 2, svundef_s32());83  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}84  SVE_ACLE_FUNC(svset2,_s64,,)(svundef2_s64(), -1, svundef_s64());85  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}86  SVE_ACLE_FUNC(svset2,_u8,,)(svundef2_u8(), 2, svundef_u8());87  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}88  SVE_ACLE_FUNC(svset2,_u16,,)(svundef2_u16(), -1, svundef_u16());89  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}90  SVE_ACLE_FUNC(svset2,_u32,,)(svundef2_u32(), 2, svundef_u32());91  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}92  SVE_ACLE_FUNC(svset2,_u64,,)(svundef2_u64(), -1, svundef_u64());93  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}94  SVE_ACLE_FUNC(svset2,_f16,,)(svundef2_f16(), 2, svundef_f16());95  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}96  SVE_ACLE_FUNC(svset2,_f32,,)(svundef2_f32(), -1, svundef_f32());97  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}98  SVE_ACLE_FUNC(svset2,_f64,,)(svundef2_f64(), 2, svundef_f64());99}100 101void test_range_0_2()102{103  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}104  SVE_ACLE_FUNC(svget3,_s8,,)(svundef3_s8(), 3);105  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}106  SVE_ACLE_FUNC(svget3,_s16,,)(svundef3_s16(), -1);107  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}108  SVE_ACLE_FUNC(svget3,_s32,,)(svundef3_s32(), 3);109  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}110  SVE_ACLE_FUNC(svget3,_s64,,)(svundef3_s64(), -1);111  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}112  SVE_ACLE_FUNC(svget3,_u8,,)(svundef3_u8(), 3);113  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}114  SVE_ACLE_FUNC(svget3,_u16,,)(svundef3_u16(), -1);115  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}116  SVE_ACLE_FUNC(svget3,_u32,,)(svundef3_u32(), 3);117  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}118  SVE_ACLE_FUNC(svget3,_u64,,)(svundef3_u64(), -1);119  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}120  SVE_ACLE_FUNC(svget3,_f16,,)(svundef3_f16(), 3);121  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}122  SVE_ACLE_FUNC(svget3,_f32,,)(svundef3_f32(), -1);123  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}124  SVE_ACLE_FUNC(svget3,_f64,,)(svundef3_f64(), 3);125  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}126  SVE_ACLE_FUNC(svset3,_s8,,)(svundef3_s8(), -1, svundef_s8());127  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}128  SVE_ACLE_FUNC(svset3,_s16,,)(svundef3_s16(), -1, svundef_s16());129  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}130  SVE_ACLE_FUNC(svset3,_s32,,)(svundef3_s32(), 3, svundef_s32());131  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}132  SVE_ACLE_FUNC(svset3,_s64,,)(svundef3_s64(), -1, svundef_s64());133  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}134  SVE_ACLE_FUNC(svset3,_u8,,)(svundef3_u8(), 3, svundef_u8());135  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}136  SVE_ACLE_FUNC(svset3,_u16,,)(svundef3_u16(), -1, svundef_u16());137  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}138  SVE_ACLE_FUNC(svset3,_u32,,)(svundef3_u32(), 3, svundef_u32());139  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}140  SVE_ACLE_FUNC(svset3,_u64,,)(svundef3_u64(), -1, svundef_u64());141  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}142  SVE_ACLE_FUNC(svset3,_f16,,)(svundef3_f16(), 3, svundef_f16());143  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}144  SVE_ACLE_FUNC(svset3,_f32,,)(svundef3_f32(), -1, svundef_f32());145  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}}146  SVE_ACLE_FUNC(svset3,_f64,,)(svundef3_f64(), 3, svundef_f64());147}148 149void test_range_0_3()150{151  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}152  SVE_ACLE_FUNC(svget4,_s8,,)(svundef4_s8(), -1);153  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}154  SVE_ACLE_FUNC(svget4,_s16,,)(svundef4_s16(), 4);155  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}156  SVE_ACLE_FUNC(svget4,_s32,,)(svundef4_s32(), -1);157  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}158  SVE_ACLE_FUNC(svget4,_s64,,)(svundef4_s64(), 4);159  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}160  SVE_ACLE_FUNC(svget4,_u8,,)(svundef4_u8(), -1);161  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}162  SVE_ACLE_FUNC(svget4,_u16,,)(svundef4_u16(), 4);163  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}164  SVE_ACLE_FUNC(svget4,_u32,,)(svundef4_u32(), -1);165  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}166  SVE_ACLE_FUNC(svget4,_u64,,)(svundef4_u64(), 4);167  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}168  SVE_ACLE_FUNC(svget4,_f16,,)(svundef4_f16(), -1);169  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}170  SVE_ACLE_FUNC(svget4,_f32,,)(svundef4_f32(), 4);171  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}172  SVE_ACLE_FUNC(svget4,_f64,,)(svundef4_f64(), -1);173  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}174  SVE_ACLE_FUNC(svset4,_s8,,)(svundef4_s8(), -1, svundef_s8());175  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}176  SVE_ACLE_FUNC(svset4,_s32,,)(svundef4_s32(), 4, svundef_s32());177  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}178  SVE_ACLE_FUNC(svset4,_s64,,)(svundef4_s64(), -1, svundef_s64());179  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}180  SVE_ACLE_FUNC(svset4,_u8,,)(svundef4_u8(), 4, svundef_u8());181  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}182  SVE_ACLE_FUNC(svset4,_u16,,)(svundef4_u16(), -1, svundef_u16());183  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}184  SVE_ACLE_FUNC(svset4,_u32,,)(svundef4_u32(), 4, svundef_u32());185  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}186  SVE_ACLE_FUNC(svset4,_u64,,)(svundef4_u64(), -1, svundef_u64());187  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}188  SVE_ACLE_FUNC(svset4,_f16,,)(svundef4_f16(), 4, svundef_f16());189  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}190  SVE_ACLE_FUNC(svset4,_f32,,)(svundef4_f32(), -1, svundef_f32());191  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}192  SVE_ACLE_FUNC(svset4,_f64,,)(svundef4_f64(), 4, svundef_f64());193}194 195void test_range_0_7()196{197  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}198  SVE_ACLE_FUNC(svtmad,_f16,,)(svundef_f16(), svundef_f16(), -1);199  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}200  SVE_ACLE_FUNC(svtmad,_f32,,)(svundef_f32(), svundef_f32(), 8);201  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}202  SVE_ACLE_FUNC(svtmad,_f64,,)(svundef_f64(), svundef_f64(), -1);203}204 205void test_range_0_13(svbool_t pg, const void *const_void_ptr)206{207  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}}208  svprfb(pg, const_void_ptr, svprfop(14));209  // expected-error-re@+1 {{must be a constant integer}}210  svprfb_vnum(pg, const_void_ptr, 0, svprfop(-1));211  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}}212  svprfd(pg, const_void_ptr, svprfop(14));213  // expected-error-re@+1 {{must be a constant integer}}214  svprfd_vnum(pg, const_void_ptr, 0, svprfop(-1));215  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}}216  svprfh(pg, const_void_ptr, svprfop(14));217  // expected-error-re@+1 {{must be a constant integer}}218  svprfh_vnum(pg, const_void_ptr, 0, svprfop(-1));219  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}}220  svprfw(pg, const_void_ptr, svprfop(14));221  // expected-error-re@+1 {{must be a constant integer}}222  svprfw_vnum(pg, const_void_ptr, 0, svprfop(-1));223}224 225void test_range_1_16()226{227  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}228  SVE_ACLE_FUNC(svqdecd,_s64,,)(svundef_s64(), 0);229  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}230  SVE_ACLE_FUNC(svqdecd_pat,_s64,,)(svundef_s64(), SV_VL8, 17);231  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}232  SVE_ACLE_FUNC(svqdecd,_u64,,)(svundef_u64(), 0);233  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}234  SVE_ACLE_FUNC(svqdecd_pat,_u64,,)(svundef_u64(), SV_VL64, 17);235  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}236  SVE_ACLE_FUNC(svqdech,_s16,,)(svundef_s16(), 0);237  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}238  SVE_ACLE_FUNC(svqdech,_u16,,)(svundef_u16(), 17);239  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}240  SVE_ACLE_FUNC(svqdech_pat,_s16,,)(svundef_s16(), SV_VL8, 0);241  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}242  SVE_ACLE_FUNC(svqdech_pat,_u16,,)(svundef_u16(), SV_VL64, 17);243  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}244  SVE_ACLE_FUNC(svqdecw,_s32,,)(svundef_s32(), 0);245  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}246  SVE_ACLE_FUNC(svqdecw,_u32,,)(svundef_u32(), 17);247  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}248  SVE_ACLE_FUNC(svqdecw_pat,_s32,,)(svundef_s32(), SV_VL8, 0);249  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}250  SVE_ACLE_FUNC(svqdecw_pat,_u32,,)(svundef_u32(), SV_VL64, 17);251  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}252  SVE_ACLE_FUNC(svqincd,_s64,,)(svundef_s64(), 0);253  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}254  SVE_ACLE_FUNC(svqincd,_u64,,)(svundef_u64(), 17);255  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}256  SVE_ACLE_FUNC(svqincd_pat,_s64,,)(svundef_s64(), SV_VL8, 0);257  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}258  SVE_ACLE_FUNC(svqincd_pat,_u64,,)(svundef_u64(), SV_VL64, 17);259  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}260  SVE_ACLE_FUNC(svqinch,_s16,,)(svundef_s16(), 0);261  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}262  SVE_ACLE_FUNC(svqinch,_u16,,)(svundef_u16(), 17);263  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}264  SVE_ACLE_FUNC(svqinch_pat,_s16,,)(svundef_s16(), SV_VL8, 0);265  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}266  SVE_ACLE_FUNC(svqinch_pat,_u16,,)(svundef_u16(), SV_VL64, 17);267  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}268  SVE_ACLE_FUNC(svqincw,_s32,,)(svundef_s32(), 0);269  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}270  SVE_ACLE_FUNC(svqincw,_u32,,)(svundef_u32(), 17);271  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}272  SVE_ACLE_FUNC(svqincw_pat,_s32,,)(svundef_s32(), SV_VL8, 0);273  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}274  SVE_ACLE_FUNC(svqincw_pat,_u32,,)(svundef_u32(), SV_VL64, 17);275}276 277void test_constant(uint64_t u64)278{279  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}280  SVE_ACLE_FUNC(svget2,_s8,,)(svundef2_s8(), u64);281  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}282  SVE_ACLE_FUNC(svget2,_s16,,)(svundef2_s16(), u64);283  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}284  SVE_ACLE_FUNC(svget2,_s32,,)(svundef2_s32(), u64);285  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}286  SVE_ACLE_FUNC(svget2,_s64,,)(svundef2_s64(), u64);287  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}288  SVE_ACLE_FUNC(svget2,_u8,,)(svundef2_u8(), u64);289  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}290  SVE_ACLE_FUNC(svget2,_u16,,)(svundef2_u16(), u64);291  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}292  SVE_ACLE_FUNC(svget2,_u32,,)(svundef2_u32(), u64);293  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}294  SVE_ACLE_FUNC(svget2,_u64,,)(svundef2_u64(), u64);295  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}296  SVE_ACLE_FUNC(svget2,_f16,,)(svundef2_f16(), u64);297  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}298  SVE_ACLE_FUNC(svget2,_f32,,)(svundef2_f32(), u64);299  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}300  SVE_ACLE_FUNC(svget2,_f64,,)(svundef2_f64(), u64);301  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}302  SVE_ACLE_FUNC(svget3,_s8,,)(svundef3_s8(), u64);303  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}304  SVE_ACLE_FUNC(svget3,_s16,,)(svundef3_s16(), u64);305  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}306  SVE_ACLE_FUNC(svget3,_s32,,)(svundef3_s32(), u64);307  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}308  SVE_ACLE_FUNC(svget3,_s64,,)(svundef3_s64(), u64);309  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}310  SVE_ACLE_FUNC(svget3,_u8,,)(svundef3_u8(), u64);311  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}312  SVE_ACLE_FUNC(svget3,_u16,,)(svundef3_u16(), u64);313  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}314  SVE_ACLE_FUNC(svget3,_u32,,)(svundef3_u32(), u64);315  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}316  SVE_ACLE_FUNC(svget3,_u64,,)(svundef3_u64(), u64);317  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}318  SVE_ACLE_FUNC(svget3,_f16,,)(svundef3_f16(), u64);319  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}320  SVE_ACLE_FUNC(svget3,_f32,,)(svundef3_f32(), u64);321  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}322  SVE_ACLE_FUNC(svget3,_f64,,)(svundef3_f64(), u64);323  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}324  SVE_ACLE_FUNC(svget4,_s8,,)(svundef4_s8(), u64);325  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}326  SVE_ACLE_FUNC(svget4,_s16,,)(svundef4_s16(), u64);327  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}328  SVE_ACLE_FUNC(svget4,_s32,,)(svundef4_s32(), u64);329  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}330  SVE_ACLE_FUNC(svget4,_s64,,)(svundef4_s64(), u64);331  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}332  SVE_ACLE_FUNC(svget4,_u8,,)(svundef4_u8(), u64);333  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}334  SVE_ACLE_FUNC(svget4,_u16,,)(svundef4_u16(), u64);335  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}336  SVE_ACLE_FUNC(svget4,_u32,,)(svundef4_u32(), u64);337  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}338  SVE_ACLE_FUNC(svget4,_u64,,)(svundef4_u64(), u64);339  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}340  SVE_ACLE_FUNC(svget4,_f16,,)(svundef4_f16(), u64);341  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}342  SVE_ACLE_FUNC(svget4,_f32,,)(svundef4_f32(), u64);343  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}344  SVE_ACLE_FUNC(svget4,_f64,,)(svundef4_f64(), u64);345  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}346  SVE_ACLE_FUNC(svset2,_s8,,)(svundef2_s8(), u64, svundef_s8());347  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}348  SVE_ACLE_FUNC(svset2,_s16,,)(svundef2_s16(), u64, svundef_s16());349  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}350  SVE_ACLE_FUNC(svset2,_s32,,)(svundef2_s32(), u64, svundef_s32());351  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}352  SVE_ACLE_FUNC(svset2,_s64,,)(svundef2_s64(), u64, svundef_s64());353  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}354  SVE_ACLE_FUNC(svset2,_u8,,)(svundef2_u8(), u64, svundef_u8());355  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}356  SVE_ACLE_FUNC(svset2,_u16,,)(svundef2_u16(), u64, svundef_u16());357  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}358  SVE_ACLE_FUNC(svset2,_u32,,)(svundef2_u32(), u64, svundef_u32());359  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}360  SVE_ACLE_FUNC(svset2,_u64,,)(svundef2_u64(), u64, svundef_u64());361  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}362  SVE_ACLE_FUNC(svset2,_f16,,)(svundef2_f16(), u64, svundef_f16());363  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}364  SVE_ACLE_FUNC(svset2,_f32,,)(svundef2_f32(), u64, svundef_f32());365  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}366  SVE_ACLE_FUNC(svset2,_f64,,)(svundef2_f64(), u64, svundef_f64());367  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}368  SVE_ACLE_FUNC(svset3,_s8,,)(svundef3_s8(), u64, svundef_s8());369  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}370  SVE_ACLE_FUNC(svset3,_s16,,)(svundef3_s16(), u64, svundef_s16());371  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}372  SVE_ACLE_FUNC(svset3,_s32,,)(svundef3_s32(), u64, svundef_s32());373  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}374  SVE_ACLE_FUNC(svset3,_s64,,)(svundef3_s64(), u64, svundef_s64());375  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}376  SVE_ACLE_FUNC(svset3,_u8,,)(svundef3_u8(), u64, svundef_u8());377  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}378  SVE_ACLE_FUNC(svset3,_u16,,)(svundef3_u16(), u64, svundef_u16());379  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}380  SVE_ACLE_FUNC(svset3,_u32,,)(svundef3_u32(), u64, svundef_u32());381  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}382  SVE_ACLE_FUNC(svset3,_u64,,)(svundef3_u64(), u64, svundef_u64());383  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}384  SVE_ACLE_FUNC(svset3,_f16,,)(svundef3_f16(), u64, svundef_f16());385  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}386  SVE_ACLE_FUNC(svset3,_f32,,)(svundef3_f32(), u64, svundef_f32());387  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}388  SVE_ACLE_FUNC(svset3,_f64,,)(svundef3_f64(), u64, svundef_f64());389  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}390  SVE_ACLE_FUNC(svset4,_s8,,)(svundef4_s8(), u64, svundef_s8());391  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}392  SVE_ACLE_FUNC(svset4,_s16,,)(svundef4_s16(), u64, svundef_s16());393  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}394  SVE_ACLE_FUNC(svset4,_s32,,)(svundef4_s32(), u64, svundef_s32());395  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}396  SVE_ACLE_FUNC(svset4,_s64,,)(svundef4_s64(), u64, svundef_s64());397  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}398  SVE_ACLE_FUNC(svset4,_u8,,)(svundef4_u8(), u64, svundef_u8());399  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}400  SVE_ACLE_FUNC(svset4,_u16,,)(svundef4_u16(), u64, svundef_u16());401  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}402  SVE_ACLE_FUNC(svset4,_u32,,)(svundef4_u32(), u64, svundef_u32());403  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}404  SVE_ACLE_FUNC(svset4,_u64,,)(svundef4_u64(), u64, svundef_u64());405  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}406  SVE_ACLE_FUNC(svset4,_f16,,)(svundef4_f16(), u64, svundef_f16());407  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}408  SVE_ACLE_FUNC(svset4,_f32,,)(svundef4_f32(), u64, svundef_f32());409  // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}}410  SVE_ACLE_FUNC(svset4,_f64,,)(svundef4_f64(), u64, svundef_f64());411}412 413void test_num_args()414{415  // expected-note@* {{requires 0 arguments, but 1 was provided}}416  SVE_ACLE_FUNC(svcnt,, b,)(1);417  // expected-note@* {{requires 0 arguments, but 1 was provided}}418  SVE_ACLE_FUNC(svcnt,, h,)(2);419  // expected-note@* {{requires 0 arguments, but 1 was provided}}420  SVE_ACLE_FUNC(svcnt,, w,)(3);421  // expected-note@* {{requires 0 arguments, but 1 was provided}}422  SVE_ACLE_FUNC(svcnt,, d,)(4);423  // expected-note@* {{requires 0 arguments, but 1 was provided}}424  SVE_ACLE_FUNC(svptrue,, _b8,)(1);425  // expected-note@* {{requires 0 arguments, but 1 was provided}}426  SVE_ACLE_FUNC(svptrue,, _b16,)(2);427  // expected-note@* {{requires 0 arguments, but 1 was provided}}428  SVE_ACLE_FUNC(svptrue,, _b32,)(3);429  // expected-note@* {{requires 0 arguments, but 1 was provided}}430  SVE_ACLE_FUNC(svptrue,, _b64,)(4); 431}432 433void test_enum(svbool_t pg, const void *const_void_ptr, uint64_t u64)434{435  // Test type checks on svpattern and svprfop enums.436 437  // expected-note@* {{no known conversion from 'svpattern' to 'enum svprfop'}}438  SVE_ACLE_FUNC(svprfb,,,)(pg, const_void_ptr, SV_VL1);439  // expected-note@* + {{no known conversion from 'svprfop' to 'enum svpattern'}}440  SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(u64, SV_PLDL1KEEP, 1);441}442