blob: 2dd21ca51e462b9a2db1b0eb949436841885a583 [file] [log] [blame]
# RUN: llc -march=amdgcn -run-pass rename-independent-subregs -o - %s | FileCheck %s
--- |
define void @test0() { ret void }
...
---
# In the test below we have two independent def+use pairs of subregister1 which
# can be moved to a new virtual register. The third def of sub1 however is used
# in combination with sub0 and needs to stay with the original vreg.
# CHECK-LABEL: name: test0
# CHECK: S_NOP 0, implicit-def undef %0:sub0
# CHECK: S_NOP 0, implicit-def undef %2:sub1
# CHECK: S_NOP 0, implicit %2:sub1
# CHECK: S_NOP 0, implicit-def undef %1:sub1
# CHECK: S_NOP 0, implicit %1:sub1
# CHECK: S_NOP 0, implicit-def %0:sub1
# CHECK: S_NOP 0, implicit %0
name: test0
isSSA: true
registers:
- { id: 0, class: sreg_128 }
body: |
bb.0:
S_NOP 0, implicit-def undef %0:sub0
S_NOP 0, implicit-def %0:sub1
S_NOP 0, implicit %0:sub1
S_NOP 0, implicit-def %0:sub1
S_NOP 0, implicit %0:sub1
S_NOP 0, implicit-def %0:sub1
S_NOP 0, implicit %0
...