1 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O2 -Werror -Wall -emit-llvm -o - %s | FileCheck %s 2 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O2 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s 3 4 #include <arm_sve.h> 5 test_svundef2_s8()6svint8x2_t test_svundef2_s8() 7 { 8 // CHECK-LABEL: test_svundef2_s8 9 // CHECK: ret <vscale x 32 x i8> undef 10 return svundef2_s8(); 11 } 12 test_svundef2_s16()13svint16x2_t test_svundef2_s16() 14 { 15 // CHECK-LABEL: test_svundef2_s16 16 // CHECK: ret <vscale x 16 x i16> undef 17 return svundef2_s16(); 18 } 19 test_svundef2_s32()20svint32x2_t test_svundef2_s32() 21 { 22 // CHECK-LABEL: test_svundef2_s32 23 // CHECK: ret <vscale x 8 x i32> undef 24 return svundef2_s32(); 25 } 26 test_svundef2_s64()27svint64x2_t test_svundef2_s64() 28 { 29 // CHECK-LABEL: test_svundef2_s64 30 // CHECK: ret <vscale x 4 x i64> undef 31 return svundef2_s64(); 32 } 33 test_svundef2_u8()34svuint8x2_t test_svundef2_u8() 35 { 36 // CHECK-LABEL: test_svundef2_u8 37 // CHECK: ret <vscale x 32 x i8> undef 38 return svundef2_u8(); 39 } 40 test_svundef2_u16()41svuint16x2_t test_svundef2_u16() 42 { 43 // CHECK-LABEL: test_svundef2_u16 44 // CHECK: ret <vscale x 16 x i16> undef 45 return svundef2_u16(); 46 } 47 test_svundef2_u32()48svuint32x2_t test_svundef2_u32() 49 { 50 // CHECK-LABEL: test_svundef2_u32 51 // CHECK: ret <vscale x 8 x i32> undef 52 return svundef2_u32(); 53 } 54 test_svundef2_u64()55svuint64x2_t test_svundef2_u64() 56 { 57 // CHECK-LABEL: test_svundef2_u64 58 // CHECK: ret <vscale x 4 x i64> undef 59 return svundef2_u64(); 60 } 61 test_svundef2_f16()62svfloat16x2_t test_svundef2_f16() 63 { 64 // CHECK-LABEL: test_svundef2_f16 65 // CHECK: ret <vscale x 16 x half> undef 66 return svundef2_f16(); 67 } 68 test_svundef2_f32()69svfloat32x2_t test_svundef2_f32() 70 { 71 // CHECK-LABEL: test_svundef2_f32 72 // CHECK: ret <vscale x 8 x float> undef 73 return svundef2_f32(); 74 } 75 test_svundef2_f64()76svfloat64x2_t test_svundef2_f64() 77 { 78 // CHECK-LABEL: test_svundef2_f64 79 // CHECK: ret <vscale x 4 x double> undef 80 return svundef2_f64(); 81 } 82