[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / AMDGPU / regcoalesce-prune.mir
blob96bc78cbbd5458579b148ff0b76653b5bcb0fcad
1 # RUN: llc -o - %s -mtriple=amdgcn-amd-amdhsa-opencl -run-pass=simple-register-coalescing | FileCheck %s
2 ---
3 # Checks for a bug where subregister liveranges were not properly pruned for
4 # an IMPLCITI_DEF that gets removed completely.
6 # CHECK-LABEL: name: func
7 # IMPLICIT_DEF should be gone without llc hitting assertion failures.
8 # CHECK-NOT: IMPLICIT_DEF
9 name: func
10 tracksRegLiveness: true
11 body: |
12   bb.0:
13     undef %5.sub1 = V_MOV_B32_e32 0, implicit $exec
14     %6 = COPY %5
15     S_CBRANCH_VCCZ %bb.2, implicit undef $vcc
17   bb.1:
18     %1 : sreg_32_xm0 = S_MOV_B32 0
19     undef %0.sub0 : sreg_64 = COPY %1
20     %0.sub1 = COPY %1
21     %4 : vreg_64 = COPY killed %0
22     %5 : vreg_64 = IMPLICIT_DEF
23     %6 : vreg_64 = COPY killed %4
25   bb.2:
26     %2 : vgpr_32 = V_CVT_F32_I32_e32 killed %5.sub1, implicit $exec
28   bb.3:
29     %3 : vgpr_32 = V_CVT_F32_I32_e32 killed %6.sub1, implicit $exec
30     S_ENDPGM 0
31 ...