mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
9df19f7114
This would stop on the first in reverse order, failing the verifier if there were more earlier in the block.
45 lines
1.7 KiB
YAML
45 lines
1.7 KiB
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
# RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs -run-pass=si-optimize-exec-masking -o - %s | FileCheck %s
|
|
|
|
# There are multiple _term pseudos here. Starting from the end of the
|
|
# block, they all need to be converted to regular copies removed in
|
|
# order to avoid making the verifier unhappy.
|
|
|
|
---
|
|
name: multi_term_pseudos
|
|
tracksRegLiveness: true
|
|
body: |
|
|
; CHECK-LABEL: name: multi_term_pseudos
|
|
; CHECK: bb.0:
|
|
; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000)
|
|
; CHECK: liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
|
|
; CHECK: $exec = COPY killed renamable $sgpr4_sgpr5
|
|
; CHECK: renamable $sgpr10_sgpr11 = COPY killed renamable $sgpr6_sgpr7, implicit $exec
|
|
; CHECK: renamable $sgpr12_sgpr13 = COPY killed renamable $sgpr8_sgpr9, implicit $exec
|
|
; CHECK: S_CBRANCH_EXECZ %bb.1, implicit $exec
|
|
; CHECK: S_BRANCH %bb.2
|
|
; CHECK: bb.1:
|
|
; CHECK: liveins: $sgpr12_sgpr13
|
|
; CHECK: S_ENDPGM 0, implicit $sgpr12_sgpr13
|
|
; CHECK: bb.2:
|
|
; CHECK: liveins: $sgpr12_sgpr13
|
|
; CHECK: S_ENDPGM 0, implicit $sgpr12_sgpr13
|
|
bb.0:
|
|
successors: %bb.2(0x40000000), %bb.1(0x40000000)
|
|
liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
|
|
$exec = S_MOV_B64_term killed renamable $sgpr4_sgpr5
|
|
renamable $sgpr10_sgpr11 = S_MOV_B64_term killed renamable $sgpr6_sgpr7, implicit $exec
|
|
renamable $sgpr12_sgpr13 = S_MOV_B64_term killed renamable $sgpr8_sgpr9, implicit $exec
|
|
S_CBRANCH_EXECZ %bb.1, implicit $exec
|
|
S_BRANCH %bb.2
|
|
|
|
bb.1:
|
|
liveins: $sgpr12_sgpr13
|
|
S_ENDPGM 0, implicit $sgpr12_sgpr13
|
|
|
|
bb.2:
|
|
liveins: $sgpr12_sgpr13
|
|
S_ENDPGM 0, implicit $sgpr12_sgpr13
|
|
|
|
...
|