221
|
1 ; RUN: llc -mtriple=amdgcn--amdpal -verify-machineinstrs < %s | FileCheck -check-prefix=SI %s
|
|
2 ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=VI %s
|
|
3 ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 -enable-var-scope %s
|
|
4
|
|
5 ; amdpal compute shader: check for 0x2e12 (COMPUTE_PGM_RSRC1) in pal metadata
|
|
6 ; SI-DAG: 0x2e12 (COMPUTE_PGM_RSRC1): 0xaf0000{{$}}
|
|
7 ; VI-DAG: 0x2e12 (COMPUTE_PGM_RSRC1): 0xaf02c0{{$}}
|
|
8 ; GFX9-DAG: 0x2e12 (COMPUTE_PGM_RSRC1): 0xaf0000{{$}}
|
|
9 define amdgpu_cs half @cs_amdpal(half %arg0) #0 {
|
|
10 %add = fadd half %arg0, 1.0
|
|
11 ret half %add
|
|
12 }
|
|
13
|
|
14 ; amdpal evaluation shader: check for 0x2cca (SPI_SHADER_PGM_RSRC1_ES) in pal metadata
|
|
15 ; SI-DAG: 0x2cca (SPI_SHADER_PGM_RSRC1_ES): 0xaf0000{{$}}
|
|
16 ; VI-DAG: 0x2cca (SPI_SHADER_PGM_RSRC1_ES): 0xaf02c0{{$}}
|
|
17 ; GFX9-DAG: 0x2cca (SPI_SHADER_PGM_RSRC1_ES): 0xaf0000{{$}}
|
|
18 define amdgpu_es half @es_amdpal(half %arg0) #0 {
|
|
19 %add = fadd half %arg0, 1.0
|
|
20 ret half %add
|
|
21 }
|
|
22
|
|
23 ; amdpal geometry shader: check for 0x2c8a (SPI_SHADER_PGM_RSRC1_GS) in pal metadata
|
|
24 ; SI-DAG: 0x2c8a (SPI_SHADER_PGM_RSRC1_GS): 0xaf0000{{$}}
|
|
25 ; VI-DAG: 0x2c8a (SPI_SHADER_PGM_RSRC1_GS): 0xaf02c0{{$}}
|
|
26 ; GFX9-DAG: 0x2c8a (SPI_SHADER_PGM_RSRC1_GS): 0xaf0000{{$}}
|
|
27 define amdgpu_gs half @gs_amdpal(half %arg0) #0 {
|
|
28 %add = fadd half %arg0, 1.0
|
|
29 ret half %add
|
|
30 }
|
|
31
|
|
32 ; amdpal hull shader: check for 0x2d0a (SPI_SHADER_PGM_RSRC1_HS) in pal metadata
|
|
33 ; SI-DAG: 0x2d0a (SPI_SHADER_PGM_RSRC1_HS): 0xaf0000{{$}}
|
|
34 ; VI-DAG: 0x2d0a (SPI_SHADER_PGM_RSRC1_HS): 0xaf02c0{{$}}
|
|
35 ; GFX9-DAG: 0x2d0a (SPI_SHADER_PGM_RSRC1_HS): 0xaf0000{{$}}
|
|
36 define amdgpu_hs half @hs_amdpal(half %arg0) #0 {
|
|
37 %add = fadd half %arg0, 1.0
|
|
38 ret half %add
|
|
39 }
|
|
40
|
|
41 ; amdpal load shader: check for 0x2d4a (SPI_SHADER_PGM_RSRC1_LS) in pal metadata
|
|
42 ; SI-DAG: 0x2d4a (SPI_SHADER_PGM_RSRC1_LS): 0xaf0000{{$}}
|
|
43 ; VI-DAG: 0x2d4a (SPI_SHADER_PGM_RSRC1_LS): 0xaf02c0{{$}}
|
|
44 ; GFX9-DAG: 0x2d4a (SPI_SHADER_PGM_RSRC1_LS): 0xaf0000{{$}}
|
|
45 define amdgpu_ls half @ls_amdpal(half %arg0) #0 {
|
|
46 %add = fadd half %arg0, 1.0
|
|
47 ret half %add
|
|
48 }
|
|
49
|
|
50 ; amdpal pixel shader: check for 0x2c0a (SPI_SHADER_PGM_RSRC1_PS) in pal metadata
|
|
51 ; below.
|
|
52 ; SI-DAG: 0x2c0a (SPI_SHADER_PGM_RSRC1_PS): 0xaf0000{{$}}
|
|
53 ; VI-DAG: 0x2c0a (SPI_SHADER_PGM_RSRC1_PS): 0xaf02c0{{$}}
|
|
54 ; GFX9-DAG: 0x2c0a (SPI_SHADER_PGM_RSRC1_PS): 0xaf0000{{$}}
|
|
55 define amdgpu_ps half @ps_amdpal(half %arg0) #0 {
|
|
56 %add = fadd half %arg0, 1.0
|
|
57 ret half %add
|
|
58 }
|
|
59
|
|
60 ; amdpal vertex shader: check for 45352 (SPI_SHADER_PGM_RSRC1_VS) in pal metadata
|
|
61 ; SI-DAG: 0x2c4a (SPI_SHADER_PGM_RSRC1_VS): 0xaf0000{{$}}
|
|
62 ; VI-DAG: 0x2c4a (SPI_SHADER_PGM_RSRC1_VS): 0xaf02c0{{$}}
|
|
63 ; GFX9-DAG: 0x2c4a (SPI_SHADER_PGM_RSRC1_VS): 0xaf0000{{$}}
|
|
64 define amdgpu_vs half @vs_amdpal(half %arg0) #0 {
|
|
65 %add = fadd half %arg0, 1.0
|
|
66 ret half %add
|
|
67 }
|
|
68
|
|
69 attributes #0 = { "amdgpu-ieee"="true" }
|
|
70
|
|
71 ; amdgpu.pal.metadata.msgpack represents this:
|
|
72 ;
|
|
73 ; .amdgpu_pal_metadata
|
|
74 ; ---
|
|
75 ; amdpal.pipelines:
|
|
76 ; - .internal_pipeline_hash:
|
|
77 ; - 0x123456789abcdef0
|
|
78 ; - 0xfedcba9876543210
|
|
79 ; .registers:
|
|
80 ; 0x2c0b (SPI_SHADER_PGM_RSRC2_PS): 0x42000000
|
|
81 ; ...
|
|
82 ; .end_amdgpu_pal_metadata
|
|
83
|
|
84 !amdgpu.pal.metadata.msgpack = !{!0}
|
|
85 !0 = !{!"\81\b0\61\6d\64\70\61\6c\2e\70\69\70\65\6c\69\6e\65\73\91\82\b7\2e\69\6e\74\65\72\6e\61\6c\5f\70\69\70\65\6c\69\6e\65\5f\68\61\73\68\92\cf\12\34\56\78\9a\bc\de\f0\cf\fe\dc\ba\98\76\54\32\10\aa\2e\72\65\67\69\73\74\65\72\73\81\cd\2c\0b\ce\42\00\00\00"};
|