thumb-fp-armv8.txt
2.77 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# RUN: llvm-mc -disassemble -triple thumbv8 -mattr=+fp-armv8 -show-encoding < %s | FileCheck %s
0xb2 0xee 0xe0 0x3b
# CHECK: vcvtt.f64.f16 d3, s1
0xf3 0xee 0xcc 0x2b
# CHECK: vcvtt.f16.f64 s5, d12
0xb2 0xee 0x60 0x3b
# CHECK: vcvtb.f64.f16 d3, s1
0xb3 0xee 0x41 0x2b
# CHECK: vcvtb.f16.f64 s4, d1
0xa8 0xbf # IT block
0xb2 0xee 0xe0 0x3b
# CHECK: vcvttge.f64.f16 d3, s1
0xc8 0xbf # IT block
0xf3 0xee 0xcc 0x2b
# CHECK: vcvttgt.f16.f64 s5, d12
0x08 0xbf # IT block
0xb2 0xee 0x60 0x3b
# CHECK: vcvtbeq.f64.f16 d3, s1
0xb8 0xbf # IT block
0xb3 0xee 0x41 0x2b
# CHECK: vcvtblt.f16.f64 s4, d1
0xbc 0xfe 0xe1 0x1a
# CHECK: vcvta.s32.f32 s2, s3
0xbc 0xfe 0xc3 0x1b
# CHECK: vcvta.s32.f64 s2, d3
0xbd 0xfe 0xeb 0x3a
# CHECK: vcvtn.s32.f32 s6, s23
0xbd 0xfe 0xe7 0x3b
# CHECK: vcvtn.s32.f64 s6, d23
0xbe 0xfe 0xc2 0x0a
# CHECK: vcvtp.s32.f32 s0, s4
0xbe 0xfe 0xc4 0x0b
# CHECK: vcvtp.s32.f64 s0, d4
0xff 0xfe 0xc4 0x8a
# CHECK: vcvtm.s32.f32 s17, s8
0xff 0xfe 0xc8 0x8b
# CHECK: vcvtm.s32.f64 s17, d8
0xbc 0xfe 0x61 0x1a
# CHECK: vcvta.u32.f32 s2, s3
0xbc 0xfe 0x43 0x1b
# CHECK: vcvta.u32.f64 s2, d3
0xbd 0xfe 0x6b 0x3a
# CHECK: vcvtn.u32.f32 s6, s23
0xbd 0xfe 0x67 0x3b
# CHECK: vcvtn.u32.f64 s6, d23
0xbe 0xfe 0x42 0x0a
# CHECK: vcvtp.u32.f32 s0, s4
0xbe 0xfe 0x44 0x0b
# CHECK: vcvtp.u32.f64 s0, d4
0xff 0xfe 0x44 0x8a
# CHECK: vcvtm.u32.f32 s17, s8
0xff 0xfe 0x48 0x8b
# CHECK: vcvtm.u32.f64 s17, d8
0x20 0xfe 0xab 0x2a
# CHECK: vselge.f32 s4, s1, s23
0x6f 0xfe 0xa7 0xeb
# CHECK: vselge.f64 d30, d31, d23
0x30 0xfe 0x80 0x0a
# CHECK: vselgt.f32 s0, s1, s0
0x3a 0xfe 0x24 0x5b
# CHECK: vselgt.f64 d5, d10, d20
0x0e 0xfe 0x2b 0xfa
# CHECK: vseleq.f32 s30, s28, s23
0x04 0xfe 0x08 0x2b
# CHECK: vseleq.f64 d2, d4, d8
0x58 0xfe 0x07 0xaa
# CHECK: vselvs.f32 s21, s16, s14
0x11 0xfe 0x2f 0x0b
# CHECK: vselvs.f64 d0, d1, d31
0xc6 0xfe 0x00 0x2a
# CHECK: vmaxnm.f32 s5, s12, s0
0x86 0xfe 0xae 0x5b
# CHECK: vmaxnm.f64 d5, d22, d30
0x80 0xfe 0x46 0x0a
# CHECK: vminnm.f32 s0, s0, s12
0x86 0xfe 0x49 0x4b
# CHECK: vminnm.f64 d4, d6, d9
0xa8 0xbf # IT block
0xb6 0xee 0xcc 0x3b
# CHECK: vrintzge.f64 d3, d12
0xf6 0xee 0xcc 0x1a
# CHECK: vrintz.f32 s3, s24
0xb8 0xbf # IT block
0xb6 0xee 0x40 0x5b
# CHECK: vrintrlt.f64 d5, d0
0xb6 0xee 0x64 0x0a
# CHECK: vrintr.f32 s0, s9
0x08 0xbf # IT block
0xf7 0xee 0x6e 0xcb
# CHECK: vrintxeq.f64 d28, d30
0x68 0xbf # IT block
0xb7 0xee 0x47 0x5a
# CHECK: vrintxvs.f32 s10, s14
0xb8 0xfe 0x44 0x3b
# CHECK: vrinta.f64 d3, d4
0xb8 0xfe 0x60 0x6a
# CHECK: vrinta.f32 s12, s1
0xb9 0xfe 0x44 0x3b
# CHECK: vrintn.f64 d3, d4
0xb9 0xfe 0x60 0x6a
# CHECK: vrintn.f32 s12, s1
0xba 0xfe 0x44 0x3b
# CHECK: vrintp.f64 d3, d4
0xba 0xfe 0x60 0x6a
# CHECK: vrintp.f32 s12, s1
0xbb 0xfe 0x44 0x3b
# CHECK: vrintm.f64 d3, d4
0xbb 0xfe 0x60 0x6a
# CHECK: vrintm.f32 s12, s1