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
7 tracksRegLiveness: true
12 ; CHECK-LABEL: name: fadd_v2s32
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>)
21 RET_ReallyLR implicit $w0
27 tracksRegLiveness: true
32 ; CHECK-LABEL: name: add_v4s32
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>)
41 RET_ReallyLR implicit $w0
47 tracksRegLiveness: true
52 ; CHECK-LABEL: name: fmaximum_v4s32
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>)
61 RET_ReallyLR implicit $w0