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