brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · 0109c5f Raw
184 lines · c
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py2// REQUIRES: aarch64-registered-target3// RUN: %clang_cc1 -triple aarch64 -target-feature +sve -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -passes=mem2reg,tailcallelim | FileCheck %s4// RUN: %clang_cc1 -triple aarch64 -target-feature +sve -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -passes=mem2reg,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK5// RUN: %clang_cc1 -triple aarch64 -target-feature +sve -S -disable-O0-optnone -Werror -o /dev/null %s6// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -S -disable-O0-optnone -Werror -o /dev/null %s7 8#include <arm_sve.h>9 10#if defined __ARM_FEATURE_SME11#define MODE_ATTR __arm_streaming12#else13#define MODE_ATTR14#endif15 16// CHECK-LABEL: @test_svundef_s8(17// CHECK-NEXT:  entry:18// CHECK-NEXT:    ret <vscale x 16 x i8> undef19//20// CPP-CHECK-LABEL: @_Z15test_svundef_s8v(21// CPP-CHECK-NEXT:  entry:22// CPP-CHECK-NEXT:    ret <vscale x 16 x i8> undef23//24svint8_t test_svundef_s8(void) MODE_ATTR25{26  return svundef_s8();27}28 29// CHECK-LABEL: @test_svundef_s16(30// CHECK-NEXT:  entry:31// CHECK-NEXT:    ret <vscale x 8 x i16> undef32//33// CPP-CHECK-LABEL: @_Z16test_svundef_s16v(34// CPP-CHECK-NEXT:  entry:35// CPP-CHECK-NEXT:    ret <vscale x 8 x i16> undef36//37svint16_t test_svundef_s16(void) MODE_ATTR38{39  return svundef_s16();40}41 42// CHECK-LABEL: @test_svundef_s32(43// CHECK-NEXT:  entry:44// CHECK-NEXT:    ret <vscale x 4 x i32> undef45//46// CPP-CHECK-LABEL: @_Z16test_svundef_s32v(47// CPP-CHECK-NEXT:  entry:48// CPP-CHECK-NEXT:    ret <vscale x 4 x i32> undef49//50svint32_t test_svundef_s32(void) MODE_ATTR51{52  return svundef_s32();53}54 55// CHECK-LABEL: @test_svundef_s64(56// CHECK-NEXT:  entry:57// CHECK-NEXT:    ret <vscale x 2 x i64> undef58//59// CPP-CHECK-LABEL: @_Z16test_svundef_s64v(60// CPP-CHECK-NEXT:  entry:61// CPP-CHECK-NEXT:    ret <vscale x 2 x i64> undef62//63svint64_t test_svundef_s64(void) MODE_ATTR64{65  return svundef_s64();66}67 68// CHECK-LABEL: @test_svundef_u8(69// CHECK-NEXT:  entry:70// CHECK-NEXT:    ret <vscale x 16 x i8> undef71//72// CPP-CHECK-LABEL: @_Z15test_svundef_u8v(73// CPP-CHECK-NEXT:  entry:74// CPP-CHECK-NEXT:    ret <vscale x 16 x i8> undef75//76svuint8_t test_svundef_u8(void) MODE_ATTR77{78  return svundef_u8();79}80 81// CHECK-LABEL: @test_svundef_u16(82// CHECK-NEXT:  entry:83// CHECK-NEXT:    ret <vscale x 8 x i16> undef84//85// CPP-CHECK-LABEL: @_Z16test_svundef_u16v(86// CPP-CHECK-NEXT:  entry:87// CPP-CHECK-NEXT:    ret <vscale x 8 x i16> undef88//89svuint16_t test_svundef_u16(void) MODE_ATTR90{91  return svundef_u16();92}93 94// CHECK-LABEL: @test_svundef_u32(95// CHECK-NEXT:  entry:96// CHECK-NEXT:    ret <vscale x 4 x i32> undef97//98// CPP-CHECK-LABEL: @_Z16test_svundef_u32v(99// CPP-CHECK-NEXT:  entry:100// CPP-CHECK-NEXT:    ret <vscale x 4 x i32> undef101//102svuint32_t test_svundef_u32(void) MODE_ATTR103{104  return svundef_u32();105}106 107// CHECK-LABEL: @test_svundef_u64(108// CHECK-NEXT:  entry:109// CHECK-NEXT:    ret <vscale x 2 x i64> undef110//111// CPP-CHECK-LABEL: @_Z16test_svundef_u64v(112// CPP-CHECK-NEXT:  entry:113// CPP-CHECK-NEXT:    ret <vscale x 2 x i64> undef114//115svuint64_t test_svundef_u64(void) MODE_ATTR116{117  return svundef_u64();118}119 120// CHECK-LABEL: @test_svundef_f16(121// CHECK-NEXT:  entry:122// CHECK-NEXT:    ret <vscale x 8 x half> undef123//124// CPP-CHECK-LABEL: @_Z16test_svundef_f16v(125// CPP-CHECK-NEXT:  entry:126// CPP-CHECK-NEXT:    ret <vscale x 8 x half> undef127//128svfloat16_t test_svundef_f16(void) MODE_ATTR129{130  return svundef_f16();131}132 133// CHECK-LABEL: @test_svundef_f32(134// CHECK-NEXT:  entry:135// CHECK-NEXT:    ret <vscale x 4 x float> undef136//137// CPP-CHECK-LABEL: @_Z16test_svundef_f32v(138// CPP-CHECK-NEXT:  entry:139// CPP-CHECK-NEXT:    ret <vscale x 4 x float> undef140//141svfloat32_t test_svundef_f32(void) MODE_ATTR142{143  return svundef_f32();144}145 146// CHECK-LABEL: @test_svundef_f64(147// CHECK-NEXT:  entry:148// CHECK-NEXT:    ret <vscale x 2 x double> undef149//150// CPP-CHECK-LABEL: @_Z16test_svundef_f64v(151// CPP-CHECK-NEXT:  entry:152// CPP-CHECK-NEXT:    ret <vscale x 2 x double> undef153//154svfloat64_t test_svundef_f64(void) MODE_ATTR155{156  return svundef_f64();157}158 159// CHECK-LABEL: @test_svundef_mf8(160// CHECK-NEXT:  entry:161// CHECK-NEXT:    ret <vscale x 16 x i8> undef162//163// CPP-CHECK-LABEL: @_Z16test_svundef_mf8v(164// CPP-CHECK-NEXT:  entry:165// CPP-CHECK-NEXT:    ret <vscale x 16 x i8> undef166//167svmfloat8_t test_svundef_mf8(void) MODE_ATTR168{169  return svundef_mf8();170}171 172// CHECK-LABEL: @test_svundef_bf16(173// CHECK-NEXT:  entry:174// CHECK-NEXT:    ret <vscale x 8 x bfloat> undef175//176// CPP-CHECK-LABEL: @_Z17test_svundef_bf16v(177// CPP-CHECK-NEXT:  entry:178// CPP-CHECK-NEXT:    ret <vscale x 8 x bfloat> undef179//180svbfloat16_t test_svundef_bf16(void) MODE_ATTR181{182  return svundef_bf16();183}184