brintos

brintos / llvm-project-archived public Read only

0
0
Text · 42.2 KiB · c6e5925 Raw
395 lines · c
1// RUN: %clang_cc1 -verify -triple aarch64-none-linux-gnu -target-feature +sve -fsyntax-only %s2 3// REQUIRES: aarch64-registered-target4 5#include <arm_sve.h>6 7void and (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,8          svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,9          svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,10          svbool_t b) {11  (void)(i8 & b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}12  (void)(i8 & i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}13  (void)(i8 & i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}14  (void)(i8 & i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}15  (void)(i8 & u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}16  (void)(i8 & u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}17  (void)(i8 & u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}18  (void)(i8 & f16); // expected-error{{invalid operands to binary expression}}19  (void)(i8 & f32); // expected-error{{invalid operands to binary expression}}20  (void)(i8 & f64); // expected-error{{invalid operands to binary expression}}21 22  (void)(u8 & b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}23  (void)(u8 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}24  (void)(u8 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}25  (void)(u8 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}26  (void)(u8 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}27  (void)(u8 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}28  (void)(u8 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}29  (void)(u8 & f16); // expected-error{{invalid operands to binary expression}}30  (void)(u8 & f32); // expected-error{{invalid operands to binary expression}}31  (void)(u8 & f64); // expected-error{{invalid operands to binary expression}}32 33  (void)(i16 & b);   // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}34  (void)(i16 & i8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}35  (void)(i16 & i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}36  (void)(i16 & i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}37  (void)(i16 & u8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}38  (void)(i16 & u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}39  (void)(i16 & u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}40  (void)(i16 & f16); // expected-error{{invalid operands to binary expression}}41  (void)(i16 & f32); // expected-error{{invalid operands to binary expression}}42  (void)(i16 & f64); // expected-error{{invalid operands to binary expression}}43 44  (void)(u16 & b);   // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}45  (void)(u16 & i8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}46  (void)(u16 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}47  (void)(u16 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}48  (void)(u16 & u8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}49  (void)(u16 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}50  (void)(u16 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}51  (void)(u16 & f16); // expected-error{{invalid operands to binary expression}}52  (void)(u16 & f32); // expected-error{{invalid operands to binary expression}}53  (void)(u16 & f64); // expected-error{{invalid operands to binary expression}}54 55  (void)(i32 & b);   // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}56  (void)(i32 & i8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}57  (void)(i32 & i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}58  (void)(i32 & i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}59  (void)(i32 & u8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}60  (void)(i32 & u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}61  (void)(i32 & u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}62  (void)(i32 & f16); // expected-error{{invalid operands to binary expression}}63  (void)(i32 & f32); // expected-error{{invalid operands to binary expression}}64  (void)(i32 & f64); // expected-error{{invalid operands to binary expression}}65 66  (void)(u32 & b);   // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}67  (void)(u32 & i8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}68  (void)(u32 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}69  (void)(u32 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}70  (void)(u32 & u8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}71  (void)(u32 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}72  (void)(u32 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}73  (void)(u32 & f16); // expected-error{{invalid operands to binary expression}}74  (void)(u32 & f32); // expected-error{{invalid operands to binary expression}}75  (void)(u32 & f64); // expected-error{{invalid operands to binary expression}}76 77  (void)(i64 & b);   // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}78  (void)(i64 & i8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}79  (void)(i64 & i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}80  (void)(i64 & i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}81  (void)(i64 & u8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}82  (void)(i64 & u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}83  (void)(i64 & u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}84  (void)(i64 & f16); // expected-error{{invalid operands to binary expression}}85  (void)(i64 & f32); // expected-error{{invalid operands to binary expression}}86  (void)(i64 & f64); // expected-error{{invalid operands to binary expression}}87 88  (void)(u64 & b);   // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}89  (void)(u64 & i8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}90  (void)(u64 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}91  (void)(u64 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}92  (void)(u64 & u8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}93  (void)(u64 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}94  (void)(u64 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}95  (void)(u64 & f16); // expected-error{{invalid operands to binary expression}}96  (void)(u64 & f32); // expected-error{{invalid operands to binary expression}}97  (void)(u64 & f64); // expected-error{{invalid operands to binary expression}}98 99  (void)(f16 & b);   // expected-error{{invalid operands to binary expression}}100  (void)(f16 & i8);  // expected-error{{invalid operands to binary expression}}101  (void)(f16 & i16); // expected-error{{invalid operands to binary expression}}102  (void)(f16 & i32); // expected-error{{invalid operands to binary expression}}103  (void)(f16 & i64); // expected-error{{invalid operands to binary expression}}104  (void)(f16 & u8);  // expected-error{{invalid operands to binary expression}}105  (void)(f16 & u32); // expected-error{{invalid operands to binary expression}}106  (void)(f16 & u64); // expected-error{{invalid operands to binary expression}}107  (void)(f16 & f32); // expected-error{{invalid operands to binary expression}}108  (void)(f16 & f64); // expected-error{{invalid operands to binary expression}}109 110  (void)(f32 & b);   // expected-error{{invalid operands to binary expression}}111  (void)(f32 & i8);  // expected-error{{invalid operands to binary expression}}112  (void)(f32 & i16); // expected-error{{invalid operands to binary expression}}113  (void)(f32 & i32); // expected-error{{invalid operands to binary expression}}114  (void)(f32 & i64); // expected-error{{invalid operands to binary expression}}115  (void)(f32 & u8);  // expected-error{{invalid operands to binary expression}}116  (void)(f32 & u16); // expected-error{{invalid operands to binary expression}}117  (void)(f32 & u64); // expected-error{{invalid operands to binary expression}}118  (void)(f32 & f16); // expected-error{{invalid operands to binary expression}}119  (void)(f32 & f32); // expected-error{{invalid operands to binary expression}}120  (void)(f32 & f64); // expected-error{{invalid operands to binary expression}}121 122  (void)(f64 & b);   // expected-error{{invalid operands to binary expression}}123  (void)(f64 & i8);  // expected-error{{invalid operands to binary expression}}124  (void)(f64 & i16); // expected-error{{invalid operands to binary expression}}125  (void)(f64 & i32); // expected-error{{invalid operands to binary expression}}126  (void)(f64 & i64); // expected-error{{invalid operands to binary expression}}127  (void)(f64 & u8);  // expected-error{{invalid operands to binary expression}}128  (void)(f64 & u16); // expected-error{{invalid operands to binary expression}}129  (void)(f64 & u32); // expected-error{{invalid operands to binary expression}}130  (void)(f64 & f16); // expected-error{{invalid operands to binary expression}}131  (void)(f64 & f32); // expected-error{{invalid operands to binary expression}}132  (void)(f64 & f64); // expected-error{{invalid operands to binary expression}}133}134 135void or (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,136         svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,137         svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,138         svbool_t b) {139  (void)(i8 | b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}140  (void)(i8 | i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}141  (void)(i8 | i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}142  (void)(i8 | i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}143  (void)(i8 | u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}144  (void)(i8 | u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}145  (void)(i8 | u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}146  (void)(i8 | f16); // expected-error{{invalid operands to binary expression}}147  (void)(i8 | f32); // expected-error{{invalid operands to binary expression}}148  (void)(i8 | f64); // expected-error{{invalid operands to binary expression}}149 150  (void)(u8 | b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}151  (void)(u8 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}152  (void)(u8 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}153  (void)(u8 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}154  (void)(u8 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}155  (void)(u8 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}156  (void)(u8 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}157  (void)(u8 | f16); // expected-error{{invalid operands to binary expression}}158  (void)(u8 | f32); // expected-error{{invalid operands to binary expression}}159  (void)(u8 | f64); // expected-error{{invalid operands to binary expression}}160 161  (void)(i16 | b);   // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}162  (void)(i16 | i8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}163  (void)(i16 | i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}164  (void)(i16 | i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}165  (void)(i16 | u8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}166  (void)(i16 | u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}167  (void)(i16 | u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}168  (void)(i16 | f16); // expected-error{{invalid operands to binary expression}}169  (void)(i16 | f32); // expected-error{{invalid operands to binary expression}}170  (void)(i16 | f64); // expected-error{{invalid operands to binary expression}}171 172  (void)(u16 | b);   // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}173  (void)(u16 | i8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}174  (void)(u16 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}175  (void)(u16 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}176  (void)(u16 | u8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}177  (void)(u16 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}178  (void)(u16 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}179  (void)(u16 | f16); // expected-error{{invalid operands to binary expression}}180  (void)(u16 | f32); // expected-error{{invalid operands to binary expression}}181  (void)(u16 | f64); // expected-error{{invalid operands to binary expression}}182 183  (void)(i32 | b);   // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}184  (void)(i32 | i8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}185  (void)(i32 | i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}186  (void)(i32 | i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}187  (void)(i32 | u8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}188  (void)(i32 | u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}189  (void)(i32 | u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}190  (void)(i32 | f16); // expected-error{{invalid operands to binary expression}}191  (void)(i32 | f32); // expected-error{{invalid operands to binary expression}}192  (void)(i32 | f64); // expected-error{{invalid operands to binary expression}}193 194  (void)(u32 | b);   // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}195  (void)(u32 | i8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}196  (void)(u32 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}197  (void)(u32 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}198  (void)(u32 | u8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}199  (void)(u32 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}200  (void)(u32 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}201  (void)(u32 | f16); // expected-error{{invalid operands to binary expression}}202  (void)(u32 | f32); // expected-error{{invalid operands to binary expression}}203  (void)(u32 | f64); // expected-error{{invalid operands to binary expression}}204 205  (void)(i64 | b);   // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}206  (void)(i64 | i8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}207  (void)(i64 | i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}208  (void)(i64 | i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}209  (void)(i64 | u8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}210  (void)(i64 | u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}211  (void)(i64 | u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}212  (void)(i64 | f16); // expected-error{{invalid operands to binary expression}}213  (void)(i64 | f32); // expected-error{{invalid operands to binary expression}}214  (void)(i64 | f64); // expected-error{{invalid operands to binary expression}}215 216  (void)(u64 | b);   // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}217  (void)(u64 | i8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}218  (void)(u64 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}219  (void)(u64 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}220  (void)(u64 | u8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}221  (void)(u64 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}222  (void)(u64 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}223  (void)(u64 | f16); // expected-error{{invalid operands to binary expression}}224  (void)(u64 | f32); // expected-error{{invalid operands to binary expression}}225  (void)(u64 | f64); // expected-error{{invalid operands to binary expression}}226 227  (void)(f16 | b);   // expected-error{{invalid operands to binary expression}}228  (void)(f16 | i8);  // expected-error{{invalid operands to binary expression}}229  (void)(f16 | i16); // expected-error{{invalid operands to binary expression}}230  (void)(f16 | i32); // expected-error{{invalid operands to binary expression}}231  (void)(f16 | i64); // expected-error{{invalid operands to binary expression}}232  (void)(f16 | u8);  // expected-error{{invalid operands to binary expression}}233  (void)(f16 | u32); // expected-error{{invalid operands to binary expression}}234  (void)(f16 | u64); // expected-error{{invalid operands to binary expression}}235  (void)(f16 | f16); // expected-error{{invalid operands to binary expression}}236  (void)(f16 | f32); // expected-error{{invalid operands to binary expression}}237  (void)(f16 | f64); // expected-error{{invalid operands to binary expression}}238 239  (void)(f32 | b);   // expected-error{{invalid operands to binary expression}}240  (void)(f32 | i8);  // expected-error{{invalid operands to binary expression}}241  (void)(f32 | i16); // expected-error{{invalid operands to binary expression}}242  (void)(f32 | i32); // expected-error{{invalid operands to binary expression}}243  (void)(f32 | i64); // expected-error{{invalid operands to binary expression}}244  (void)(f32 | u8);  // expected-error{{invalid operands to binary expression}}245  (void)(f32 | u16); // expected-error{{invalid operands to binary expression}}246  (void)(f32 | u64); // expected-error{{invalid operands to binary expression}}247  (void)(f32 | f16); // expected-error{{invalid operands to binary expression}}248  (void)(f32 | f32); // expected-error{{invalid operands to binary expression}}249  (void)(f32 | f64); // expected-error{{invalid operands to binary expression}}250 251  (void)(f64 | b);   // expected-error{{invalid operands to binary expression}}252  (void)(f64 | i8);  // expected-error{{invalid operands to binary expression}}253  (void)(f64 | i16); // expected-error{{invalid operands to binary expression}}254  (void)(f64 | i32); // expected-error{{invalid operands to binary expression}}255  (void)(f64 | i64); // expected-error{{invalid operands to binary expression}}256  (void)(f64 | u8);  // expected-error{{invalid operands to binary expression}}257  (void)(f64 | u16); // expected-error{{invalid operands to binary expression}}258  (void)(f64 | u32); // expected-error{{invalid operands to binary expression}}259  (void)(f64 | f16); // expected-error{{invalid operands to binary expression}}260  (void)(f64 | f32); // expected-error{{invalid operands to binary expression}}261  (void)(f64 | f64); // expected-error{{invalid operands to binary expression}}262}263 264void xor (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64, svfloat16_t f16, svfloat32_t f32, svfloat64_t f64, svbool_t b) {265  (void)(i8 ^ b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}266  (void)(i8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}267  (void)(i8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}268  (void)(i8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}269  (void)(i8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}270  (void)(i8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}271  (void)(i8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}272  (void)(i8 ^ f16); // expected-error{{invalid operands to binary expression}}273  (void)(i8 ^ f32); // expected-error{{invalid operands to binary expression}}274  (void)(i8 ^ f64); // expected-error{{invalid operands to binary expression}}275 276  (void)(u8 ^ b);   // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}277  (void)(u8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}278  (void)(u8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}279  (void)(u8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}280  (void)(u8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}281  (void)(u8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}282  (void)(u8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}283  (void)(u8 ^ f16); // expected-error{{invalid operands to binary expression}}284  (void)(u8 ^ f32); // expected-error{{invalid operands to binary expression}}285  (void)(u8 ^ f64); // expected-error{{invalid operands to binary expression}}286 287  (void)(i16 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}288  (void)(i16 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}289  (void)(i16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}290  (void)(i16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}291  (void)(i16 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}292  (void)(i16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}293  (void)(i16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}294  (void)(i16 ^ f16); // expected-error{{invalid operands to binary expression}}295  (void)(i16 ^ f32); // expected-error{{invalid operands to binary expression}}296  (void)(i16 ^ f64); // expected-error{{invalid operands to binary expression}}297 298  (void)(u16 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}299  (void)(u16 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}300  (void)(u16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}301  (void)(u16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}302  (void)(u16 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}303  (void)(u16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}304  (void)(u16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}305  (void)(u16 ^ f16); // expected-error{{invalid operands to binary expression}}306  (void)(u16 ^ f32); // expected-error{{invalid operands to binary expression}}307  (void)(u16 ^ f64); // expected-error{{invalid operands to binary expression}}308 309  (void)(i32 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}310  (void)(i32 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}311  (void)(i32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}312  (void)(i32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}313  (void)(i32 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}314  (void)(i32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}315  (void)(i32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}316  (void)(i32 ^ f16); // expected-error{{invalid operands to binary expression}}317  (void)(i32 ^ f32); // expected-error{{invalid operands to binary expression}}318  (void)(i32 ^ f64); // expected-error{{invalid operands to binary expression}}319 320  (void)(u32 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}321  (void)(u32 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}322  (void)(u32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}323  (void)(u32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}324  (void)(u32 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}325  (void)(u32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}326  (void)(u32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}327  (void)(u32 ^ f16); // expected-error{{invalid operands to binary expression}}328  (void)(u32 ^ f32); // expected-error{{invalid operands to binary expression}}329  (void)(u32 ^ f64); // expected-error{{invalid operands to binary expression}}330 331  (void)(i64 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}332  (void)(i64 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}333  (void)(i64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}334  (void)(i64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}335  (void)(i64 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}336  (void)(i64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}337  (void)(i64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}338  (void)(i64 ^ f16); // expected-error{{invalid operands to binary expression}}339  (void)(i64 ^ f32); // expected-error{{invalid operands to binary expression}}340  (void)(i64 ^ f64); // expected-error{{invalid operands to binary expression}}341 342  (void)(u64 ^ b);   // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}343  (void)(u64 ^ i8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}344  (void)(u64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}345  (void)(u64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}346  (void)(u64 ^ u8);  // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}347  (void)(u64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}348  (void)(u64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}349  (void)(u64 ^ f16); // expected-error{{invalid operands to binary expression}}350  (void)(u64 ^ f32); // expected-error{{invalid operands to binary expression}}351  (void)(u64 ^ f64); // expected-error{{invalid operands to binary expression}}352 353  (void)(f16 ^ b);   // expected-error{{invalid operands to binary expression}}354  (void)(f16 ^ i8);  // expected-error{{invalid operands to binary expression}}355  (void)(f16 ^ i16); // expected-error{{invalid operands to binary expression}}356  (void)(f16 ^ i32); // expected-error{{invalid operands to binary expression}}357  (void)(f16 ^ i64); // expected-error{{invalid operands to binary expression}}358  (void)(f16 ^ u8);  // expected-error{{invalid operands to binary expression}}359  (void)(f16 ^ u32); // expected-error{{invalid operands to binary expression}}360  (void)(f16 ^ u64); // expected-error{{invalid operands to binary expression}}361  (void)(f16 ^ f16); // expected-error{{invalid operands to binary expression}}362  (void)(f16 ^ f32); // expected-error{{invalid operands to binary expression}}363  (void)(f16 ^ f64); // expected-error{{invalid operands to binary expression}}364 365  (void)(f32 ^ b);   // expected-error{{invalid operands to binary expression}}366  (void)(f32 ^ i8);  // expected-error{{invalid operands to binary expression}}367  (void)(f32 ^ i16); // expected-error{{invalid operands to binary expression}}368  (void)(f32 ^ i32); // expected-error{{invalid operands to binary expression}}369  (void)(f32 ^ i64); // expected-error{{invalid operands to binary expression}}370  (void)(f32 ^ u8);  // expected-error{{invalid operands to binary expression}}371  (void)(f32 ^ u16); // expected-error{{invalid operands to binary expression}}372  (void)(f32 ^ u64); // expected-error{{invalid operands to binary expression}}373  (void)(f32 ^ f16); // expected-error{{invalid operands to binary expression}}374  (void)(f32 ^ f32); // expected-error{{invalid operands to binary expression}}375  (void)(f32 ^ f64); // expected-error{{invalid operands to binary expression}}376 377  (void)(f64 ^ b);   // expected-error{{invalid operands to binary expression}}378  (void)(f64 ^ i8);  // expected-error{{invalid operands to binary expression}}379  (void)(f64 ^ i16); // expected-error{{invalid operands to binary expression}}380  (void)(f64 ^ i32); // expected-error{{invalid operands to binary expression}}381  (void)(f64 ^ i64); // expected-error{{invalid operands to binary expression}}382  (void)(f64 ^ u8);  // expected-error{{invalid operands to binary expression}}383  (void)(f64 ^ u16); // expected-error{{invalid operands to binary expression}}384  (void)(f64 ^ u32); // expected-error{{invalid operands to binary expression}}385  (void)(f64 ^ f16); // expected-error{{invalid operands to binary expression}}386  (void)(f64 ^ f32); // expected-error{{invalid operands to binary expression}}387  (void)(f64 ^ f64); // expected-error{{invalid operands to binary expression}}388}389 390    void not(svfloat16_t f16, svfloat32_t f32, svfloat32_t f64) {391  (void)(~f16); // expected-error{{invalid argument type}}392  (void)(~f32); // expected-error{{invalid argument type}}393  (void)(~f64); // expected-error{{invalid argument type}}394}395