[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AArch64 / redundant-orrwrs-from-zero-extend.mir
blob37540dde048fab2161aad21eeefe30fc701a793d
1 # RUN: llc -mtriple=aarch64 -run-pass aarch64-mi-peephole-opt -verify-machineinstrs -o - %s | FileCheck %s
2 ---
3 name:            test1
4 # CHECK-LABEL: name: test1
5 alignment:       4
6 tracksRegLiveness: true
7 registers:
8   - { id: 0, class: gpr32 }
9   - { id: 1, class: gpr32 }
10   - { id: 2, class: gpr32 }
11   - { id: 3, class: gpr32 }
12   - { id: 4, class: gpr64 }
13 body:             |
14   bb.0:
15     liveins: $w0, $w1
17     %0:gpr32 = COPY $w0
18     %1:gpr32 = COPY $w1
19     B %bb.1
21   bb.1:
22     %2:gpr32 = nsw ADDWrr %0, %1
23     B %bb.2
25   bb.2:
26     ; CHECK-LABEL: bb.2:
27     ; CHECK-NOT: %3:gpr32 = ORRWrs $wzr, %2, 0
28     ; The ORRWrs should be removed.
29     %3:gpr32 = ORRWrs $wzr, %2, 0
30     %4:gpr64 = SUBREG_TO_REG 0, %3, %subreg.sub_32
31     B %bb.3
33   bb.3:
34     $x0 = COPY %4
35     RET_ReallyLR implicit $x0
36 ...
37 ---
38 name:            test2
39 # CHECK-LABEL: name: test2
40 alignment:       4
41 tracksRegLiveness: true
42 registers:
43   - { id: 0, class: gpr64 }
44   - { id: 1, class: gpr32 }
45   - { id: 2, class: gpr32 }
46   - { id: 3, class: gpr64 }
47 body:             |
48   bb.0:
49     liveins: $x0
51     %0:gpr64 = COPY $x0
52     B %bb.1
54   bb.1:
55     %1:gpr32 = EXTRACT_SUBREG %0, %subreg.sub_32
56     B %bb.2
58   bb.2:
59     ; CHECK-LABEL: bb.2:
60     ; CHECK: %2:gpr32 = ORRWrs $wzr, %1, 0
61     ; The ORRWrs should not be removed.
62     %2:gpr32 = ORRWrs $wzr, %1, 0
63     %3:gpr64 = SUBREG_TO_REG 0, %2, %subreg.sub_32
64     B %bb.3
66   bb.3:
67     $x0 = COPY %3
68     RET_ReallyLR implicit $x0
69 ...