brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.8 KiB · 5c06d2d Raw
280 lines · c
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 42// REQUIRES: riscv-registered-target3// RUN: %clang_cc1 -triple riscv64 -target-feature +zve64x \4// RUN:   -target-feature +zvfbfmin -disable-O0-optnone \5// RUN:   -emit-llvm %s -o - | opt -S -passes=mem2reg | \6// RUN:   FileCheck --check-prefix=CHECK-RV64 %s7 8#include <riscv_vector.h>9 10// CHECK-RV64-LABEL: define dso_local <vscale x 1 x bfloat> @test_vundefined_bf16mf4(11// CHECK-RV64-SAME: ) #[[ATTR0:[0-9]+]] {12// CHECK-RV64-NEXT:  entry:13// CHECK-RV64-NEXT:    ret <vscale x 1 x bfloat> poison14//15vbfloat16mf4_t test_vundefined_bf16mf4() {16  return __riscv_vundefined_bf16mf4();17}18 19// CHECK-RV64-LABEL: define dso_local <vscale x 2 x bfloat> @test_vundefined_bf16mf2(20// CHECK-RV64-SAME: ) #[[ATTR0]] {21// CHECK-RV64-NEXT:  entry:22// CHECK-RV64-NEXT:    ret <vscale x 2 x bfloat> poison23//24vbfloat16mf2_t test_vundefined_bf16mf2() {25  return __riscv_vundefined_bf16mf2();26}27 28// CHECK-RV64-LABEL: define dso_local <vscale x 4 x bfloat> @test_vundefined_bf16m1(29// CHECK-RV64-SAME: ) #[[ATTR0]] {30// CHECK-RV64-NEXT:  entry:31// CHECK-RV64-NEXT:    ret <vscale x 4 x bfloat> poison32//33vbfloat16m1_t test_vundefined_bf16m1() { return __riscv_vundefined_bf16m1(); }34 35// CHECK-RV64-LABEL: define dso_local <vscale x 8 x bfloat> @test_vundefined_bf16m2(36// CHECK-RV64-SAME: ) #[[ATTR0]] {37// CHECK-RV64-NEXT:  entry:38// CHECK-RV64-NEXT:    ret <vscale x 8 x bfloat> poison39//40vbfloat16m2_t test_vundefined_bf16m2() { return __riscv_vundefined_bf16m2(); }41 42// CHECK-RV64-LABEL: define dso_local <vscale x 16 x bfloat> @test_vundefined_bf16m4(43// CHECK-RV64-SAME: ) #[[ATTR0]] {44// CHECK-RV64-NEXT:  entry:45// CHECK-RV64-NEXT:    ret <vscale x 16 x bfloat> poison46//47vbfloat16m4_t test_vundefined_bf16m4() { return __riscv_vundefined_bf16m4(); }48 49// CHECK-RV64-LABEL: define dso_local <vscale x 32 x bfloat> @test_vundefined_bf16m8(50// CHECK-RV64-SAME: ) #[[ATTR0]] {51// CHECK-RV64-NEXT:  entry:52// CHECK-RV64-NEXT:    ret <vscale x 32 x bfloat> poison53//54vbfloat16m8_t test_vundefined_bf16m8() { return __riscv_vundefined_bf16m8(); }55 56// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vundefined_bf16mf4x2(57// CHECK-RV64-SAME: ) #[[ATTR0]] {58// CHECK-RV64-NEXT:  entry:59// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison60//61vbfloat16mf4x2_t test_vundefined_bf16mf4x2() {62  return __riscv_vundefined_bf16mf4x2();63}64 65// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vundefined_bf16mf4x3(66// CHECK-RV64-SAME: ) #[[ATTR0]] {67// CHECK-RV64-NEXT:  entry:68// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison69//70vbfloat16mf4x3_t test_vundefined_bf16mf4x3() {71  return __riscv_vundefined_bf16mf4x3();72}73 74// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vundefined_bf16mf4x4(75// CHECK-RV64-SAME: ) #[[ATTR0]] {76// CHECK-RV64-NEXT:  entry:77// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison78//79vbfloat16mf4x4_t test_vundefined_bf16mf4x4() {80  return __riscv_vundefined_bf16mf4x4();81}82 83// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vundefined_bf16mf4x5(84// CHECK-RV64-SAME: ) #[[ATTR0]] {85// CHECK-RV64-NEXT:  entry:86// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison87//88vbfloat16mf4x5_t test_vundefined_bf16mf4x5() {89  return __riscv_vundefined_bf16mf4x5();90}91 92// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vundefined_bf16mf4x6(93// CHECK-RV64-SAME: ) #[[ATTR0]] {94// CHECK-RV64-NEXT:  entry:95// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison96//97vbfloat16mf4x6_t test_vundefined_bf16mf4x6() {98  return __riscv_vundefined_bf16mf4x6();99}100 101// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vundefined_bf16mf4x7(102// CHECK-RV64-SAME: ) #[[ATTR0]] {103// CHECK-RV64-NEXT:  entry:104// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison105//106vbfloat16mf4x7_t test_vundefined_bf16mf4x7() {107  return __riscv_vundefined_bf16mf4x7();108}109 110// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vundefined_bf16mf4x8(111// CHECK-RV64-SAME: ) #[[ATTR0]] {112// CHECK-RV64-NEXT:  entry:113// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison114//115vbfloat16mf4x8_t test_vundefined_bf16mf4x8() {116  return __riscv_vundefined_bf16mf4x8();117}118 119// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vundefined_bf16mf2x2(120// CHECK-RV64-SAME: ) #[[ATTR0]] {121// CHECK-RV64-NEXT:  entry:122// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison123//124vbfloat16mf2x2_t test_vundefined_bf16mf2x2() {125  return __riscv_vundefined_bf16mf2x2();126}127 128// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vundefined_bf16mf2x3(129// CHECK-RV64-SAME: ) #[[ATTR0]] {130// CHECK-RV64-NEXT:  entry:131// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison132//133vbfloat16mf2x3_t test_vundefined_bf16mf2x3() {134  return __riscv_vundefined_bf16mf2x3();135}136 137// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vundefined_bf16mf2x4(138// CHECK-RV64-SAME: ) #[[ATTR0]] {139// CHECK-RV64-NEXT:  entry:140// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison141//142vbfloat16mf2x4_t test_vundefined_bf16mf2x4() {143  return __riscv_vundefined_bf16mf2x4();144}145 146// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vundefined_bf16mf2x5(147// CHECK-RV64-SAME: ) #[[ATTR0]] {148// CHECK-RV64-NEXT:  entry:149// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison150//151vbfloat16mf2x5_t test_vundefined_bf16mf2x5() {152  return __riscv_vundefined_bf16mf2x5();153}154 155// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vundefined_bf16mf2x6(156// CHECK-RV64-SAME: ) #[[ATTR0]] {157// CHECK-RV64-NEXT:  entry:158// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison159//160vbfloat16mf2x6_t test_vundefined_bf16mf2x6() {161  return __riscv_vundefined_bf16mf2x6();162}163 164// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vundefined_bf16mf2x7(165// CHECK-RV64-SAME: ) #[[ATTR0]] {166// CHECK-RV64-NEXT:  entry:167// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison168//169vbfloat16mf2x7_t test_vundefined_bf16mf2x7() {170  return __riscv_vundefined_bf16mf2x7();171}172 173// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vundefined_bf16mf2x8(174// CHECK-RV64-SAME: ) #[[ATTR0]] {175// CHECK-RV64-NEXT:  entry:176// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison177//178vbfloat16mf2x8_t test_vundefined_bf16mf2x8() {179  return __riscv_vundefined_bf16mf2x8();180}181 182// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vundefined_bf16m1x2(183// CHECK-RV64-SAME: ) #[[ATTR0]] {184// CHECK-RV64-NEXT:  entry:185// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison186//187vbfloat16m1x2_t test_vundefined_bf16m1x2() {188  return __riscv_vundefined_bf16m1x2();189}190 191// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vundefined_bf16m1x3(192// CHECK-RV64-SAME: ) #[[ATTR0]] {193// CHECK-RV64-NEXT:  entry:194// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison195//196vbfloat16m1x3_t test_vundefined_bf16m1x3() {197  return __riscv_vundefined_bf16m1x3();198}199 200// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vundefined_bf16m1x4(201// CHECK-RV64-SAME: ) #[[ATTR0]] {202// CHECK-RV64-NEXT:  entry:203// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison204//205vbfloat16m1x4_t test_vundefined_bf16m1x4() {206  return __riscv_vundefined_bf16m1x4();207}208 209// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vundefined_bf16m1x5(210// CHECK-RV64-SAME: ) #[[ATTR0]] {211// CHECK-RV64-NEXT:  entry:212// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison213//214vbfloat16m1x5_t test_vundefined_bf16m1x5() {215  return __riscv_vundefined_bf16m1x5();216}217 218// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vundefined_bf16m1x6(219// CHECK-RV64-SAME: ) #[[ATTR0]] {220// CHECK-RV64-NEXT:  entry:221// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison222//223vbfloat16m1x6_t test_vundefined_bf16m1x6() {224  return __riscv_vundefined_bf16m1x6();225}226 227// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vundefined_bf16m1x7(228// CHECK-RV64-SAME: ) #[[ATTR0]] {229// CHECK-RV64-NEXT:  entry:230// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison231//232vbfloat16m1x7_t test_vundefined_bf16m1x7() {233  return __riscv_vundefined_bf16m1x7();234}235 236// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vundefined_bf16m1x8(237// CHECK-RV64-SAME: ) #[[ATTR0]] {238// CHECK-RV64-NEXT:  entry:239// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison240//241vbfloat16m1x8_t test_vundefined_bf16m1x8() {242  return __riscv_vundefined_bf16m1x8();243}244 245// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vundefined_bf16m2x2(246// CHECK-RV64-SAME: ) #[[ATTR0]] {247// CHECK-RV64-NEXT:  entry:248// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison249//250vbfloat16m2x2_t test_vundefined_bf16m2x2() {251  return __riscv_vundefined_bf16m2x2();252}253 254// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vundefined_bf16m2x3(255// CHECK-RV64-SAME: ) #[[ATTR0]] {256// CHECK-RV64-NEXT:  entry:257// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison258//259vbfloat16m2x3_t test_vundefined_bf16m2x3() {260  return __riscv_vundefined_bf16m2x3();261}262 263// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vundefined_bf16m2x4(264// CHECK-RV64-SAME: ) #[[ATTR0]] {265// CHECK-RV64-NEXT:  entry:266// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison267//268vbfloat16m2x4_t test_vundefined_bf16m2x4() {269  return __riscv_vundefined_bf16m2x4();270}271 272// CHECK-RV64-LABEL: define dso_local target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vundefined_bf16m4x2(273// CHECK-RV64-SAME: ) #[[ATTR0]] {274// CHECK-RV64-NEXT:  entry:275// CHECK-RV64-NEXT:    ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison276//277vbfloat16m4x2_t test_vundefined_bf16m4x2() {278  return __riscv_vundefined_bf16m4x2();279}280