1 # RUN: llc -mtriple=amdgcn -run-pass=early-machinelicm -o - %s | FileCheck %s
2 # RUN: llc -mtriple=amdgcn -passes=early-machinelicm -o - %s | FileCheck %s
4 # Test to check machine LICM does not hoist convergent instructions,
5 # DS_PERMUTE_B32 in this example.
8 # CHECK-LABEL: name: _amdgpu_cs_main
10 # CHECK: DS_PERMUTE_B32
15 liveins: $vgpr0, $vgpr1
18 %0:vgpr_32 = COPY $vgpr0
19 %1:vgpr_32 = COPY $vgpr1
22 successors: %bb.1, %bb.2
24 %2:vgpr_32 = DS_PERMUTE_B32 %0, %1, 0, implicit $exec
25 %3:vgpr_32 = V_ADD_CO_U32_e32 %0, %2, implicit-def $vcc, implicit $exec
26 S_CBRANCH_SCC1 %bb.1, implicit undef $scc