[PATCH 57/57][Arm][GAS] MVE Tests
[external/binutils.git] / gas / testsuite / gas / arm / mve-vmov-1.s
1 .syntax unified
2 .thumb
3
4 .irp op0, s0, s1, s2, s4, s8, s16, s30, s31
5 .irp op1, r0, r1, r2, r4, r7, r8, r10, r12, r14
6 vmov \op0, \op1
7 vmov \op1, \op0
8 .endr
9 .endr
10
11 .macro vmov_rr, op0, op1
12 .irp op2, d0, d1, d2, d4, d8, d15
13 vmov \op0, \op1, \op2
14 vmov \op2, \op0, \op1
15 .endr
16 vmov \op0, \op1, s0, s1
17 vmov \op0, \op1, s1, s2
18 vmov \op0, \op1, s2, s3
19 vmov \op0, \op1, s4, s5
20 vmov \op0, \op1, s8, s9
21 vmov \op0, \op1, s16, s17
22 vmov \op0, \op1, s30, s31
23 vmov s0, s1, \op0, \op1
24 vmov s1, s2, \op0, \op1
25 vmov s2, s3, \op0, \op1
26 vmov s4, s5, \op0, \op1
27 vmov s8, s9, \op0, \op1
28 vmov s16, s17, \op0, \op1
29 vmov s30, s31, \op0, \op1
30 .endm
31
32 .irp op0, r1, r2, r4, r7, r8, r10, r12, r14
33 vmov_rr r0, \op0
34 .endr
35
36 .irp op0, r0, r2, r4, r7, r8, r10, r12, r14
37 vmov_rr r1, \op0
38 .endr
39
40 .irp op0, r0, r1, r4, r7, r8, r10, r12, r14
41 vmov_rr r2, \op0
42 .endr
43
44 .irp op0, r0, r1, r2, r7, r8, r10, r12, r14
45 vmov_rr r4, \op0
46 .endr
47
48 .irp op0, r0, r1, r2, r4, r8, r10, r12, r14
49 vmov_rr r7, \op0
50 .endr
51
52 .irp op0, r0, r1, r2, r4, r7, r10, r12, r14
53 vmov_rr r8, \op0
54 .endr
55
56 .irp op0, r0, r1, r2, r4, r7, r8, r12, r14
57 vmov_rr r10, \op0
58 .endr
59
60 .irp op0, r0, r1, r2, r4, r7, r8, r10, r14
61 vmov_rr r12, \op0
62 .endr
63
64 .irp op0, r0, r1, r2, r4, r7, r8, r10, r12
65 vmov_rr r14, \op0
66 .endr
67
68 .macro vmov_qidx_r size, idx
69 .irp op1, q0, q1, q2, q4, q7
70 .irp op2, r0, r1, r2, r4, r7, r8, r10, r12, r14
71 vmov\size \op1[\idx], \op2
72 .endr
73 .endr
74 .endm
75
76 .irp idx, 0, 1, 2, 4, 8, 15, 13, 6
77 vmov_qidx_r .8, \idx
78 .endr
79
80 .irp idx, 0, 1, 2, 4, 7
81 vmov_qidx_r .16, \idx
82 .endr
83
84 .irp idx, 0, 1, 2, 3
85 vmov_qidx_r .32, \idx
86 .endr
87
88 .macro vmov_r_qidx size, idx
89 .irp op1, r0, r1, r2, r4, r7, r8, r10, r12, r14
90 .irp op2, q0, q1, q2, q4, q7
91 vmov\size \op1, \op2[\idx]
92 .endr
93 .endr
94 .endm
95
96 .irp data, .u8, .s8
97 .irp idx, 0, 1, 2, 4, 8, 15, 13, 6
98 vmov_r_qidx \data, \idx
99 .endr
100 .endr
101
102 .irp data, .u16, .s16
103 .irp idx, 0, 1, 2, 4, 7
104 vmov_r_qidx \data, \idx
105 .endr
106 .endr
107
108 .irp idx, 0, 1, 2, 3
109 vmov_r_qidx .32, \idx
110 .endr
111
112 vmov.i32 q0, #0
113 vmov.i32 q0, #255        @ 0x000000FF 000000FF
114 vmov.i32 q0, #65280      @ 0x0000FF00 0000FF00
115 vmov.i32 q0, #4278190080 @ 0xFF000000 FF000000
116 vmov.i32 q0, #16711680   @ 0x00FF0000 00FF0000
117
118 vmov.i16 q0, #0
119 vmov.i16 q0, #255      @ 0x00FF 00FF 00FF 00FF
120 vmov.i16 q0, #65280    @ 0xFF00 FF00 FF00 FF00
121
122 vmov.i8 q0, #0
123 vmov.i8 q0, #255      @ 0xFF FF FF FF FF FF FF FF
124
125 vmov.i64 q0, #18374686479671623680 @ 0xFF00000000000000
126 vmov.i64 q0, #71776119061217280 @ 0x00FF000000000000
127 vmov.i64 q0, #280375465082880 @ 0x0000FF0000000000
128 vmov.i64 q0, #1095216660480 @ 0x000000FF00000000
129 vmov.i64 q0, #4278190080 @ 0x00000000FF000000
130 vmov.i64 q0, #16711680 @ 0x00000000000FF0000
131 vmov.i64 q0, #65280 @ 0x0000000000000FF00
132 vmov.i64 q0, #255 @ 0x000000000000000FF