1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=si-shrink-instructions -verify-machineinstrs -o - %s | FileCheck %s
3
4---
5name:            undef_and_operand_to_bitset0
6tracksRegLiveness: true
7body:             |
8  bb.0:
9    ; CHECK-LABEL: name: undef_and_operand_to_bitset0
10    ; CHECK: renamable $sgpr4 = S_BITSET0_B32 31, undef $sgpr4, implicit-def dead $scc
11    ; CHECK: S_ENDPGM 0, implicit $sgpr4
12    renamable $sgpr4 = S_AND_B32 undef renamable $sgpr4, 2147483647, implicit-def dead $scc
13    S_ENDPGM 0, implicit $sgpr4
14
15...
16
17---
18name:            undef_or_operand_to_orn2
19tracksRegLiveness: true
20body:             |
21  bb.0:
22    ; CHECK-LABEL: name: undef_or_operand_to_orn2
23    ; CHECK: renamable $sgpr4 = S_ORN2_B32 undef renamable $sgpr4, 16, implicit-def dead $scc
24    ; CHECK: S_ENDPGM 0, implicit $sgpr4
25    renamable $sgpr4 = S_OR_B32 undef renamable $sgpr4, -17, implicit-def dead $scc
26    S_ENDPGM 0, implicit $sgpr4
27
28...
29
30---
31name:            undef_xor_operand_to_orn2
32tracksRegLiveness: true
33body:             |
34  bb.0:
35    ; CHECK-LABEL: name: undef_xor_operand_to_orn2
36    ; CHECK: renamable $sgpr4 = S_XNOR_B32 undef renamable $sgpr4, 16, implicit-def dead $scc
37    ; CHECK: S_ENDPGM 0, implicit $sgpr4
38    renamable $sgpr4 = S_XOR_B32 undef renamable $sgpr4, -17, implicit-def dead $scc
39    S_ENDPGM 0, implicit $sgpr4
40
41...
42
43---
44name:            kill_and_operand_to_bitset0
45tracksRegLiveness: true
46body:             |
47  bb.0:
48    liveins: $sgpr4
49    ; CHECK-LABEL: name: kill_and_operand_to_bitset0
50    ; CHECK: liveins: $sgpr4
51    ; CHECK: renamable $sgpr4 = S_BITSET0_B32 31, killed $sgpr4, implicit-def dead $scc
52    ; CHECK: S_ENDPGM 0, implicit $sgpr4
53    renamable $sgpr4 = S_AND_B32 killed renamable $sgpr4, 2147483647, implicit-def dead $scc
54    S_ENDPGM 0, implicit $sgpr4
55
56...
57