105 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=si-optimize-exec-masking -verify-machineinstrs %s -o - | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=si-optimize-exec-masking -verify-machineinstrs %s -o - | FileCheck %s4 5# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -passes=si-optimize-exec-masking -verify-machineinstrs %s -o - | FileCheck %s6# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -passes=si-optimize-exec-masking -verify-machineinstrs %s -o - | FileCheck %s7---8name: lower_term_opcodes9tracksRegLiveness: false10body: |11 ; CHECK-LABEL: name: lower_term_opcodes12 ; CHECK: bb.0:13 ; CHECK-NEXT: successors: %bb.1(0x80000000)14 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: $sgpr0 = COPY $sgpr116 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: bb.1:18 ; CHECK-NEXT: successors: %bb.2(0x80000000)19 ; CHECK-NEXT: {{ $}}20 ; CHECK-NEXT: $sgpr0 = S_MOV_B32 021 ; CHECK-NEXT: {{ $}}22 ; CHECK-NEXT: bb.2:23 ; CHECK-NEXT: successors: %bb.3(0x80000000)24 ; CHECK-NEXT: {{ $}}25 ; CHECK-NEXT: $sgpr0 = S_MOV_B32 &SYMBOL26 ; CHECK-NEXT: {{ $}}27 ; CHECK-NEXT: bb.3:28 ; CHECK-NEXT: successors: %bb.4(0x80000000)29 ; CHECK-NEXT: {{ $}}30 ; CHECK-NEXT: $sgpr0_sgpr1 = COPY $sgpr2_sgpr331 ; CHECK-NEXT: {{ $}}32 ; CHECK-NEXT: bb.4:33 ; CHECK-NEXT: successors: %bb.5(0x80000000)34 ; CHECK-NEXT: {{ $}}35 ; CHECK-NEXT: $sgpr0_sgpr1 = S_MOV_B64 036 ; CHECK-NEXT: {{ $}}37 ; CHECK-NEXT: bb.5:38 ; CHECK-NEXT: successors: %bb.6(0x80000000)39 ; CHECK-NEXT: {{ $}}40 ; CHECK-NEXT: $sgpr0_sgpr1 = S_MOV_B64 &SYMBOL41 ; CHECK-NEXT: {{ $}}42 ; CHECK-NEXT: bb.6:43 ; CHECK-NEXT: successors: %bb.7(0x80000000)44 ; CHECK-NEXT: {{ $}}45 ; CHECK-NEXT: $sgpr0 = S_XOR_B32 $sgpr1, $sgpr2, implicit-def $scc46 ; CHECK-NEXT: {{ $}}47 ; CHECK-NEXT: bb.7:48 ; CHECK-NEXT: successors: %bb.8(0x80000000)49 ; CHECK-NEXT: {{ $}}50 ; CHECK-NEXT: $sgpr0_sgpr1 = S_XOR_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc51 ; CHECK-NEXT: {{ $}}52 ; CHECK-NEXT: bb.8:53 ; CHECK-NEXT: successors: %bb.9(0x80000000)54 ; CHECK-NEXT: {{ $}}55 ; CHECK-NEXT: $sgpr0 = S_OR_B32 $sgpr1, $sgpr2, implicit-def $scc56 ; CHECK-NEXT: {{ $}}57 ; CHECK-NEXT: bb.9:58 ; CHECK-NEXT: successors: %bb.10(0x80000000)59 ; CHECK-NEXT: {{ $}}60 ; CHECK-NEXT: $sgpr0_sgpr1 = S_OR_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc61 ; CHECK-NEXT: {{ $}}62 ; CHECK-NEXT: bb.10:63 ; CHECK-NEXT: successors: %bb.11(0x80000000)64 ; CHECK-NEXT: {{ $}}65 ; CHECK-NEXT: $sgpr0 = S_ANDN2_B32 $sgpr1, $sgpr2, implicit-def $scc66 ; CHECK-NEXT: {{ $}}67 ; CHECK-NEXT: bb.11:68 ; CHECK-NEXT: $sgpr0_sgpr1 = S_ANDN2_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc69 bb.0:70 $sgpr0 = S_MOV_B32_term $sgpr171 72 bb.1:73 $sgpr0 = S_MOV_B32_term 074 75 bb.3:76 $sgpr0 = S_MOV_B32_term &SYMBOL77 78 bb.4:79 $sgpr0_sgpr1 = S_MOV_B64_term $sgpr2_sgpr380 81 bb.5:82 $sgpr0_sgpr1 = S_MOV_B64_term 083 84 bb.6:85 $sgpr0_sgpr1 = S_MOV_B64_term &SYMBOL86 87 bb.7:88 $sgpr0 = S_XOR_B32_term $sgpr1, $sgpr2, implicit-def $scc89 90 bb.8:91 $sgpr0_sgpr1 = S_XOR_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc92 93 bb.9:94 $sgpr0 = S_OR_B32_term $sgpr1, $sgpr2, implicit-def $scc95 96 bb.10:97 $sgpr0_sgpr1 = S_OR_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc98 99 bb.11:100 $sgpr0 = S_ANDN2_B32_term $sgpr1, $sgpr2, implicit-def $scc101 102 bb.12:103 $sgpr0_sgpr1 = S_ANDN2_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc104...105