[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / select-reduce-fadd.mir
blob85d9e1ca85a33e8c34eb9f5d6dfebc2253981088
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=1 %s -o - | FileCheck %s
3 ---
4 name:            fadd_v2s32
5 legalized:       true
6 regBankSelected: true
7 tracksRegLiveness: true
8 body:             |
9   bb.1:
10     liveins: $d0
12     ; CHECK-LABEL: name: fadd_v2s32
13     ; CHECK: liveins: $d0
14     ; CHECK-NEXT: {{  $}}
15     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
16     ; CHECK-NEXT: [[FADDPv2i32p:%[0-9]+]]:fpr32 = nofpexcept FADDPv2i32p [[COPY]], implicit $fpcr
17     ; CHECK-NEXT: $w0 = COPY [[FADDPv2i32p]]
18     ; CHECK-NEXT: RET_ReallyLR implicit $w0
19     %0:fpr(<2 x s32>) = COPY $d0
20     %1:fpr(s32) = G_VECREDUCE_FADD %0(<2 x s32>)
21     $w0 = COPY %1(s32)
22     RET_ReallyLR implicit $w0
24 ...
25 ---
26 name:            fadd_v2s64
27 legalized:       true
28 regBankSelected: true
29 tracksRegLiveness: true
30 body:             |
31   bb.1:
32     liveins: $q0
34     ; CHECK-LABEL: name: fadd_v2s64
35     ; CHECK: liveins: $q0
36     ; CHECK-NEXT: {{  $}}
37     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
38     ; CHECK-NEXT: [[FADDPv2i64p:%[0-9]+]]:fpr64 = nofpexcept FADDPv2i64p [[COPY]], implicit $fpcr
39     ; CHECK-NEXT: $x0 = COPY [[FADDPv2i64p]]
40     ; CHECK-NEXT: RET_ReallyLR implicit $x0
41     %0:fpr(<2 x s64>) = COPY $q0
42     %2:fpr(s64) = G_VECREDUCE_FADD %0(<2 x s64>)
43     $x0 = COPY %2(s64)
44     RET_ReallyLR implicit $x0
46 ...