1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64-apple-ios -run-pass=instruction-select %s -o - | FileCheck %s
9 tracksRegLiveness: true
14 ; CHECK-LABEL: name: v4s16
16 ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
17 ; CHECK: [[ABSv4i16_:%[0-9]+]]:fpr64 = ABSv4i16 [[COPY]]
18 ; CHECK: $d0 = COPY [[ABSv4i16_]]
19 ; CHECK: RET_ReallyLR implicit $d0
20 %0:fpr(<4 x s16>) = COPY $d0
21 %1:fpr(<4 x s16>) = G_ABS %0
22 $d0 = COPY %1(<4 x s16>)
23 RET_ReallyLR implicit $d0
30 tracksRegLiveness: true
35 ; CHECK-LABEL: name: v8s16
37 ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
38 ; CHECK: [[ABSv8i16_:%[0-9]+]]:fpr128 = ABSv8i16 [[COPY]]
39 ; CHECK: $q0 = COPY [[ABSv8i16_]]
40 ; CHECK: RET_ReallyLR implicit $q0
41 %0:fpr(<8 x s16>) = COPY $q0
42 %1:fpr(<8 x s16>) = G_ABS %0
43 $q0 = COPY %1(<8 x s16>)
44 RET_ReallyLR implicit $q0
51 tracksRegLiveness: true
56 ; CHECK-LABEL: name: v2s32
58 ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
59 ; CHECK: [[ABSv2i32_:%[0-9]+]]:fpr64 = ABSv2i32 [[COPY]]
60 ; CHECK: $d0 = COPY [[ABSv2i32_]]
61 ; CHECK: RET_ReallyLR implicit $d0
62 %0:fpr(<2 x s32>) = COPY $d0
63 %1:fpr(<2 x s32>) = G_ABS %0
64 $d0 = COPY %1(<2 x s32>)
65 RET_ReallyLR implicit $d0
72 tracksRegLiveness: true
77 ; CHECK-LABEL: name: v4s32
79 ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
80 ; CHECK: [[ABSv4i32_:%[0-9]+]]:fpr128 = ABSv4i32 [[COPY]]
81 ; CHECK: $q0 = COPY [[ABSv4i32_]]
82 ; CHECK: RET_ReallyLR implicit $q0
83 %0:fpr(<4 x s32>) = COPY $q0
84 %1:fpr(<4 x s32>) = G_ABS %0
85 $q0 = COPY %1(<4 x s32>)
86 RET_ReallyLR implicit $q0
93 tracksRegLiveness: true
98 ; CHECK-LABEL: name: v4s8
100 ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
101 ; CHECK: [[ABSv8i8_:%[0-9]+]]:fpr64 = ABSv8i8 [[COPY]]
102 ; CHECK: $d0 = COPY [[ABSv8i8_]]
103 ; CHECK: RET_ReallyLR implicit $d0
104 %0:fpr(<8 x s8>) = COPY $d0
105 %1:fpr(<8 x s8>) = G_ABS %0
106 $d0 = COPY %1(<8 x s8>)
107 RET_ReallyLR implicit $d0
113 regBankSelected: true
114 tracksRegLiveness: true
119 ; CHECK-LABEL: name: v16s8
120 ; CHECK: liveins: $q0
121 ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
122 ; CHECK: [[ABSv16i8_:%[0-9]+]]:fpr128 = ABSv16i8 [[COPY]]
123 ; CHECK: $q0 = COPY [[ABSv16i8_]]
124 ; CHECK: RET_ReallyLR implicit $q0
125 %0:fpr(<16 x s8>) = COPY $q0
126 %1:fpr(<16 x s8>) = G_ABS %0
127 $q0 = COPY %1(<16 x s8>)
128 RET_ReallyLR implicit $q0