PowerPC64 .branch_lt address
[binutils-gdb.git] / sim / testsuite / aarch64 / sumov.s
1 # mach: aarch64
2
3 # Check the mov from asimd to general reg instructions: smov, umov.
4
5 .include "testutils.inc"
6
7 .data
8 .align 4
9 input:
10 .word 0x04030201
11 .word 0x08070605
12 .word 0xf4f3f2f1
13 .word 0xf8f7f6f5
14
15 start
16 adrp x0, input
17 ldr q0, [x0, #:lo12:input]
18
19 smov w0, v0.b[0]
20 smov w3, v0.b[12]
21 cmp w0, #1
22 bne .Lfailure
23 cmp w3, #-11
24 bne .Lfailure
25
26 smov x0, v0.b[1]
27 smov x3, v0.b[13]
28 cmp x0, #2
29 bne .Lfailure
30 cmp x3, #-10
31 bne .Lfailure
32
33 smov w0, v0.h[0]
34 smov w1, v0.h[4]
35 cmp w0, #0x0201
36 bne .Lfailure
37 cmp w1, #-3343
38 bne .Lfailure
39
40 smov x0, v0.h[1]
41 smov x1, v0.h[5]
42 cmp x0, #0x0403
43 bne .Lfailure
44 cmp x1, #-2829
45 bne .Lfailure
46
47 smov x0, v0.s[1]
48 smov x1, v0.s[3]
49 mov x2, #0x0605
50 movk x2, #0x0807, lsl #16
51 cmp x0, x2
52 bne .Lfailure
53 mov w3, #0xf6f5
54 movk w3, #0xf8f7, lsl #16
55 sxtw x3, w3
56 cmp x1, x3
57 bne .Lfailure
58
59 umov w0, v0.b[0]
60 umov w3, v0.b[12]
61 cmp w0, #1
62 bne .Lfailure
63 cmp w3, #0xf5
64 bne .Lfailure
65
66 umov w0, v0.h[0]
67 umov w1, v0.h[4]
68 cmp w0, #0x0201
69 bne .Lfailure
70 mov w2, #0xf2f1
71 cmp w1, w2
72 bne .Lfailure
73
74 umov w0, v0.s[0]
75 umov w1, v0.s[2]
76 mov w2, #0x0201
77 movk w2, #0x0403, lsl #16
78 cmp w0, w2
79 bne .Lfailure
80 mov w3, #0xf2f1
81 movk w3, #0xf4f3, lsl #16
82 cmp w1, w3
83 bne .Lfailure
84
85 umov x0, v0.d[0]
86 adrp x1, input
87 ldr x2, [x1, #:lo12:input]
88 cmp x0, x2
89 bne .Lfailure
90
91 pass
92 .Lfailure:
93 fail