1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs -run-pass=si-optimize-exec-masking -o - %s | FileCheck %s 3 4# There are multiple _term pseudos here. Starting from the end of the 5# block, they all need to be converted to regular copies removed in 6# order to avoid making the verifier unhappy. 7 8--- 9name: multi_term_pseudos 10tracksRegLiveness: true 11body: | 12 ; CHECK-LABEL: name: multi_term_pseudos 13 ; CHECK: bb.0: 14 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) 15 ; CHECK-NEXT: liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9 16 ; CHECK-NEXT: {{ $}} 17 ; CHECK-NEXT: $exec = COPY killed renamable $sgpr4_sgpr5 18 ; CHECK-NEXT: renamable $sgpr10_sgpr11 = COPY killed renamable $sgpr6_sgpr7, implicit $exec 19 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = COPY killed renamable $sgpr8_sgpr9, implicit $exec 20 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.1, implicit $exec 21 ; CHECK-NEXT: S_BRANCH %bb.2 22 ; CHECK-NEXT: {{ $}} 23 ; CHECK-NEXT: bb.1: 24 ; CHECK-NEXT: liveins: $sgpr12_sgpr13 25 ; CHECK-NEXT: {{ $}} 26 ; CHECK-NEXT: S_ENDPGM 0, implicit $sgpr12_sgpr13 27 ; CHECK-NEXT: {{ $}} 28 ; CHECK-NEXT: bb.2: 29 ; CHECK-NEXT: liveins: $sgpr12_sgpr13 30 ; CHECK-NEXT: {{ $}} 31 ; CHECK-NEXT: S_ENDPGM 0, implicit $sgpr12_sgpr13 32 bb.0: 33 successors: %bb.2(0x40000000), %bb.1(0x40000000) 34 liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9 35 $exec = S_MOV_B64_term killed renamable $sgpr4_sgpr5 36 renamable $sgpr10_sgpr11 = S_MOV_B64_term killed renamable $sgpr6_sgpr7, implicit $exec 37 renamable $sgpr12_sgpr13 = S_MOV_B64_term killed renamable $sgpr8_sgpr9, implicit $exec 38 S_CBRANCH_EXECZ %bb.1, implicit $exec 39 S_BRANCH %bb.2 40 41 bb.1: 42 liveins: $sgpr12_sgpr13 43 S_ENDPGM 0, implicit $sgpr12_sgpr13 44 45 bb.2: 46 liveins: $sgpr12_sgpr13 47 S_ENDPGM 0, implicit $sgpr12_sgpr13 48 49... 50