[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / dead-mi-use-same-intr.mir
blob1e97f53996680eddbc3f953a23ad0397347922e9
1 # RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -run-pass dead-mi-elimination -o - %s | FileCheck -check-prefix=GCN %s
3 # GCN-LABEL: name: dead_undef
4 # GCN:      bb.0:
5 # GCN-NEXT: S_ENDPGM 0
6 ---
7 name:            dead_undef
8 tracksRegLiveness: true
9 registers:
10   - { id: 0, class: vgpr_32 }
11   - { id: 1, class: vgpr_32 }
12   - { id: 2, class: vgpr_32 }
13 body: |
14   bb.0:
15   %0 = IMPLICIT_DEF
16   %1 = IMPLICIT_DEF
17   dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, undef %2:vgpr_32, implicit $exec
18   S_ENDPGM 0
20 # GCN-LABEL: name: dead_defined
21 # GCN:      bb.0:
22 # GCN-NEXT: S_ENDPGM 0
23 ---
24 name:            dead_defined
25 tracksRegLiveness: true
26 registers:
27   - { id: 0, class: vgpr_32 }
28   - { id: 1, class: vgpr_32 }
29   - { id: 2, class: vgpr_32 }
30 body: |
31   bb.0:
32   %0 = IMPLICIT_DEF
33   %1 = IMPLICIT_DEF
34   %2 = IMPLICIT_DEF
35   dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, %2:vgpr_32, implicit $exec
36   S_ENDPGM 0
38 # Probably this dead mac can be removed anyway.
39 # GCN-LABEL: name: dead_def_live_use
40 # GCN:      dead %2:vgpr_32 = V_MAC_F32_e32 %0, %1, %2, implicit $exec
41 ---
42 name:            dead_def_live_use
43 tracksRegLiveness: true
44 registers:
45   - { id: 0, class: vgpr_32 }
46   - { id: 1, class: vgpr_32 }
47   - { id: 2, class: vgpr_32 }
48 body: |
49   bb.0:
50   %0 = IMPLICIT_DEF
51   %1 = IMPLICIT_DEF
52   %2 = IMPLICIT_DEF
53   GLOBAL_STORE_DWORD undef $vgpr0_vgpr1, %2, 0, 0, 0, 0, implicit $exec
54   dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, %2:vgpr_32, implicit $exec
55   S_ENDPGM 0