1 // RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature +sse2 < %s | FileCheck %s --check-prefixes=CHECK
7 struct bfloat1
h1(__bf16 a
) {
8 // CHECK: define{{.*}}bfloat @
19 struct bfloat2
h2(__bf16 a
, __bf16 b
) {
20 // CHECK: define{{.*}}<2 x bfloat> @
33 struct bfloat3
h3(__bf16 a
, __bf16 b
, __bf16 c
) {
34 // CHECK: define{{.*}}<4 x bfloat> @
49 struct bfloat4
h4(__bf16 a
, __bf16 b
, __bf16 c
, __bf16 d
) {
50 // CHECK: define{{.*}}<4 x bfloat> @
64 struct floatbfloat
fh(float a
, __bf16 b
) {
65 // CHECK: define{{.*}}<4 x half> @
78 struct floatbfloat2
fh2(float a
, __bf16 b
, __bf16 c
) {
79 // CHECK: define{{.*}}<4 x half> @
80 struct floatbfloat2 x
;
92 struct bfloatfloat
hf(__bf16 a
, float b
) {
93 // CHECK: define{{.*}}<4 x half> @
100 struct bfloat2float
{
106 struct bfloat2float
h2f(__bf16 a
, __bf16 b
, float c
) {
107 // CHECK: define{{.*}}<4 x bfloat> @
108 struct bfloat2float x
;
115 struct floatbfloat3
{
122 struct floatbfloat3
fh3(float a
, __bf16 b
, __bf16 c
, __bf16 d
) {
123 // CHECK: define{{.*}}{ <4 x half>, bfloat } @
124 struct floatbfloat3 x
;
140 struct bfloat5
h5(__bf16 a
, __bf16 b
, __bf16 c
, __bf16 d
, __bf16 e
) {
141 // CHECK: define{{.*}}{ <4 x bfloat>, bfloat } @