File: builtins-amdgcn-gfx1250-load-tr.cl

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (130 lines) | stat: -rw-r--r-- 5,453 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
// REQUIRES: amdgpu-registered-target
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1250 -target-feature +wavefrontsize32 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-GFX1250

typedef int    v2i   __attribute__((ext_vector_type(2)));
typedef int    v3i   __attribute__((ext_vector_type(3)));
typedef int    v4i   __attribute__((ext_vector_type(4)));
typedef short  v8s   __attribute__((ext_vector_type(8)));
typedef half   v8h   __attribute__((ext_vector_type(8)));
typedef __bf16 v8y  __attribute__((ext_vector_type(8)));

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr4_b64_v2i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <2 x i32> @llvm.amdgcn.global.load.tr4.b64.v2i32(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <2 x i32> [[TMP0]]
//
v2i test_amdgcn_global_load_tr4_b64_v2i32(global v2i* inptr)
{
  return __builtin_amdgcn_global_load_tr4_b64_v2i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr8_b64_v2i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <2 x i32> @llvm.amdgcn.global.load.tr.b64.v2i32(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <2 x i32> [[TMP0]]
//
v2i test_amdgcn_global_load_tr8_b64_v2i32(global v2i* inptr)
{
  return __builtin_amdgcn_global_load_tr8_b64_v2i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr6_b96_v3i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <3 x i32> @llvm.amdgcn.global.load.tr6.b96.v3i32(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <3 x i32> [[TMP0]]
//
v3i test_amdgcn_global_load_tr6_b96_v3i32(global v3i* inptr)
{
  return __builtin_amdgcn_global_load_tr6_b96_v3i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr16_b128_v8i16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x i16> @llvm.amdgcn.global.load.tr.b128.v8i16(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x i16> [[TMP0]]
//
v8s test_amdgcn_global_load_tr16_b128_v8i16(global v8s* inptr)
{
  return __builtin_amdgcn_global_load_tr16_b128_v8i16(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr16_b128_v8f16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x half> @llvm.amdgcn.global.load.tr.b128.v8f16(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x half> [[TMP0]]
//
v8h test_amdgcn_global_load_tr16_b128_v8f16(global v8h* inptr)
{
  return __builtin_amdgcn_global_load_tr16_b128_v8f16(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_global_load_tr16_b128_v8bf16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x bfloat> @llvm.amdgcn.global.load.tr.b128.v8bf16(ptr addrspace(1) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x bfloat> [[TMP0]]
//
v8y test_amdgcn_global_load_tr16_b128_v8bf16(global v8y* inptr)
{
  return __builtin_amdgcn_global_load_tr16_b128_v8bf16(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr4_b64_v2i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <2 x i32> @llvm.amdgcn.ds.load.tr4.b64.v2i32(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <2 x i32> [[TMP0]]
//
v2i test_amdgcn_ds_load_tr4_b64_v2i32(local v2i* inptr)
{
  return __builtin_amdgcn_ds_load_tr4_b64_v2i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr8_b64_v2i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <2 x i32> @llvm.amdgcn.ds.load.tr8.b64.v2i32(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <2 x i32> [[TMP0]]
//
v2i test_amdgcn_ds_load_tr8_b64_v2i32(local v2i* inptr)
{
  return __builtin_amdgcn_ds_load_tr8_b64_v2i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr6_b96_v3i32(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <3 x i32> @llvm.amdgcn.ds.load.tr6.b96.v3i32(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <3 x i32> [[TMP0]]
//
v3i test_amdgcn_ds_load_tr6_b96_v3i32(local v3i* inptr)
{
  return __builtin_amdgcn_ds_load_tr6_b96_v3i32(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr16_b128_v8i16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x i16> @llvm.amdgcn.ds.load.tr16.b128.v8i16(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x i16> [[TMP0]]
//
v8s test_amdgcn_ds_load_tr16_b128_v8i16(local v8s* inptr)
{
  return __builtin_amdgcn_ds_load_tr16_b128_v8i16(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr16_b128_v8f16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x half> @llvm.amdgcn.ds.load.tr16.b128.v8f16(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x half> [[TMP0]]
//
v8h test_amdgcn_ds_load_tr16_b128_v8f16(local v8h* inptr)
{
  return __builtin_amdgcn_ds_load_tr16_b128_v8f16(inptr);
}

// CHECK-GFX1250-LABEL: @test_amdgcn_ds_load_tr16_b128_v8bf16(
// CHECK-GFX1250-NEXT:  entry:
// CHECK-GFX1250-NEXT:    [[TMP0:%.*]] = tail call <8 x bfloat> @llvm.amdgcn.ds.load.tr16.b128.v8bf16(ptr addrspace(3) [[INPTR:%.*]])
// CHECK-GFX1250-NEXT:    ret <8 x bfloat> [[TMP0]]
//
v8y test_amdgcn_ds_load_tr16_b128_v8bf16(local v8y* inptr)
{
  return __builtin_amdgcn_ds_load_tr16_b128_v8bf16(inptr);
}