@@ -15,121 +15,121 @@ typedef short v16s __attribute__((ext_vector_type(16)));
15
15
16
16
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_f16_w32(
17
17
// CHECK-GFX1200-NEXT: entry:
18
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.f16.v8f32.v8f16.v16f16.i16 (<8 x half> [[A:%.*]], <16 x half> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
18
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.f16.v8f32.v8f16.v16f16.i32 (<8 x half> [[A:%.*]], <16 x half> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
19
19
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4:![0-9]+]]
20
20
// CHECK-GFX1200-NEXT: ret void
21
21
//
22
- void test_amdgcn_swmmac_f32_16x16x32_f16_w32 (global v8f * out , v8h a , v16h b , v8f c , short index )
22
+ void test_amdgcn_swmmac_f32_16x16x32_f16_w32 (global v8f * out , v8h a , v16h b , v8f c , int index )
23
23
{
24
24
* out = __builtin_amdgcn_swmmac_f32_16x16x32_f16_w32 (a , b , c , index );
25
25
}
26
26
27
27
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_bf16_w32(
28
28
// CHECK-GFX1200-NEXT: entry:
29
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf16.v8f32.v8i16.v16i16.i16 (<8 x i16> [[A:%.*]], <16 x i16> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
29
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf16.v8f32.v8i16.v16i16.i32 (<8 x i16> [[A:%.*]], <16 x i16> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
30
30
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
31
31
// CHECK-GFX1200-NEXT: ret void
32
32
//
33
- void test_amdgcn_swmmac_f32_16x16x32_bf16_w32 (global v8f * out , v8s a , v16s b , v8f c , short index )
33
+ void test_amdgcn_swmmac_f32_16x16x32_bf16_w32 (global v8f * out , v8s a , v16s b , v8f c , int index )
34
34
{
35
35
* out = __builtin_amdgcn_swmmac_f32_16x16x32_bf16_w32 (a , b , c , index );
36
36
}
37
37
38
38
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f16_16x16x32_f16_w32(
39
39
// CHECK-GFX1200-NEXT: entry:
40
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x half> @llvm.amdgcn.swmmac.f16.16x16x32.f16.v8f16.v8f16.v16f16.i16 (<8 x half> [[A:%.*]], <16 x half> [[B:%.*]], <8 x half> [[C:%.*]], i16 [[INDEX:%.*]])
40
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x half> @llvm.amdgcn.swmmac.f16.16x16x32.f16.v8f16.v8f16.v16f16.i32 (<8 x half> [[A:%.*]], <16 x half> [[B:%.*]], <8 x half> [[C:%.*]], i32 [[INDEX:%.*]])
41
41
// CHECK-GFX1200-NEXT: store <8 x half> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 16, !tbaa [[TBAA4]]
42
42
// CHECK-GFX1200-NEXT: ret void
43
43
//
44
- void test_amdgcn_swmmac_f16_16x16x32_f16_w32 (global v8h * out , v8h a , v16h b , v8h c , short index )
44
+ void test_amdgcn_swmmac_f16_16x16x32_f16_w32 (global v8h * out , v8h a , v16h b , v8h c , int index )
45
45
{
46
46
* out = __builtin_amdgcn_swmmac_f16_16x16x32_f16_w32 (a , b , c , index );
47
47
}
48
48
49
49
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_bf16_16x16x32_bf16_w32(
50
50
// CHECK-GFX1200-NEXT: entry:
51
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i16> @llvm.amdgcn.swmmac.bf16.16x16x32.bf16.v8i16.v8i16.v16i16.i16 (<8 x i16> [[A:%.*]], <16 x i16> [[B:%.*]], <8 x i16> [[C:%.*]], i16 [[INDEX:%.*]])
51
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i16> @llvm.amdgcn.swmmac.bf16.16x16x32.bf16.v8i16.v8i16.v16i16.i32 (<8 x i16> [[A:%.*]], <16 x i16> [[B:%.*]], <8 x i16> [[C:%.*]], i32 [[INDEX:%.*]])
52
52
// CHECK-GFX1200-NEXT: store <8 x i16> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 16, !tbaa [[TBAA4]]
53
53
// CHECK-GFX1200-NEXT: ret void
54
54
//
55
- void test_amdgcn_swmmac_bf16_16x16x32_bf16_w32 (global v8s * out , v8s a , v16s b , v8s c , short index )
55
+ void test_amdgcn_swmmac_bf16_16x16x32_bf16_w32 (global v8s * out , v8s a , v16s b , v8s c , int index )
56
56
{
57
57
* out = __builtin_amdgcn_swmmac_bf16_16x16x32_bf16_w32 (a , b , c , index );
58
58
}
59
59
60
60
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_i32_16x16x32_iu8_w32(
61
61
// CHECK-GFX1200-NEXT: entry:
62
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x32.iu8.v8i32.v2i32.v4i32.i16 (i1 true, <2 x i32> [[A:%.*]], i1 true, <4 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i16 [[INDEX:%.*]], i1 true)
62
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x32.iu8.v8i32.v2i32.v4i32.i32 (i1 true, <2 x i32> [[A:%.*]], i1 true, <4 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i32 [[INDEX:%.*]], i1 true)
63
63
// CHECK-GFX1200-NEXT: store <8 x i32> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
64
64
// CHECK-GFX1200-NEXT: ret void
65
65
//
66
- void test_amdgcn_swmmac_i32_16x16x32_iu8_w32 (global v8i * out , v2i a , v4i b , v8i c , short index )
66
+ void test_amdgcn_swmmac_i32_16x16x32_iu8_w32 (global v8i * out , v2i a , v4i b , v8i c , int index )
67
67
{
68
68
* out = __builtin_amdgcn_swmmac_i32_16x16x32_iu8_w32 (true, a , true, b , c , index , true);
69
69
}
70
70
71
71
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_i32_16x16x32_iu4_w32(
72
72
// CHECK-GFX1200-NEXT: entry:
73
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x32.iu4.v8i32.i32.v2i32.i16 (i1 true, i32 [[A:%.*]], i1 true, <2 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i16 [[INDEX:%.*]], i1 true)
73
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x32.iu4.v8i32.i32.v2i32.i32 (i1 true, i32 [[A:%.*]], i1 true, <2 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i32 [[INDEX:%.*]], i1 true)
74
74
// CHECK-GFX1200-NEXT: store <8 x i32> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
75
75
// CHECK-GFX1200-NEXT: ret void
76
76
//
77
- void test_amdgcn_swmmac_i32_16x16x32_iu4_w32 (global v8i * out , int a , v2i b , v8i c , short index )
77
+ void test_amdgcn_swmmac_i32_16x16x32_iu4_w32 (global v8i * out , int a , v2i b , v8i c , int index )
78
78
{
79
79
* out = __builtin_amdgcn_swmmac_i32_16x16x32_iu4_w32 (true, a , true, b , c , index , true);
80
80
}
81
81
82
82
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_i32_16x16x64_iu4_w32(
83
83
// CHECK-GFX1200-NEXT: entry:
84
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x64.iu4.v8i32.v2i32.v4i32.i16 (i1 true, <2 x i32> [[A:%.*]], i1 true, <4 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i16 [[INDEX:%.*]], i1 true)
84
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x i32> @llvm.amdgcn.swmmac.i32.16x16x64.iu4.v8i32.v2i32.v4i32.i32 (i1 true, <2 x i32> [[A:%.*]], i1 true, <4 x i32> [[B:%.*]], <8 x i32> [[C:%.*]], i32 [[INDEX:%.*]], i1 true)
85
85
// CHECK-GFX1200-NEXT: store <8 x i32> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
86
86
// CHECK-GFX1200-NEXT: ret void
87
87
//
88
- void test_amdgcn_swmmac_i32_16x16x64_iu4_w32 (global v8i * out , v2i a , v4i b , v8i c , short index )
88
+ void test_amdgcn_swmmac_i32_16x16x64_iu4_w32 (global v8i * out , v2i a , v4i b , v8i c , int index )
89
89
{
90
90
* out = __builtin_amdgcn_swmmac_i32_16x16x64_iu4_w32 (true, a , true, b , c , index , true);
91
91
}
92
92
93
93
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32(
94
94
// CHECK-GFX1200-NEXT: entry:
95
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.fp8.fp8.v8f32.v2i32.v4i32.i16 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
95
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.fp8.fp8.v8f32.v2i32.v4i32.i32 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
96
96
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
97
97
// CHECK-GFX1200-NEXT: ret void
98
98
//
99
- void test_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32 (global v8f * out , v2i a , v4i b , v8f c , short index )
99
+ void test_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32 (global v8f * out , v2i a , v4i b , v8f c , int index )
100
100
{
101
101
* out = __builtin_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32 (a , b , c , index );
102
102
}
103
103
104
104
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w32(
105
105
// CHECK-GFX1200-NEXT: entry:
106
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.fp8.bf8.v8f32.v2i32.v4i32.i16 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
106
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.fp8.bf8.v8f32.v2i32.v4i32.i32 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
107
107
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
108
108
// CHECK-GFX1200-NEXT: ret void
109
109
//
110
- void test_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w32 (global v8f * out , v2i a , v4i b , v8f c , short index )
110
+ void test_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w32 (global v8f * out , v2i a , v4i b , v8f c , int index )
111
111
{
112
112
* out = __builtin_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w32 (a , b , c , index );
113
113
}
114
114
115
115
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_bf8_fp8_w32(
116
116
// CHECK-GFX1200-NEXT: entry:
117
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf8.fp8.v8f32.v2i32.v4i32.i16 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
117
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf8.fp8.v8f32.v2i32.v4i32.i32 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
118
118
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
119
119
// CHECK-GFX1200-NEXT: ret void
120
120
//
121
- void test_amdgcn_swmmac_f32_16x16x32_bf8_fp8_w32 (global v8f * out , v2i a , v4i b , v8f c , short index )
121
+ void test_amdgcn_swmmac_f32_16x16x32_bf8_fp8_w32 (global v8f * out , v2i a , v4i b , v8f c , int index )
122
122
{
123
123
* out = __builtin_amdgcn_swmmac_f32_16x16x32_bf8_fp8_w32 (a , b , c , index );
124
124
}
125
125
126
126
// CHECK-GFX1200-LABEL: @test_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32(
127
127
// CHECK-GFX1200-NEXT: entry:
128
- // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf8.bf8.v8f32.v2i32.v4i32.i16 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i16 [[INDEX:%.*]])
128
+ // CHECK-GFX1200-NEXT: [[TMP0:%.*]] = tail call <8 x float> @llvm.amdgcn.swmmac.f32.16x16x32.bf8.bf8.v8f32.v2i32.v4i32.i32 (<2 x i32> [[A:%.*]], <4 x i32> [[B:%.*]], <8 x float> [[C:%.*]], i32 [[INDEX:%.*]])
129
129
// CHECK-GFX1200-NEXT: store <8 x float> [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 32, !tbaa [[TBAA4]]
130
130
// CHECK-GFX1200-NEXT: ret void
131
131
//
132
- void test_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32 (global v8f * out , v2i a , v4i b , v8f c , short index )
132
+ void test_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32 (global v8f * out , v2i a , v4i b , v8f c , int index )
133
133
{
134
134
* out = __builtin_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32 (a , b , c , index );
135
135
}
0 commit comments