1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass=si-optimize-exec-masking -verify-machineinstrs  %s -o - | FileCheck %s
3
4---
5name: lower_term_opcodes
6tracksRegLiveness: false
7body: |
8  ; CHECK-LABEL: name: lower_term_opcodes
9  ; CHECK: bb.0:
10  ; CHECK:   successors: %bb.1(0x80000000)
11  ; CHECK:   $sgpr0 = COPY $sgpr1
12  ; CHECK: bb.1:
13  ; CHECK:   successors: %bb.2(0x80000000)
14  ; CHECK:   $sgpr0 = S_MOV_B32 0
15  ; CHECK: bb.2:
16  ; CHECK:   successors: %bb.3(0x80000000)
17  ; CHECK:   $sgpr0 = S_MOV_B32 &SYMBOL
18  ; CHECK: bb.3:
19  ; CHECK:   successors: %bb.4(0x80000000)
20  ; CHECK:   $sgpr0_sgpr1 = COPY $sgpr2_sgpr3
21  ; CHECK: bb.4:
22  ; CHECK:   successors: %bb.5(0x80000000)
23  ; CHECK:   $sgpr0_sgpr1 = S_MOV_B64 0
24  ; CHECK: bb.5:
25  ; CHECK:   successors: %bb.6(0x80000000)
26  ; CHECK:   $sgpr0_sgpr1 = S_MOV_B64 &SYMBOL
27  ; CHECK: bb.6:
28  ; CHECK:   successors: %bb.7(0x80000000)
29  ; CHECK:   $sgpr0 = S_XOR_B32 $sgpr1, $sgpr2, implicit-def $scc
30  ; CHECK: bb.7:
31  ; CHECK:   successors: %bb.8(0x80000000)
32  ; CHECK:   $sgpr0_sgpr1 = S_XOR_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
33  ; CHECK: bb.8:
34  ; CHECK:   successors: %bb.9(0x80000000)
35  ; CHECK:   $sgpr0 = S_OR_B32 $sgpr1, $sgpr2, implicit-def $scc
36  ; CHECK: bb.9:
37  ; CHECK:   successors: %bb.10(0x80000000)
38  ; CHECK:   $sgpr0_sgpr1 = S_OR_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
39  ; CHECK: bb.10:
40  ; CHECK:   successors: %bb.11(0x80000000)
41  ; CHECK:   $sgpr0 = S_ANDN2_B32 $sgpr1, $sgpr2, implicit-def $scc
42  ; CHECK: bb.11:
43  ; CHECK:   $sgpr0_sgpr1 = S_ANDN2_B64 $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
44  bb.0:
45    $sgpr0 = S_MOV_B32_term $sgpr1
46
47  bb.1:
48    $sgpr0 = S_MOV_B32_term 0
49
50  bb.3:
51    $sgpr0 = S_MOV_B32_term &SYMBOL
52
53  bb.4:
54    $sgpr0_sgpr1 = S_MOV_B64_term $sgpr2_sgpr3
55
56  bb.5:
57    $sgpr0_sgpr1 = S_MOV_B64_term 0
58
59  bb.6:
60    $sgpr0_sgpr1 = S_MOV_B64_term &SYMBOL
61
62  bb.7:
63    $sgpr0 = S_XOR_B32_term $sgpr1, $sgpr2, implicit-def $scc
64
65  bb.8:
66    $sgpr0_sgpr1 = S_XOR_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
67
68  bb.9:
69    $sgpr0 = S_OR_B32_term $sgpr1, $sgpr2, implicit-def $scc
70
71  bb.10:
72    $sgpr0_sgpr1 = S_OR_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
73
74  bb.11:
75    $sgpr0 = S_ANDN2_B32_term $sgpr1, $sgpr2, implicit-def $scc
76
77  bb.12:
78    $sgpr0_sgpr1 = S_ANDN2_B64_term $sgpr2_sgpr3, $sgpr2_sgpr3, implicit-def $scc
79...
80