1
1
; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=kaveri -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=FUNC %s
2
- ; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=GFX89 -check-prefix=FUNC %s
3
- ; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX89 -check-prefix=FUNC %s
2
+ ; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=GFX8_9_10 -check-prefix=FUNC %s
3
+ ; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX9_10 -check-prefix=GFX8_9_10 -check-prefix=FUNC %s
4
+ ; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX10 -check-prefix=GFX9_10 -check-prefix=GFX8_9_10 -check-prefix=FUNC %s
4
5
; RUN: llc -march=r600 -mtriple=r600-- -mcpu=cypress -verify-machineinstrs < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
5
6
6
7
; FUNC-LABEL: {{^}}v_test_imin_sle_i32:
@@ -74,8 +75,9 @@ define amdgpu_kernel void @s_test_imin_sle_i8(i8 addrspace(1)* %out, [8 x i32],
74
75
75
76
; FIXME: Why vector and sdwa for last element?
76
77
; FUNC-LABEL: {{^}}s_test_imin_sle_v4i8:
77
- ; GCN: s_load_dword s
78
- ; GCN: s_load_dword s
78
+ ; GCN-DAG: s_load_dwordx2
79
+ ; GCN-DAG: s_load_dword s
80
+ ; GCN-DAG: s_load_dword s
79
81
; GCN-NOT: _load_
80
82
81
83
; SI: s_min_i32
@@ -88,10 +90,10 @@ define amdgpu_kernel void @s_test_imin_sle_i8(i8 addrspace(1)* %out, [8 x i32],
88
90
; VI: s_min_i32
89
91
; VI: v_min_i32_sdwa
90
92
91
- ; GFX9 : v_min_i16
92
- ; GFX9 : v_min_i16
93
- ; GFX9 : v_min_i16
94
- ; GFX9 : v_min_i16
93
+ ; GFX9_10 : v_min_i16
94
+ ; GFX9_10 : v_min_i16
95
+ ; GFX9_10 : v_min_i16
96
+ ; GFX9_10 : v_min_i16
95
97
96
98
; EG: MIN_INT
97
99
; EG: MIN_INT
@@ -120,7 +122,7 @@ define amdgpu_kernel void @s_test_imin_sle_v4i8(<4 x i8> addrspace(1)* %out, [8
120
122
; VI: s_min_i32
121
123
; VI: s_min_i32
122
124
123
- ; GFX9 : v_pk_min_i16
125
+ ; GFX9_10 : v_pk_min_i16
124
126
125
127
; EG: MIN_INT
126
128
; EG: MIN_INT
@@ -143,8 +145,8 @@ define amdgpu_kernel void @s_test_imin_sle_v2i16(<2 x i16> addrspace(1)* %out, <
143
145
; VI: s_min_i32
144
146
; VI: s_min_i32
145
147
146
- ; GFX9 : v_pk_min_i16
147
- ; GFX9 : v_pk_min_i16
148
+ ; GFX9_10 : v_pk_min_i16
149
+ ; GFX9_10 : v_pk_min_i16
148
150
149
151
; EG: MIN_INT
150
152
; EG: MIN_INT
@@ -177,7 +179,8 @@ define amdgpu_kernel void @v_test_imin_slt_i32(i32 addrspace(1)* %out, i32 addrs
177
179
; FUNC-LABEL: @v_test_imin_slt_i16
178
180
; SI: v_min_i32_e32
179
181
180
- ; GFX89: v_min_i16_e32
182
+ ; GFX8_9: v_min_i16_e32
183
+ ; GFX10: v_min_i16_e64
181
184
182
185
; EG: MIN_INT
183
186
define amdgpu_kernel void @v_test_imin_slt_i16 (i16 addrspace (1 )* %out , i16 addrspace (1 )* %aptr , i16 addrspace (1 )* %bptr ) #0 {
@@ -293,8 +296,8 @@ define amdgpu_kernel void @v_test_umin_ule_v3i32(<3 x i32> addrspace(1)* %out, <
293
296
; VI: v_min_u16_e32
294
297
; VI-NOT: v_min_u16
295
298
296
- ; GFX9 : v_pk_min_u16
297
- ; GFX9 : v_pk_min_u16
299
+ ; GFX9_10 : v_pk_min_u16
300
+ ; GFX9_10 : v_pk_min_u16
298
301
299
302
; GCN: s_endpgm
300
303
@@ -348,9 +351,10 @@ define amdgpu_kernel void @v_test_umin_ult_i32(i32 addrspace(1)* %out, i32 addrs
348
351
; SI: {{buffer|flat|global}}_load_ubyte
349
352
; SI: v_min_u32_e32
350
353
351
- ; GFX89: {{flat|global}}_load_ubyte
352
- ; GFX89: {{flat|global}}_load_ubyte
353
- ; GFX89: v_min_u16_e32
354
+ ; GFX8_9_10: {{flat|global}}_load_ubyte
355
+ ; GFX8_9_10: {{flat|global}}_load_ubyte
356
+ ; GFX8_9: v_min_u16_e32
357
+ ; GFX10: v_min_u16_e64
354
358
355
359
; EG: MIN_UINT
356
360
define amdgpu_kernel void @v_test_umin_ult_i8 (i8 addrspace (1 )* %out , i8 addrspace (1 )* %a.ptr , i8 addrspace (1 )* %b.ptr ) #0 {
@@ -597,7 +601,7 @@ define amdgpu_kernel void @test_imin_sle_i64(i64 addrspace(1)* %out, i64 %a, i64
597
601
; VI: v_min_i16
598
602
; VI: v_min_i16
599
603
600
- ; GFX9 : v_pk_min_i16
604
+ ; GFX9_10 : v_pk_min_i16
601
605
602
606
; EG: MIN_INT
603
607
; EG: MIN_INT
@@ -622,7 +626,7 @@ define amdgpu_kernel void @v_test_imin_sle_v2i16(<2 x i16> addrspace(1)* %out, <
622
626
; VI: v_min_u16
623
627
; VI: v_min_u16
624
628
625
- ; GFX9 : v_pk_min_u16
629
+ ; GFX9_10 : v_pk_min_u16
626
630
627
631
; EG: MIN_UINT
628
632
; EG: MIN_UINT
0 commit comments