4 # define LDSTL(N, R0, R1) \
5 movi %R0 $(t0 + $offui) \
7 movi %R0 $(t0 + $offl) \
11 # define SI(C, N, x, X, R0, R1) \
12 movi %R0 $(t0 + $off##x) \
14 beqi L##x##C %R1 L##X##N \
18 # define LDRL(C, N, R0, R1) \
19 UI(C, N, i, I, R0, R1) \
20 SI(C, N, l, L, R0, R1)
22 # define LDSTL(C, R0, R1)
23 # define SI(C, N, x, X, R0, R1) \
24 movi %R0 $(t0 + $off##x) \
26 beqi L##x##C %R1 I##X##N \
30 # define LDRL(C, N, R0, R1)
34 #define UI(C, N, x, X, R0, R1) \
35 movi %R0 $(t0 + $offu##x) \
37 beqi Lu##x##C %R1 X##N \
41 #define FF(C, N, x, X, R0, F0) \
42 movi %R0 $(t0 + $off##x) \
44 beqi_##x L##x##C %F0 X##N \
47 #define LDST1(X, N, R0, R1, F0) \
48 movi %R0 $(t0 + $offc) \
51 movi %R0 $(t0 + $offuc) \
53 movi %R0 $(t0 + $offs) \
56 movi %R0 $(t0 + $offus) \
58 movi %R0 $(t0 + $offi) \
62 movi %R0 $(t0 + $offf) \
65 movi %R0 $(t0 + $offd) \
68 SI(X, N, c, C, R0, R1) \
69 UI(X, N, c, C, R0, R1) \
70 SI(X, N, s, S, R0, R1) \
71 UI(X, N, s, S, R0, R1) \
72 SI(X, N, i, I, R0, R1) \
74 FF(X, N, f, F, R0, F0) \
75 FF(X, N, d, D, R0, F0)
77 #define LDST0(R0, R1, F0) \
78 LDST1(0_##R0##_##R1##_##F0, 0, R0, R1, F0) \
79 LDST1(1_##R0##_##R1##_##F0, 1, R0, R1, F0) \
80 LDST1(2_##R0##_##R1##_##F0, 2, R0, R1, F0) \
81 LDST1(3_##R0##_##R1##_##F0, 3, R0, R1, F0)
83 #define LDST(V0, V1, V2, R0, R1, R2, F0, F1, F2, F3, F4, F5) \
100 /* Simple test to simplify validating encodings before
101 * brute force tests */
102 movi %r0 $(t0 + $offc)
105 movi %r0 $(t0 + $offuc)
107 movi %r0 $(t0 + $offs)
110 movi %r0 $(t0 + $offus)
112 movi %r0 $(t0 + $offi)
116 movi %r0 $(t0 + $offui)
118 movi %r0 $(t0 + $offl)
119 movi %r1 0x8000000000000001
122 movi %r0 $(t0 + $offf)
125 movi %r0 $(t0 + $offd)
128 movi %r0 $(t0 + $offc)
133 movi %r0 $(t0 + $offuc)
138 movi %r0 $(t0 + $offs)
143 movi %r0 $(t0 + $offus)
148 movi %r0 $(t0 + $offi)
154 movi %r0 $(t0 + $offui)
156 beqi Lui %r1 0x80000001
159 movi %r0 $(t0 + $offl)
161 beqi Ll %r1 0x8000000000000001
165 movi %r0 $(t0 + $offf)
170 movi %r0 $(t0 + $offd)
176 LDST(v0, v1, v2, r0, r1, r2, f0, f1, f2, f3, f4, f5)
177 // just to know did not abort