| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| // RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s | ||
|
|
||
| #include <arm_sve.h> | ||
|
|
||
| svint8_t test_svundef_s8() | ||
| { | ||
| // CHECK-LABEL: test_svundef_s8 | ||
| // CHECK: ret <vscale x 16 x i8> undef | ||
| return svundef_s8(); | ||
| } | ||
|
|
||
| svint16_t test_svundef_s16() | ||
| { | ||
| // CHECK-LABEL: test_svundef_s16 | ||
| // CHECK: ret <vscale x 8 x i16> undef | ||
| return svundef_s16(); | ||
| } | ||
|
|
||
| svint32_t test_svundef_s32() | ||
| { | ||
| // CHECK-LABEL: test_svundef_s32 | ||
| // CHECK: ret <vscale x 4 x i32> undef | ||
| return svundef_s32(); | ||
| } | ||
|
|
||
| svint64_t test_svundef_s64() | ||
| { | ||
| // CHECK-LABEL: test_svundef_s64 | ||
| // CHECK: ret <vscale x 2 x i64> undef | ||
| return svundef_s64(); | ||
| } | ||
|
|
||
| svuint8_t test_svundef_u8() | ||
| { | ||
| // CHECK-LABEL: test_svundef_u8 | ||
| // CHECK: ret <vscale x 16 x i8> undef | ||
| return svundef_u8(); | ||
| } | ||
|
|
||
| svuint16_t test_svundef_u16() | ||
| { | ||
| // CHECK-LABEL: test_svundef_u16 | ||
| // CHECK: ret <vscale x 8 x i16> undef | ||
| return svundef_u16(); | ||
| } | ||
|
|
||
| svuint32_t test_svundef_u32() | ||
| { | ||
| // CHECK-LABEL: test_svundef_u32 | ||
| // CHECK: ret <vscale x 4 x i32> undef | ||
| return svundef_u32(); | ||
| } | ||
|
|
||
| svuint64_t test_svundef_u64() | ||
| { | ||
| // CHECK-LABEL: test_svundef_u64 | ||
| // CHECK: ret <vscale x 2 x i64> undef | ||
| return svundef_u64(); | ||
| } | ||
|
|
||
| svfloat16_t test_svundef_f16() | ||
| { | ||
| // CHECK-LABEL: test_svundef_f16 | ||
| // CHECK: ret <vscale x 8 x half> undef | ||
| return svundef_f16(); | ||
| } | ||
|
|
||
| svfloat32_t test_svundef_f32() | ||
| { | ||
| // CHECK-LABEL: test_svundef_f32 | ||
| // CHECK: ret <vscale x 4 x float> undef | ||
| return svundef_f32(); | ||
| } | ||
|
|
||
| svfloat64_t test_svundef_f64() | ||
| { | ||
| // CHECK-LABEL: test_svundef_f64 | ||
| // CHECK: ret <vscale x 2 x double> undef | ||
| return svundef_f64(); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| // RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O2 -Werror -Wall -emit-llvm -o - %s | FileCheck %s | ||
|
|
||
| #include <arm_sve.h> | ||
|
|
||
| svint8x2_t test_svundef2_s8() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_s8 | ||
| // CHECK: ret <vscale x 32 x i8> undef | ||
| return svundef2_s8(); | ||
| } | ||
|
|
||
| svint16x2_t test_svundef2_s16() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_s16 | ||
| // CHECK: ret <vscale x 16 x i16> undef | ||
| return svundef2_s16(); | ||
| } | ||
|
|
||
| svint32x2_t test_svundef2_s32() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_s32 | ||
| // CHECK: ret <vscale x 8 x i32> undef | ||
| return svundef2_s32(); | ||
| } | ||
|
|
||
| svint64x2_t test_svundef2_s64() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_s64 | ||
| // CHECK: ret <vscale x 4 x i64> undef | ||
| return svundef2_s64(); | ||
| } | ||
|
|
||
| svuint8x2_t test_svundef2_u8() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_u8 | ||
| // CHECK: ret <vscale x 32 x i8> undef | ||
| return svundef2_u8(); | ||
| } | ||
|
|
||
| svuint16x2_t test_svundef2_u16() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_u16 | ||
| // CHECK: ret <vscale x 16 x i16> undef | ||
| return svundef2_u16(); | ||
| } | ||
|
|
||
| svuint32x2_t test_svundef2_u32() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_u32 | ||
| // CHECK: ret <vscale x 8 x i32> undef | ||
| return svundef2_u32(); | ||
| } | ||
|
|
||
| svuint64x2_t test_svundef2_u64() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_u64 | ||
| // CHECK: ret <vscale x 4 x i64> undef | ||
| return svundef2_u64(); | ||
| } | ||
|
|
||
| svfloat16x2_t test_svundef2_f16() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_f16 | ||
| // CHECK: ret <vscale x 16 x half> undef | ||
| return svundef2_f16(); | ||
| } | ||
|
|
||
| svfloat32x2_t test_svundef2_f32() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_f32 | ||
| // CHECK: ret <vscale x 8 x float> undef | ||
| return svundef2_f32(); | ||
| } | ||
|
|
||
| svfloat64x2_t test_svundef2_f64() | ||
| { | ||
| // CHECK-LABEL: test_svundef2_f64 | ||
| // CHECK: ret <vscale x 4 x double> undef | ||
| return svundef2_f64(); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| // RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O2 -Werror -Wall -emit-llvm -o - %s | FileCheck %s | ||
|
|
||
| #include <arm_sve.h> | ||
|
|
||
| svint8x3_t test_svundef3_s8() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_s8 | ||
| // CHECK: ret <vscale x 48 x i8> undef | ||
| return svundef3_s8(); | ||
| } | ||
|
|
||
| svint16x3_t test_svundef3_s16() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_s16 | ||
| // CHECK: ret <vscale x 24 x i16> undef | ||
| return svundef3_s16(); | ||
| } | ||
|
|
||
| svint32x3_t test_svundef3_s32() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_s32 | ||
| // CHECK: ret <vscale x 12 x i32> undef | ||
| return svundef3_s32(); | ||
| } | ||
|
|
||
| svint64x3_t test_svundef3_s64() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_s64 | ||
| // CHECK: ret <vscale x 6 x i64> undef | ||
| return svundef3_s64(); | ||
| } | ||
|
|
||
| svuint8x3_t test_svundef3_u8() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_u8 | ||
| // CHECK: ret <vscale x 48 x i8> undef | ||
| return svundef3_u8(); | ||
| } | ||
|
|
||
| svuint16x3_t test_svundef3_u16() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_u16 | ||
| // CHECK: ret <vscale x 24 x i16> undef | ||
| return svundef3_u16(); | ||
| } | ||
|
|
||
| svuint32x3_t test_svundef3_u32() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_u32 | ||
| // CHECK: ret <vscale x 12 x i32> undef | ||
| return svundef3_u32(); | ||
| } | ||
|
|
||
| svuint64x3_t test_svundef3_u64() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_u64 | ||
| // CHECK: ret <vscale x 6 x i64> undef | ||
| return svundef3_u64(); | ||
| } | ||
|
|
||
| svfloat16x3_t test_svundef3_f16() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_f16 | ||
| // CHECK: ret <vscale x 24 x half> undef | ||
| return svundef3_f16(); | ||
| } | ||
|
|
||
| svfloat32x3_t test_svundef3_f32() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_f32 | ||
| // CHECK: ret <vscale x 12 x float> undef | ||
| return svundef3_f32(); | ||
| } | ||
|
|
||
| svfloat64x3_t test_svundef3_f64() | ||
| { | ||
| // CHECK-LABEL: test_svundef3_f64 | ||
| // CHECK: ret <vscale x 6 x double> undef | ||
| return svundef3_f64(); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| // RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O2 -Werror -Wall -emit-llvm -o - %s | FileCheck %s | ||
|
|
||
| #include <arm_sve.h> | ||
|
|
||
| svint8x4_t test_svundef4_s8() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_s8 | ||
| // CHECK: ret <vscale x 64 x i8> undef | ||
| return svundef4_s8(); | ||
| } | ||
|
|
||
| svint16x4_t test_svundef4_s16() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_s16 | ||
| // CHECK: ret <vscale x 32 x i16> undef | ||
| return svundef4_s16(); | ||
| } | ||
|
|
||
| svint32x4_t test_svundef4_s32() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_s32 | ||
| // CHECK: ret <vscale x 16 x i32> undef | ||
| return svundef4_s32(); | ||
| } | ||
|
|
||
| svint64x4_t test_svundef4_s64() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_s64 | ||
| // CHECK: ret <vscale x 8 x i64> undef | ||
| return svundef4_s64(); | ||
| } | ||
|
|
||
| svuint8x4_t test_svundef4_u8() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_u8 | ||
| // CHECK: ret <vscale x 64 x i8> undef | ||
| return svundef4_u8(); | ||
| } | ||
|
|
||
| svuint16x4_t test_svundef4_u16() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_u16 | ||
| // CHECK: ret <vscale x 32 x i16> undef | ||
| return svundef4_u16(); | ||
| } | ||
|
|
||
| svuint32x4_t test_svundef4_u32() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_u32 | ||
| // CHECK: ret <vscale x 16 x i32> undef | ||
| return svundef4_u32(); | ||
| } | ||
|
|
||
| svuint64x4_t test_svundef4_u64() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_u64 | ||
| // CHECK: ret <vscale x 8 x i64> undef | ||
| return svundef4_u64(); | ||
| } | ||
|
|
||
| svfloat16x4_t test_svundef4_f16() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_f16 | ||
| // CHECK: ret <vscale x 32 x half> undef | ||
| return svundef4_f16(); | ||
| } | ||
|
|
||
| svfloat32x4_t test_svundef4_f32() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_f32 | ||
| // CHECK: ret <vscale x 16 x float> undef | ||
| return svundef4_f32(); | ||
| } | ||
|
|
||
| svfloat64x4_t test_svundef4_f64() | ||
| { | ||
| // CHECK-LABEL: test_svundef4_f64 | ||
| // CHECK: ret <vscale x 8 x double> undef | ||
| return svundef4_f64(); | ||
| } |