brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.2 KiB · 0291c1d Raw
347 lines · c
1// REQUIRES: riscv-registered-target2// RUN: %clang_cc1 -triple riscv64 -target-feature +f -target-feature +d \3// RUN:   -target-feature +v -target-feature +zfh -target-feature +zvfh \4// RUN:   -fsyntax-only -verify %s5 6#include <riscv_vector.h>7 8vint8m1_t test_vget_v_index_not_constant(vint8m2_t src, int index) {9  // expected-error@+1 {{argument to '__riscv_vget_v_i8m2_i8m1' must be a constant integer}}10  return __riscv_vget_v_i8m2_i8m1(src, index);11}12 13vint8m1_t test_vget_v_i8m2_i8m1(vint8m2_t src) {14  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}15  return __riscv_vget_v_i8m2_i8m1(src, 2);16}17 18vint8m1_t test_vget_v_i8m4_i8m1(vint8m4_t src) {19  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}20  return __riscv_vget_v_i8m4_i8m1(src, 4);21}22 23vint8m2_t test_vget_v_i8m4_i8m2(vint8m4_t src) {24  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}25  return __riscv_vget_v_i8m4_i8m2(src, 2);26}27 28vint8m1_t test_vget_v_i8m8_i8m1(vint8m8_t src) {29  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}30  return __riscv_vget_v_i8m8_i8m1(src, 8);31}32 33vint8m2_t test_vget_v_i8m8_i8m2(vint8m8_t src) {34  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}35  return __riscv_vget_v_i8m8_i8m2(src, 4);36}37 38vint8m4_t test_vget_v_i8m8_i8m4(vint8m8_t src) {39  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}40  return __riscv_vget_v_i8m8_i8m4(src, 2);41}42 43vint16m1_t test_vget_v_i16m2_i16m1(vint16m2_t src) {44  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}45  return __riscv_vget_v_i16m2_i16m1(src, 2);46}47 48vint16m1_t test_vget_v_i16m4_i16m1(vint16m4_t src) {49  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}50  return __riscv_vget_v_i16m4_i16m1(src, 4);51}52 53vint16m2_t test_vget_v_i16m4_i16m2(vint16m4_t src) {54  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}55  return __riscv_vget_v_i16m4_i16m2(src, 2);56}57 58vint16m1_t test_vget_v_i16m8_i16m1(vint16m8_t src) {59  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}60  return __riscv_vget_v_i16m8_i16m1(src, 8);61}62 63vint16m2_t test_vget_v_i16m8_i16m2(vint16m8_t src) {64  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}65  return __riscv_vget_v_i16m8_i16m2(src, 4);66}67 68vint16m4_t test_vget_v_i16m8_i16m4(vint16m8_t src) {69  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}70  return __riscv_vget_v_i16m8_i16m4(src, 2);71}72 73vint32m1_t test_vget_v_i32m2_i32m1(vint32m2_t src) {74  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}75  return __riscv_vget_v_i32m2_i32m1(src, 2);76}77 78vint32m1_t test_vget_v_i32m4_i32m1(vint32m4_t src) {79  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}80  return __riscv_vget_v_i32m4_i32m1(src, 4);81}82 83vint32m2_t test_vget_v_i32m4_i32m2(vint32m4_t src) {84  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}85  return __riscv_vget_v_i32m4_i32m2(src, 2);86}87 88vint32m1_t test_vget_v_i32m8_i32m1(vint32m8_t src) {89  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}90  return __riscv_vget_v_i32m8_i32m1(src, 8);91}92 93vint32m2_t test_vget_v_i32m8_i32m2(vint32m8_t src) {94  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}95  return __riscv_vget_v_i32m8_i32m2(src, 4);96}97 98vint32m4_t test_vget_v_i32m8_i32m4(vint32m8_t src) {99  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}100  return __riscv_vget_v_i32m8_i32m4(src, 2);101}102 103vint64m1_t test_vget_v_i64m2_i64m1(vint64m2_t src) {104  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}105  return __riscv_vget_v_i64m2_i64m1(src, 2);106}107 108vint64m1_t test_vget_v_i64m4_i64m1(vint64m4_t src) {109  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}110  return __riscv_vget_v_i64m4_i64m1(src, 4);111}112 113vint64m2_t test_vget_v_i64m4_i64m2(vint64m4_t src) {114  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}115  return __riscv_vget_v_i64m4_i64m2(src, 2);116}117 118vint64m1_t test_vget_v_i64m8_i64m1(vint64m8_t src) {119  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}120  return __riscv_vget_v_i64m8_i64m1(src, 8);121}122 123vint64m2_t test_vget_v_i64m8_i64m2(vint64m8_t src) {124  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}125  return __riscv_vget_v_i64m8_i64m2(src, 4);126}127 128vint64m4_t test_vget_v_i64m8_i64m4(vint64m8_t src) {129  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}130  return __riscv_vget_v_i64m8_i64m4(src, 2);131}132 133vuint8m1_t test_vget_v_u8m2_u8m1(vuint8m2_t src) {134  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}135  return __riscv_vget_v_u8m2_u8m1(src, 2);136}137 138vuint8m1_t test_vget_v_u8m4_u8m1(vuint8m4_t src) {139  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}140  return __riscv_vget_v_u8m4_u8m1(src, 4);141}142 143vuint8m2_t test_vget_v_u8m4_u8m2(vuint8m4_t src) {144  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}145  return __riscv_vget_v_u8m4_u8m2(src, 2);146}147 148vuint8m1_t test_vget_v_u8m8_u8m1(vuint8m8_t src) {149  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}150  return __riscv_vget_v_u8m8_u8m1(src, 8);151}152 153vuint8m2_t test_vget_v_u8m8_u8m2(vuint8m8_t src) {154  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}155  return __riscv_vget_v_u8m8_u8m2(src, 4);156}157 158vuint8m4_t test_vget_v_u8m8_u8m4(vuint8m8_t src) {159  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}160  return __riscv_vget_v_u8m8_u8m4(src, 2);161}162 163vuint16m1_t test_vget_v_u16m2_u16m1(vuint16m2_t src) {164  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}165  return __riscv_vget_v_u16m2_u16m1(src, 2);166}167 168vuint16m1_t test_vget_v_u16m4_u16m1(vuint16m4_t src) {169  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}170  return __riscv_vget_v_u16m4_u16m1(src, 4);171}172 173vuint16m2_t test_vget_v_u16m4_u16m2(vuint16m4_t src) {174  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}175  return __riscv_vget_v_u16m4_u16m2(src, 2);176}177 178vuint16m1_t test_vget_v_u16m8_u16m1(vuint16m8_t src) {179  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}180  return __riscv_vget_v_u16m8_u16m1(src, 8);181}182 183vuint16m2_t test_vget_v_u16m8_u16m2(vuint16m8_t src) {184  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}185  return __riscv_vget_v_u16m8_u16m2(src, 4);186}187 188vuint16m4_t test_vget_v_u16m8_u16m4(vuint16m8_t src) {189  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}190  return __riscv_vget_v_u16m8_u16m4(src, 2);191}192 193vuint32m1_t test_vget_v_u32m2_u32m1(vuint32m2_t src) {194  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}195  return __riscv_vget_v_u32m2_u32m1(src, 2);196}197 198vuint32m1_t test_vget_v_u32m4_u32m1(vuint32m4_t src) {199  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}200  return __riscv_vget_v_u32m4_u32m1(src, 4);201}202 203vuint32m2_t test_vget_v_u32m4_u32m2(vuint32m4_t src) {204  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}205  return __riscv_vget_v_u32m4_u32m2(src, 2);206}207 208vuint32m1_t test_vget_v_u32m8_u32m1(vuint32m8_t src) {209  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}210  return __riscv_vget_v_u32m8_u32m1(src, 8);211}212 213vuint32m2_t test_vget_v_u32m8_u32m2(vuint32m8_t src) {214  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}215  return __riscv_vget_v_u32m8_u32m2(src, 4);216}217 218vuint32m4_t test_vget_v_u32m8_u32m4(vuint32m8_t src) {219  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}220  return __riscv_vget_v_u32m8_u32m4(src, 2);221}222 223vuint64m1_t test_vget_v_u64m2_u64m1(vuint64m2_t src) {224  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}225  return __riscv_vget_v_u64m2_u64m1(src, 2);226}227 228vuint64m1_t test_vget_v_u64m4_u64m1(vuint64m4_t src) {229  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}230  return __riscv_vget_v_u64m4_u64m1(src, 4);231}232 233vuint64m2_t test_vget_v_u64m4_u64m2(vuint64m4_t src) {234  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}235  return __riscv_vget_v_u64m4_u64m2(src, 2);236}237 238vuint64m1_t test_vget_v_u64m8_u64m1(vuint64m8_t src) {239  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}240  return __riscv_vget_v_u64m8_u64m1(src, 8);241}242 243vuint64m2_t test_vget_v_u64m8_u64m2(vuint64m8_t src) {244  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}245  return __riscv_vget_v_u64m8_u64m2(src, 4);246}247 248vuint64m4_t test_vget_v_u64m8_u64m4(vuint64m8_t src) {249  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}250  return __riscv_vget_v_u64m8_u64m4(src, 2);251}252 253vfloat32m1_t test_vget_v_f32m2_f32m1(vfloat32m2_t src) {254  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}255  return __riscv_vget_v_f32m2_f32m1(src, 2);256}257 258vfloat32m1_t test_vget_v_f32m4_f32m1(vfloat32m4_t src) {259  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}260  return __riscv_vget_v_f32m4_f32m1(src, 4);261}262 263vfloat32m2_t test_vget_v_f32m4_f32m2(vfloat32m4_t src) {264  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}265  return __riscv_vget_v_f32m4_f32m2(src, 2);266}267 268vfloat32m1_t test_vget_v_f32m8_f32m1(vfloat32m8_t src) {269  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}270  return __riscv_vget_v_f32m8_f32m1(src, 8);271}272 273vfloat32m2_t test_vget_v_f32m8_f32m2(vfloat32m8_t src) {274  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}275  return __riscv_vget_v_f32m8_f32m2(src, 4);276}277 278vfloat32m4_t test_vget_v_f32m8_f32m4(vfloat32m8_t src) {279  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}280  return __riscv_vget_v_f32m8_f32m4(src, 2);281}282 283vfloat64m1_t test_vget_v_f64m2_f64m1(vfloat64m2_t src) {284  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}285  return __riscv_vget_v_f64m2_f64m1(src, 2);286}287 288vfloat64m1_t test_vget_v_f64m4_f64m1(vfloat64m4_t src) {289  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}290  return __riscv_vget_v_f64m4_f64m1(src, 4);291}292 293vfloat64m2_t test_vget_v_f64m4_f64m2(vfloat64m4_t src) {294  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}295  return __riscv_vget_v_f64m4_f64m2(src, 2);296}297 298vfloat64m1_t test_vget_v_f64m8_f64m1(vfloat64m8_t src) {299  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}300  return __riscv_vget_v_f64m8_f64m1(src, 8);301}302 303vfloat64m2_t test_vget_v_f64m8_f64m2(vfloat64m8_t src) {304  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}305  return __riscv_vget_v_f64m8_f64m2(src, 4);306}307 308vfloat64m4_t test_vget_v_f64m8_f64m4(vfloat64m8_t src) {309  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}310  return __riscv_vget_v_f64m8_f64m4(src, 2);311}312 313vfloat16m1_t test_vget_v_f16m2_f16m1(vfloat16m2_t src) {314  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}315  return __riscv_vget_v_f16m2_f16m1(src, 2);316}317 318vfloat16m1_t test_vget_v_f16m4_f16m1(vfloat16m4_t src) {319  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}320  return __riscv_vget_v_f16m4_f16m1(src, 4);321}322 323vfloat16m1_t test_vget_v_f16m8_f16m1(vfloat16m8_t src) {324  // expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}325  return __riscv_vget_v_f16m8_f16m1(src, 8);326}327 328vfloat16m2_t test_vget_v_f16m4_f16m2(vfloat16m4_t src) {329  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}330  return __riscv_vget_v_f16m4_f16m2(src, 2);331}332 333vfloat16m2_t test_vget_v_f16m8_f16m2(vfloat16m8_t src) {334  // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}335  return __riscv_vget_v_f16m8_f16m2(src, 4);336}337 338vfloat16m4_t test_vget_v_f16m8_f16m4(vfloat16m8_t src) {339  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}340  return __riscv_vget_v_f16m8_f16m4(src, 2);341}342 343vint32m1_t test_vget_v_i32m1x2_i32m1(vint32m1x2_t src) {344  // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}345  return __riscv_vget_v_i32m1x2_i32m1(src, 2);346}347