Replace coff-/elf-dump with llvm-readobj
[oota-llvm.git] / test / MC / ARM / simple-fp-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
2
3         vadd.f64  d16, d17, d16
4         vadd.f32  s0, s1, s0
5 @ CHECK: vadd.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x71,0xee]
6 @ CHECK: vadd.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x30,0xee]
7
8         vsub.f64  d16, d17, d16
9         vsub.f32  s0, s1, s0
10 @ CHECK: vsub.f64 d16, d17, d16      @ encoding: [0xe0,0x0b,0x71,0xee]
11 @ CHECK: vsub.f32 s0, s1, s0         @ encoding: [0xc0,0x0a,0x30,0xee]
12
13         vdiv.f64  d16, d17, d16
14         vdiv.f32  s0, s1, s0
15         vdiv.f32 s5, s7
16         vdiv.f64 d5, d7
17
18 @ CHECK: vdiv.f64 d16, d17, d16         @ encoding: [0xa0,0x0b,0xc1,0xee]
19 @ CHECK: vdiv.f32 s0, s1, s0            @ encoding: [0x80,0x0a,0x80,0xee]
20 @ CHECK: vdiv.f32       s5, s5, s7      @ encoding: [0xa3,0x2a,0xc2,0xee]
21 @ CHECK: vdiv.f64       d5, d5, d7      @ encoding: [0x07,0x5b,0x85,0xee]
22
23
24         vmul.f64  d16, d17, d16
25         vmul.f64  d20, d17
26         vmul.f32  s0, s1, s0
27         vmul.f32  s11, s21
28
29
30 @ CHECK: vmul.f64 d16, d17, d16      @ encoding: [0xa0,0x0b,0x61,0xee]
31 @ CHECK: vmul.f64 d20, d20, d17      @ encoding: [0xa1,0x4b,0x64,0xee]
32 @ CHECK: vmul.f32 s0, s1, s0         @ encoding: [0x80,0x0a,0x20,0xee]
33 @ CHECK: vmul.f32 s11, s11, s21      @ encoding: [0xaa,0x5a,0x65,0xee]
34
35         vnmul.f64       d16, d17, d16
36         vnmul.f32       s0, s1, s0
37
38 @ CHECK: vnmul.f64 d16, d17, d16     @ encoding: [0xe0,0x0b,0x61,0xee]
39 @ CHECK: vnmul.f32 s0, s1, s0        @ encoding: [0xc0,0x0a,0x20,0xee]
40
41         vcmpe.f64       d17, d16
42         vcmpe.f32       s1, s0
43
44 @ CHECK: vcmpe.f64 d17, d16          @ encoding: [0xe0,0x1b,0xf4,0xee]
45 @ CHECK: vcmpe.f32 s1, s0            @ encoding: [0xc0,0x0a,0xf4,0xee]
46
47         vcmpe.f64       d16, #0
48         vcmpe.f32       s0, #0
49
50 @ CHECK: vcmpe.f64 d16, #0           @ encoding: [0xc0,0x0b,0xf5,0xee]
51 @ CHECK: vcmpe.f32 s0, #0            @ encoding: [0xc0,0x0a,0xb5,0xee]
52
53         vabs.f64        d16, d16
54         vabs.f32        s0, s0
55
56 @ CHECK: vabs.f64 d16, d16           @ encoding: [0xe0,0x0b,0xf0,0xee]
57 @ CHECK: vabs.f32 s0, s0             @ encoding: [0xc0,0x0a,0xb0,0xee]
58
59         vcvt.f32.f64    s0, d16
60         vcvt.f64.f32    d16, s0
61
62 @ CHECK: vcvt.f32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xb7,0xee]
63 @ CHECK: vcvt.f64.f32 d16, s0        @ encoding: [0xc0,0x0a,0xf7,0xee]
64
65         vneg.f64        d16, d16
66         vneg.f32        s0, s0
67
68 @ CHECK: vneg.f64 d16, d16           @ encoding: [0x60,0x0b,0xf1,0xee]
69 @ CHECK: vneg.f32 s0, s0             @ encoding: [0x40,0x0a,0xb1,0xee]
70
71         vsqrt.f64       d16, d16
72         vsqrt.f32       s0, s0
73
74 @ CHECK: vsqrt.f64 d16, d16          @ encoding: [0xe0,0x0b,0xf1,0xee]
75 @ CHECK: vsqrt.f32 s0, s0            @ encoding: [0xc0,0x0a,0xb1,0xee]
76
77         vcvt.f64.s32    d16, s0
78         vcvt.f32.s32    s0, s0
79         vcvt.f64.u32    d16, s0
80         vcvt.f32.u32    s0, s0
81         vcvt.s32.f64    s0, d16
82         vcvt.s32.f32    s0, s0
83         vcvt.u32.f64    s0, d16
84         vcvt.u32.f32    s0, s0
85
86 @ CHECK: vcvt.f64.s32 d16, s0        @ encoding: [0xc0,0x0b,0xf8,0xee]
87 @ CHECK: vcvt.f32.s32 s0, s0         @ encoding: [0xc0,0x0a,0xb8,0xee]
88 @ CHECK: vcvt.f64.u32 d16, s0        @ encoding: [0x40,0x0b,0xf8,0xee]
89 @ CHECK: vcvt.f32.u32 s0, s0         @ encoding: [0x40,0x0a,0xb8,0xee]
90 @ CHECK: vcvt.s32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbd,0xee]
91 @ CHECK: vcvt.s32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbd,0xee]
92 @ CHECK: vcvt.u32.f64 s0, d16        @ encoding: [0xe0,0x0b,0xbc,0xee]
93 @ CHECK: vcvt.u32.f32 s0, s0         @ encoding: [0xc0,0x0a,0xbc,0xee]
94
95
96         vmla.f64        d16, d18, d17
97         vmla.f32        s1, s2, s0
98
99 @ CHECK: vmla.f64 d16, d18, d17      @ encoding: [0xa1,0x0b,0x42,0xee]
100 @ CHECK: vmla.f32 s1, s2, s0         @ encoding: [0x00,0x0a,0x41,0xee]
101
102         vmls.f64        d16, d18, d17
103         vmls.f32        s1, s2, s0
104
105 @ CHECK: vmls.f64 d16, d18, d17      @ encoding: [0xe1,0x0b,0x42,0xee]
106 @ CHECK: vmls.f32 s1, s2, s0         @ encoding: [0x40,0x0a,0x41,0xee]
107
108         vnmla.f64       d16, d18, d17
109         vnmla.f32       s1, s2, s0
110
111 @ CHECK: vnmla.f64 d16, d18, d17     @ encoding: [0xe1,0x0b,0x52,0xee]
112 @ CHECK: vnmla.f32 s1, s2, s0        @ encoding: [0x40,0x0a,0x51,0xee]
113
114         vnmls.f64       d16, d18, d17
115         vnmls.f32       s1, s2, s0
116
117 @ CHECK: vnmls.f64 d16, d18, d17     @ encoding: [0xa1,0x0b,0x52,0xee]
118 @ CHECK: vnmls.f32 s1, s2, s0        @ encoding: [0x00,0x0a,0x51,0xee]
119
120         vmrs    APSR_nzcv, fpscr
121         vmrs    apsr_nzcv, fpscr
122         fmstat
123         vmrs    r2, fpsid
124         vmrs    r3, FPSID
125         vmrs    r4, mvfr0
126         vmrs    r5, MVFR1
127
128 @ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
129 @ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
130 @ CHECK: vmrs APSR_nzcv, fpscr       @ encoding: [0x10,0xfa,0xf1,0xee]
131 @ CHECK: vmrs r2, fpsid              @ encoding: [0x10,0x2a,0xf0,0xee]
132 @ CHECK: vmrs r3, fpsid              @ encoding: [0x10,0x3a,0xf0,0xee]
133 @ CHECK: vmrs r4, mvfr0              @ encoding: [0x10,0x4a,0xf7,0xee]
134 @ CHECK: vmrs r5, mvfr1              @ encoding: [0x10,0x5a,0xf6,0xee]
135
136 @ CHECK: vnegne.f64 d16, d16         @ encoding: [0x60,0x0b,0xf1,0x1e]
137         vnegne.f64      d16, d16
138
139 @ CHECK: vmovne s0, r0               @ encoding: [0x10,0x0a,0x00,0x1e]
140 @ CHECK: vmoveq s0, r1               @ encoding: [0x10,0x1a,0x00,0x0e]
141         vmovne  s0, r0
142         vmoveq  s0, r1
143
144         vmov.f32 r1, s2
145         vmov.f32 s4, r3
146         vmov.f64 r1, r5, d2
147         vmov.f64 d4, r3, r9
148
149 @ CHECK: vmov   r1, s2                  @ encoding: [0x10,0x1a,0x11,0xee]
150 @ CHECK: vmov   s4, r3                  @ encoding: [0x10,0x3a,0x02,0xee]
151 @ CHECK: vmov   r1, r5, d2              @ encoding: [0x12,0x1b,0x55,0xec]
152 @ CHECK: vmov   d4, r3, r9              @ encoding: [0x14,0x3b,0x49,0xec]
153
154 @ CHECK: vmrs r0, fpscr              @ encoding: [0x10,0x0a,0xf1,0xee]
155         vmrs    r0, fpscr
156 @ CHECK: vmrs  r0, fpexc             @ encoding: [0x10,0x0a,0xf8,0xee]
157         vmrs  r0, fpexc
158 @ CHECK: vmrs  r0, fpsid             @ encoding: [0x10,0x0a,0xf0,0xee]
159         vmrs  r0, fpsid
160
161 @ CHECK: vmsr fpscr, r0              @ encoding: [0x10,0x0a,0xe1,0xee]
162         vmsr    fpscr, r0
163 @ CHECK: vmsr  fpexc, r0             @ encoding: [0x10,0x0a,0xe8,0xee]
164         vmsr  fpexc, r0
165 @ CHECK: vmsr  fpsid, r0             @ encoding: [0x10,0x0a,0xe0,0xee]
166         vmsr  fpsid, r0
167
168         vmov.f64        d16, #3.000000e+00
169         vmov.f32        s0, #3.000000e+00
170         vmov.f64        d16, #-3.000000e+00
171         vmov.f32        s0, #-3.000000e+00
172
173 @ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
174 @ CHECK: vmov.f32 s0, #3.000000e+00  @ encoding: [0x08,0x0a,0xb0,0xee]
175 @ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]
176 @ CHECK: vmov.f32 s0, #-3.000000e+00  @ encoding: [0x08,0x0a,0xb8,0xee]
177
178 @ CHECK: vmov s0, r0                 @ encoding: [0x10,0x0a,0x00,0xee]
179 @ CHECK: vmov s1, r1                 @ encoding: [0x90,0x1a,0x00,0xee]
180 @ CHECK: vmov s2, r2                 @ encoding: [0x10,0x2a,0x01,0xee]
181 @ CHECK: vmov s3, r3                 @ encoding: [0x90,0x3a,0x01,0xee]
182         vmov    s0, r0
183         vmov    s1, r1
184         vmov    s2, r2
185         vmov    s3, r3
186
187 @ CHECK: vmov r0, s0                 @ encoding: [0x10,0x0a,0x10,0xee]
188 @ CHECK: vmov r1, s1                 @ encoding: [0x90,0x1a,0x10,0xee]
189 @ CHECK: vmov r2, s2                 @ encoding: [0x10,0x2a,0x11,0xee]
190 @ CHECK: vmov r3, s3                 @ encoding: [0x90,0x3a,0x11,0xee]
191         vmov    r0, s0
192         vmov    r1, s1
193         vmov    r2, s2
194         vmov    r3, s3
195
196 @ CHECK: vmov r0, r1, d16            @ encoding: [0x30,0x0b,0x51,0xec]
197         vmov    r0, r1, d16
198
199 @ Between two single precision registers and two core registers
200         vmov s3, s4, r1, r2
201         vmov s2, s3, r1, r2
202         vmov r1, r2, s3, s4
203         vmov r1, r2, s2, s3
204 @ CHECK: vmov s3, s4, r1, r2      @ encoding: [0x31,0x1a,0x42,0xec]
205 @ CHECK: vmov s2, s3, r1, r2      @ encoding: [0x11,0x1a,0x42,0xec]
206 @ CHECK: vmov r1, r2, s3, s4      @ encoding: [0x31,0x1a,0x52,0xec]
207 @ CHECK: vmov r1, r2, s2, s3      @ encoding: [0x11,0x1a,0x52,0xec]
208
209 @ Between one double precision register and two core registers
210         vmov d15, r1, r2 
211         vmov d16, r1, r2
212         vmov r1, r2, d15
213         vmov r1, r2, d16
214 @ CHECK: vmov d15, r1, r2         @ encoding: [0x1f,0x1b,0x42,0xec]
215 @ CHECK: vmov d16, r1, r2         @ encoding: [0x30,0x1b,0x42,0xec]
216 @ CHECK: vmov r1, r2, d15         @ encoding: [0x1f,0x1b,0x52,0xec]
217 @ CHECK: vmov r1, r2, d16         @ encoding: [0x30,0x1b,0x52,0xec]
218
219
220 @ CHECK: vldr d17, [r0]           @ encoding: [0x00,0x1b,0xd0,0xed]
221 @ CHECK: vldr s0, [lr]            @ encoding: [0x00,0x0a,0x9e,0xed]
222 @ CHECK: vldr d0, [lr]            @ encoding: [0x00,0x0b,0x9e,0xed]
223
224         vldr.64 d17, [r0]
225         vldr.i32 s0, [lr]
226         vldr.d d0, [lr]
227
228 @ CHECK: vldr d1, [r2, #32]       @ encoding: [0x08,0x1b,0x92,0xed]
229 @ CHECK: vldr d1, [r2, #-32]      @ encoding: [0x08,0x1b,0x12,0xed]
230         vldr.64 d1, [r2, #32]
231         vldr.f64        d1, [r2, #-32]
232
233 @ CHECK: vldr d2, [r3]            @ encoding: [0x00,0x2b,0x93,0xed]
234         vldr.64 d2, [r3]
235
236 @ CHECK: vldr d3, [pc]            @ encoding: [0x00,0x3b,0x9f,0xed]
237 @ CHECK: vldr d3, [pc]            @ encoding: [0x00,0x3b,0x9f,0xed]
238 @ CHECK: vldr d3, [pc, #-0]            @ encoding: [0x00,0x3b,0x1f,0xed]
239         vldr.64 d3, [pc]
240         vldr.64 d3, [pc,#0]
241         vldr.64 d3, [pc,#-0]
242
243 @ CHECK: vldr s13, [r0]           @ encoding: [0x00,0x6a,0xd0,0xed]
244         vldr.32 s13, [r0]
245
246 @ CHECK: vldr s1, [r2, #32]       @ encoding: [0x08,0x0a,0xd2,0xed]
247 @ CHECK: vldr s1, [r2, #-32]      @ encoding: [0x08,0x0a,0x52,0xed]
248         vldr.32 s1, [r2, #32]
249         vldr.32 s1, [r2, #-32]
250
251 @ CHECK: vldr s2, [r3]            @ encoding: [0x00,0x1a,0x93,0xed]
252         vldr.32 s2, [r3]
253
254 @ CHECK: vldr s5, [pc]            @ encoding: [0x00,0x2a,0xdf,0xed]
255 @ CHECK: vldr s5, [pc]            @ encoding: [0x00,0x2a,0xdf,0xed]
256 @ CHECK: vldr s5, [pc, #-0]            @ encoding: [0x00,0x2a,0x5f,0xed]
257         vldr.32 s5, [pc]
258         vldr.32 s5, [pc,#0]
259         vldr.32 s5, [pc,#-0]
260
261 @ CHECK: vstr d4, [r1]            @ encoding: [0x00,0x4b,0x81,0xed]
262 @ CHECK: vstr d4, [r1, #24]       @ encoding: [0x06,0x4b,0x81,0xed]
263 @ CHECK: vstr d4, [r1, #-24]      @ encoding: [0x06,0x4b,0x01,0xed]
264 @ CHECK: vstr s0, [lr]            @ encoding: [0x00,0x0a,0x8e,0xed]
265 @ CHECK: vstr d0, [lr]            @ encoding: [0x00,0x0b,0x8e,0xed]
266
267         vstr.64 d4, [r1]
268         vstr.64 d4, [r1, #24]
269         vstr.64 d4, [r1, #-24]
270         vstr s0, [lr]
271         vstr d0, [lr]
272
273 @ CHECK: vstr s4, [r1]            @ encoding: [0x00,0x2a,0x81,0xed]
274 @ CHECK: vstr s4, [r1, #24]       @ encoding: [0x06,0x2a,0x81,0xed]
275 @ CHECK: vstr s4, [r1, #-24]      @ encoding: [0x06,0x2a,0x01,0xed]
276         vstr.32 s4, [r1]
277         vstr.32 s4, [r1, #24]
278         vstr.32 s4, [r1, #-24]
279
280 @ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]
281 @ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]
282         vldmia  r1, {d2,d3-d6,d7}
283         vldmia  r1, {s2,s3-s6,s7}
284
285 @ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]
286 @ CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]
287 @ CHECK: vpush  {d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]
288         vstmia  r1, {d2,d3-d6,d7}
289         vstmia  r1, {s2,s3-s6,s7}
290         vstmdb sp!, {q4-q7}
291
292 @ CHECK: vcvtr.s32.f64  s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]
293 @ CHECK: vcvtr.s32.f32  s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]
294 @ CHECK: vcvtr.u32.f64  s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]
295 @ CHECK: vcvtr.u32.f32  s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]
296         vcvtr.s32.f64  s0, d0
297         vcvtr.s32.f32  s0, s1
298         vcvtr.u32.f64  s0, d0
299         vcvtr.u32.f32  s0, s1
300
301 @ CHECK: vmovne s25, s26, r2, r5
302         vmovne  s25, s26, r2, r5        @ encoding: [0x39,0x2a,0x45,0x1c]
303
304 @ VMOV w/ optional data type suffix.
305         vmov.32 s1, r8
306         vmov.s16 s2, r4
307         vmov.16 s3, r6
308         vmov.u32 s4, r1
309         vmov.p8 s5, r2
310         vmov.8 s6, r3
311
312         vmov.32 r1, s8
313         vmov.s16 r2, s4
314         vmov.16 r3, s6
315         vmov.u32 r4, s1
316         vmov.p8 r5, s2
317         vmov.8 r6, s3
318
319 @ CHECK: vmov   s1, r8                  @ encoding: [0x90,0x8a,0x00,0xee]
320 @ CHECK: vmov   s2, r4                  @ encoding: [0x10,0x4a,0x01,0xee]
321 @ CHECK: vmov   s3, r6                  @ encoding: [0x90,0x6a,0x01,0xee]
322 @ CHECK: vmov   s4, r1                  @ encoding: [0x10,0x1a,0x02,0xee]
323 @ CHECK: vmov   s5, r2                  @ encoding: [0x90,0x2a,0x02,0xee]
324 @ CHECK: vmov   s6, r3                  @ encoding: [0x10,0x3a,0x03,0xee]
325 @ CHECK: vmov   r1, s8                  @ encoding: [0x10,0x1a,0x14,0xee]
326 @ CHECK: vmov   r2, s4                  @ encoding: [0x10,0x2a,0x12,0xee]
327 @ CHECK: vmov   r3, s6                  @ encoding: [0x10,0x3a,0x13,0xee]
328 @ CHECK: vmov   r4, s1                  @ encoding: [0x90,0x4a,0x10,0xee]
329 @ CHECK: vmov   r5, s2                  @ encoding: [0x10,0x5a,0x11,0xee]
330 @ CHECK: vmov   r6, s3                  @ encoding: [0x90,0x6a,0x11,0xee]
331
332
333 @ VCVT (between floating-point and fixed-point)
334         vcvt.f32.u32 s0, s0, #20
335         vcvt.f64.s32 d0, d0, #32
336         vcvt.f32.u16 s0, s0, #1
337         vcvt.f64.s16 d0, d0, #16
338         vcvt.f32.s32 s1, s1, #20
339         vcvt.f64.u32 d20, d20, #32
340         vcvt.f32.s16 s17, s17, #1
341         vcvt.f64.u16 d23, d23, #16
342         vcvt.u32.f32 s12, s12, #20 
343         vcvt.s32.f64 d2, d2, #32
344         vcvt.u16.f32 s28, s28, #1
345         vcvt.s16.f64 d15, d15, #16
346         vcvt.s32.f32 s1, s1, #20
347         vcvt.u32.f64 d20, d20, #32
348         vcvt.s16.f32 s17, s17, #1
349         vcvt.u16.f64 d23, d23, #16
350
351 @ CHECK: vcvt.f32.u32   s0, s0, #20     @ encoding: [0xc6,0x0a,0xbb,0xee]
352 @ CHECK: vcvt.f64.s32   d0, d0, #32     @ encoding: [0xc0,0x0b,0xba,0xee]
353 @ CHECK: vcvt.f32.u16   s0, s0, #1      @ encoding: [0x67,0x0a,0xbb,0xee]
354 @ CHECK: vcvt.f64.s16   d0, d0, #16     @ encoding: [0x40,0x0b,0xba,0xee]
355 @ CHECK: vcvt.f32.s32   s1, s1, #20     @ encoding: [0xc6,0x0a,0xfa,0xee]
356 @ CHECK: vcvt.f64.u32   d20, d20, #32   @ encoding: [0xc0,0x4b,0xfb,0xee]
357 @ CHECK: vcvt.f32.s16   s17, s17, #1    @ encoding: [0x67,0x8a,0xfa,0xee]
358 @ CHECK: vcvt.f64.u16   d23, d23, #16   @ encoding: [0x40,0x7b,0xfb,0xee]
359
360 @ CHECK: vcvt.u32.f32   s12, s12, #20   @ encoding: [0xc6,0x6a,0xbf,0xee]
361 @ CHECK: vcvt.s32.f64   d2, d2, #32     @ encoding: [0xc0,0x2b,0xbe,0xee]
362 @ CHECK: vcvt.u16.f32   s28, s28, #1    @ encoding: [0x67,0xea,0xbf,0xee]
363 @ CHECK: vcvt.s16.f64   d15, d15, #16   @ encoding: [0x40,0xfb,0xbe,0xee]
364 @ CHECK: vcvt.s32.f32   s1, s1, #20     @ encoding: [0xc6,0x0a,0xfe,0xee]
365 @ CHECK: vcvt.u32.f64   d20, d20, #32   @ encoding: [0xc0,0x4b,0xff,0xee]
366 @ CHECK: vcvt.s16.f32   s17, s17, #1    @ encoding: [0x67,0x8a,0xfe,0xee]
367 @ CHECK: vcvt.u16.f64   d23, d23, #16   @ encoding: [0x40,0x7b,0xff,0xee]
368
369
370 @ Use NEON to load some f32 immediates that don't fit the f8 representation.
371         vmov.f32 d4, #0.0
372         vmov.f32 d4, #32.0
373
374 @ CHECK: vmov.i32       d4, #0x0        @ encoding: [0x10,0x40,0x80,0xf2]
375 @ CHECK: vmov.i32       d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2]