[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / regbankselect-reductions.mir
blob1c043da54215fbb4f8c53944f57e912a5904c4cb
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64-unknown-unknown -verify-machineinstrs -run-pass=regbankselect -global-isel-abort=1 %s -o - | FileCheck %s
4 ---
5 name:            fadd_v2s32
6 legalized:       true
7 tracksRegLiveness: true
8 body:             |
9   bb.1:
10     liveins: $d0
12     ; CHECK-LABEL: name: fadd_v2s32
13     ; CHECK: liveins: $d0
14     ; CHECK: [[COPY:%[0-9]+]]:fpr(<2 x s32>) = COPY $d0
15     ; CHECK: [[VECREDUCE_FADD:%[0-9]+]]:fpr(s32) = G_VECREDUCE_FADD [[COPY]](<2 x s32>)
16     ; CHECK: $w0 = COPY [[VECREDUCE_FADD]](s32)
17     ; CHECK: RET_ReallyLR implicit $w0
18     %0:_(<2 x s32>) = COPY $d0
19     %1:_(s32) = G_VECREDUCE_FADD %0(<2 x s32>)
20     $w0 = COPY %1(s32)
21     RET_ReallyLR implicit $w0
23 ...
24 ---
25 name:            add_v4s32
26 legalized:       true
27 tracksRegLiveness: true
28 body:             |
29   bb.1:
30     liveins: $q0
32     ; CHECK-LABEL: name: add_v4s32
33     ; CHECK: liveins: $q0
34     ; CHECK: [[COPY:%[0-9]+]]:fpr(<4 x s32>) = COPY $q0
35     ; CHECK: [[VECREDUCE_ADD:%[0-9]+]]:fpr(s32) = G_VECREDUCE_ADD [[COPY]](<4 x s32>)
36     ; CHECK: $w0 = COPY [[VECREDUCE_ADD]](s32)
37     ; CHECK: RET_ReallyLR implicit $w0
38     %0:_(<4 x s32>) = COPY $q0
39     %1:_(s32) = G_VECREDUCE_ADD %0(<4 x s32>)
40     $w0 = COPY %1(s32)
41     RET_ReallyLR implicit $w0
43 ...
44 ---
45 name:            fmaximum_v4s32
46 legalized:       true
47 tracksRegLiveness: true
48 body:             |
49   bb.1:
50     liveins: $q0
52     ; CHECK-LABEL: name: fmaximum_v4s32
53     ; CHECK: liveins: $q0
54     ; CHECK: [[COPY:%[0-9]+]]:fpr(<4 x s32>) = COPY $q0
55     ; CHECK: [[VECREDUCE_FMAXIMUM:%[0-9]+]]:fpr(s32) = G_VECREDUCE_FMAXIMUM [[COPY]](<4 x s32>)
56     ; CHECK: $w0 = COPY [[VECREDUCE_FMAXIMUM]](s32)
57     ; CHECK: RET_ReallyLR implicit $w0
58     %0:_(<4 x s32>) = COPY $q0
59     %1:_(s32) = G_VECREDUCE_FMAXIMUM %0(<4 x s32>)
60     $w0 = COPY %1(s32)
61     RET_ReallyLR implicit $w0
63 ...