[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / opt-overlapping-and-postlegalize.mir
blob831212d6cb0149c0e514f76b97baa198ccaad856
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -debugify-and-strip-all-safe -mtriple arm64-apple-ios -O0 -run-pass=aarch64-postlegalizer-combiner --aarch64postlegalizercombiner-only-enable-rule="overlapping_and" -global-isel -verify-machineinstrs %s -o - | FileCheck %s
3 # REQUIRES: asserts
5 # Test running the overlapping_and combine post-legalization.
7 ...
8 ---
9 name:            test
10 legalized:       true
11 tracksRegLiveness: true
12 body:             |
13   bb.0:
14     liveins: $w0
15     ; CHECK-LABEL: name: test
16     ; CHECK: liveins: $w0
17     ; CHECK-NEXT: {{  $}}
18     ; CHECK-NEXT: %copy:_(s32) = COPY $w0
19     ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 192
20     ; CHECK-NEXT: %and2:_(s32) = G_AND %copy, [[C]]
21     ; CHECK-NEXT: $w0 = COPY %and2(s32)
22     ; CHECK-NEXT: RET_ReallyLR implicit $w0
23     %copy:_(s32) = COPY $w0
24     %cst_neg_64:_(s32) = G_CONSTANT i32 -64
25     %and1:_(s32) = G_AND %copy, %cst_neg_64
26     %cst_255:_(s32) = G_CONSTANT i32 255
27     %and2:_(s32) = G_AND %and1, %cst_255
28     $w0 = COPY %and2(s32)
29     RET_ReallyLR implicit $w0
30 ...