1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
3
4--- |
5  define i32 @main() {
6  entry:
7    ret i32 0
8  }
9
10  declare i32 @printf(i8*, ...)
11...
12---
13name:            main
14alignment:       2
15exposesReturnsTwice: false
16legalized:       true
17regBankSelected: true
18selected:        false
19tracksRegLiveness: true
20registers:
21  - { id: 0, class: gpr }
22  - { id: 1, class: gpr }
23  - { id: 2, class: gpr }
24  - { id: 3, class: gpr }
25  - { id: 4, class: gpr }
26  - { id: 5, class: gpr }
27  - { id: 6, class: gpr }
28  - { id: 7, class: gpr }
29  - { id: 8, class: gpr }
30  - { id: 9, class: gpr }
31  - { id: 10, class: gpr }
32  - { id: 11, class: gpr }
33  - { id: 12, class: gpr }
34  - { id: 13, class: gpr }
35  - { id: 14, class: gpr }
36  - { id: 15, class: gpr }
37frameInfo:
38  isFrameAddressTaken: false
39  isReturnAddressTaken: false
40  hasStackMap:     false
41  hasPatchPoint:   false
42  stackSize:       0
43  offsetAdjustment: 0
44  maxAlignment:    8
45  adjustsStack:    false
46  hasCalls:        true
47  maxCallFrameSize: 0
48  hasOpaqueSPAdjustment: false
49  hasVAStart:      false
50  hasMustTailInVarArgFunc: false
51body:             |
52  bb.1.entry:
53    liveins: $w0
54    ; CHECK-LABEL: name: main
55    ; CHECK: liveins: $w0
56    ; CHECK: [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 1
57    ; CHECK: [[COPY:%[0-9]+]]:gpr32 = COPY $w0
58    ; CHECK: [[EONWrr:%[0-9]+]]:gpr32 = EONWrr [[COPY]], [[MOVi32imm]]
59    ; CHECK: $w0 = COPY [[EONWrr]]
60    %0(s32) = G_CONSTANT i32 -1
61    %3(s32) = G_CONSTANT i32 1
62    %1(s32) = COPY $w0
63    %2(s32) = G_XOR %1, %0
64    %4(s32) = G_XOR %2, %3
65    $w0 = COPY %4(s32)
66...
67