[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / waitcnt-meta-instructions.mir
blob067c050344f4a6d964693e4d06923ad3c5d5994d
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s
4 # Make sure no waitcnt is inserted for meta instruction uses.
6 ---
8 name: waitcnt_kill
10 body:             |
11   bb.0:
12     liveins: $vgpr0_vgpr1
13     ; GCN-LABEL: name: waitcnt_kill
14     ; GCN: S_WAITCNT 0
15     ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
16     ; GCN: KILL $vgpr0
17     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
18     KILL $vgpr0
19 ...
21 ---
23 name: waitcnt_implicit_def
25 body:             |
26   bb.0:
27     liveins: $vgpr0_vgpr1
28     ; GCN-LABEL: name: waitcnt_implicit_def
29     ; GCN: S_WAITCNT 0
30     ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
31     ; GCN: $vgpr0 = IMPLICIT_DEF
32     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
33     $vgpr0 = IMPLICIT_DEF
34 ...
36 ---
38 name: waitcnt_eh_label
40 body:             |
41   bb.0:
42     liveins: $vgpr0_vgpr1, $vgpr2
43     ; GCN-LABEL: name: waitcnt_eh_label
44     ; GCN: S_WAITCNT 0
45     ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
46     ; GCN: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
47     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
48     EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
50 ...
52 ---
54 name: waitcnt_cfi
56 body:             |
57   bb.0:
58     liveins: $vgpr0_vgpr1, $vgpr2
59     ; GCN-LABEL: name: waitcnt_cfi
60     ; GCN: S_WAITCNT 0
61     ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
62     ; GCN: CFI_INSTRUCTION offset $vgpr0_lo16, 16
63     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
64     CFI_INSTRUCTION offset $vgpr0, 16
66 ...