xref: /llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/select-fabs.mir (revision 10f59405ae50568308b713d9dd20eb30625470bd)
1# RUN: llc -verify-machineinstrs -mtriple aarch64--- \
2# RUN: -run-pass=instruction-select -mattr=+fullfp16 -global-isel %s -o - \
3# RUN: | FileCheck %s
4...
5---
6name:            fabs_float
7legalized:       true
8regBankSelected: true
9tracksRegLiveness: true
10registers:
11  - { id: 0, class: fpr }
12  - { id: 1, class: fpr }
13body:             |
14  bb.0:
15    ; CHECK-LABEL: name:            fabs_float
16    ; CHECK: %{{[0-9]+}}:fpr32 = FABSSr %{{[0-9]+}}
17    liveins: $s0
18    %0:fpr(s32) = COPY $s0
19    %1:fpr(s32) = G_FABS %0
20    $s0 = COPY %1(s32)
21
22...
23---
24name:            fabs_double
25legalized:       true
26regBankSelected: true
27tracksRegLiveness: true
28registers:
29  - { id: 0, class: fpr }
30  - { id: 1, class: fpr }
31body:             |
32  bb.0:
33    ; CHECK-LABEL: name:            fabs_double
34    ; CHECK: %{{[0-9]+}}:fpr64 = FABSDr %{{[0-9]+}}
35    liveins: $d0
36    %0:fpr(s64) = COPY $d0
37    %1:fpr(s64) = G_FABS %0
38    $d0 = COPY %1(s64)
39
40...
41---
42name:            fabs_v2f32
43legalized:       true
44regBankSelected: true
45tracksRegLiveness: true
46registers:
47  - { id: 0, class: fpr }
48  - { id: 1, class: fpr }
49body:             |
50  bb.0:
51    ; CHECK-LABEL: name:            fabs_v2f32
52    ; CHECK: %{{[0-9]+}}:fpr64 = FABSv2f32 %{{[0-9]+}}
53    liveins: $d0
54    %0:fpr(<2 x s32>) = COPY $d0
55    %1:fpr(<2 x s32>) = G_FABS %0
56    $d0 = COPY %1(<2 x s32>)
57
58...
59---
60name:            fabs_v4f32
61legalized:       true
62regBankSelected: true
63tracksRegLiveness: true
64registers:
65  - { id: 0, class: fpr }
66  - { id: 1, class: fpr }
67body:             |
68  bb.0:
69    ; CHECK-LABEL: name:            fabs_v4f32
70    ; CHECK: %{{[0-9]+}}:fpr128 = FABSv4f32 %{{[0-9]+}}
71    liveins: $q0
72    %0:fpr(<4 x s32>) = COPY $q0
73    %1:fpr(<4 x s32>) = G_FABS %0
74    $q0 = COPY %1(<4 x s32>)
75
76...
77---
78name:            fabs_v2f64
79legalized:       true
80regBankSelected: true
81tracksRegLiveness: true
82registers:
83  - { id: 0, class: fpr }
84  - { id: 1, class: fpr }
85body:             |
86  bb.0:
87    ; CHECK-LABEL: name:            fabs_v2f64
88    ; CHECK: %{{[0-9]+}}:fpr128 = FABSv2f64 %{{[0-9]+}}
89    liveins: $q0
90    %0:fpr(<2 x s64>) = COPY $q0
91    %1:fpr(<2 x s64>) = G_FABS %0
92    $q0 = COPY %1(<2 x s64>)
93
94...
95---
96name:            fabs_v4f16
97legalized:       true
98regBankSelected: true
99tracksRegLiveness: true
100registers:
101  - { id: 0, class: fpr }
102  - { id: 1, class: fpr }
103body:             |
104  bb.0:
105    ; CHECK-LABEL: name:            fabs_v4f16
106    ; CHECK: %{{[0-9]+}}:fpr64 = FABSv4f16 %{{[0-9]+}}
107    liveins: $d0
108    %0:fpr(<4 x s16>) = COPY $d0
109    %1:fpr(<4 x s16>) = G_FABS %0
110    $d0 = COPY %1(<4 x s16>)
111
112...
113---
114name:            fabs_v8f16
115legalized:       true
116regBankSelected: true
117tracksRegLiveness: true
118registers:
119  - { id: 0, class: fpr }
120  - { id: 1, class: fpr }
121body:             |
122  bb.0:
123    ; CHECK-LABEL: name:            fabs_v8f16
124    ; CHECK: %{{[0-9]+}}:fpr128 = FABSv8f16 %{{[0-9]+}}
125    liveins: $q0
126    %0:fpr(<8 x s16>) = COPY $q0
127    %1:fpr(<8 x s16>) = G_FABS %0
128    $q0 = COPY %1(<8 x s16>)
129
130...
131