PowerPC64 .branch_lt address
[binutils-gdb.git] / sim / testsuite / aarch64 / xtl.s
1 #mach: aarch64
2
3 # Check the extend long instructions: sxtl, sxtl2, uxtl, uxtl2.
4
5 .include "testutils.inc"
6
7 .data
8 .align 4
9 input:
10 .word 0x04030201
11 .word 0x08070605
12 .word 0xfcfdfeff
13 .word 0xf8f9fafb
14
15 start
16 adrp x0, input
17 ldr q0, [x0, #:lo12:input]
18
19 uxtl v1.8h, v0.8b
20 uxtl2 v2.8h, v0.16b
21 addv h3, v1.8h
22 addv h4, v2.8h
23 mov x1, v3.d[0]
24 mov x2, v4.d[0]
25 cmp x1, #36
26 bne .Lfailure
27 cmp x2, #2012
28 bne .Lfailure
29
30 uxtl v1.4s, v0.4h
31 uxtl2 v2.4s, v0.8h
32 addv s3, v1.4s
33 addv s4, v2.4s
34 mov x1, v3.d[0]
35 mov x2, v4.d[0]
36 mov x3, #5136
37 cmp x1, x3
38 bne .Lfailure
39 mov x4, #0xeff0
40 movk x4, 0x3, lsl #16
41 cmp x2, x4
42 bne .Lfailure
43
44 uxtl v1.2d, v0.2s
45 uxtl2 v2.2d, v0.4s
46 addv s3, v1.4s
47 addv s4, v2.4s
48 mov x1, v3.d[0]
49 mov x2, v4.d[0]
50 mov x3, #0x0806
51 movk x3, #0x0c0a, lsl #16
52 cmp x1, x3
53 bne .Lfailure
54 mov x4, #0xf9fa
55 movk x4, #0xf5f7, lsl #16
56 cmp x2, x4
57 bne .Lfailure
58
59 sxtl v1.8h, v0.8b
60 sxtl2 v2.8h, v0.16b
61 addv h3, v1.8h
62 addv h4, v2.8h
63 mov x1, v3.d[0]
64 mov x2, v4.d[0]
65 cmp x1, #36
66 bne .Lfailure
67 mov x3, #0xffdc
68 cmp x2, x3
69 bne .Lfailure
70
71 sxtl v1.4s, v0.4h
72 sxtl2 v2.4s, v0.8h
73 addv s3, v1.4s
74 addv s4, v2.4s
75 mov x1, v3.d[0]
76 mov x2, v4.d[0]
77 mov x3, #5136
78 cmp x1, x3
79 bne .Lfailure
80 mov x4, #0xeff0
81 movk x4, 0xffff, lsl #16
82 bne .Lfailure
83
84 sxtl v1.2d, v0.2s
85 sxtl2 v2.2d, v0.4s
86 addv s3, v1.4s
87 addv s4, v2.4s
88 mov x1, v3.d[0]
89 mov x2, v4.d[0]
90 mov x3, #0x0806
91 movk x3, #0x0c0a, lsl #16
92 cmp x1, x3
93 bne .Lfailure
94 mov x4, #0xf9f8
95 movk x4, #0xf5f7, lsl #16
96 cmp x2, x4
97 bne .Lfailure
98
99 pass
100 .Lfailure:
101 fail