1 @ LDC group relocation tests that are supposed to fail during encoding.
5 @ LDC/LDCL/LDC2/LDC2L/STC/STCL/STC2/STC2L
7 .macro ldctest load store cst
9 \load 0, c0, [r0, #:pc_g0:(f + \cst)]
10 \load 0, c0, [r0, #:pc_g1:(f + \cst)]
11 \load 0, c0, [r0, #:pc_g2:(f + \cst)]
13 \load 0, c0, [r0, #:sb_g0:(f + \cst)]
14 \load 0, c0, [r0, #:sb_g1:(f + \cst)]
15 \load 0, c0, [r0, #:sb_g2:(f + \cst)]
17 \store 0, c0, [r0, #:pc_g0:(f + \cst)]
18 \store 0, c0, [r0, #:pc_g1:(f + \cst)]
19 \store 0, c0, [r0, #:pc_g2:(f + \cst)]
21 \store 0, c0, [r0, #:sb_g0:(f + \cst)]
22 \store 0, c0, [r0, #:sb_g1:(f + \cst)]
23 \store 0, c0, [r0, #:sb_g2:(f + \cst)]
25 \load 0, c0, [r0, #:pc_g0:(f - \cst)]
26 \load 0, c0, [r0, #:pc_g1:(f - \cst)]
27 \load 0, c0, [r0, #:pc_g2:(f - \cst)]
29 \load 0, c0, [r0, #:sb_g0:(f - \cst)]
30 \load 0, c0, [r0, #:sb_g1:(f - \cst)]
31 \load 0, c0, [r0, #:sb_g2:(f - \cst)]
33 \store 0, c0, [r0, #:pc_g0:(f - \cst)]
34 \store 0, c0, [r0, #:pc_g1:(f - \cst)]
35 \store 0, c0, [r0, #:pc_g2:(f - \cst)]
37 \store 0, c0, [r0, #:sb_g0:(f - \cst)]
38 \store 0, c0, [r0, #:sb_g1:(f - \cst)]
39 \store 0, c0, [r0, #:sb_g2:(f - \cst)]
46 ldctest ldc2l stc2l 0x1
49 ldctest ldcl stcl 0x808
50 ldctest ldc2 stc2 0x808
51 ldctest ldc2l stc2l 0x808
53 @ LDFS/STFS/LDFD/STFD/LDFE/STFE/LDFP/STFP
57 .macro fpa_test load store cst
59 \load f0, [r0, #:pc_g0:(f + \cst)]
60 \load f0, [r0, #:pc_g1:(f + \cst)]
61 \load f0, [r0, #:pc_g2:(f + \cst)]
63 \load f0, [r0, #:sb_g0:(f + \cst)]
64 \load f0, [r0, #:sb_g1:(f + \cst)]
65 \load f0, [r0, #:sb_g2:(f + \cst)]
67 \store f0, [r0, #:pc_g0:(f + \cst)]
68 \store f0, [r0, #:pc_g1:(f + \cst)]
69 \store f0, [r0, #:pc_g2:(f + \cst)]
71 \store f0, [r0, #:sb_g0:(f + \cst)]
72 \store f0, [r0, #:sb_g1:(f + \cst)]
73 \store f0, [r0, #:sb_g2:(f + \cst)]
75 \load f0, [r0, #:pc_g0:(f - \cst)]
76 \load f0, [r0, #:pc_g1:(f - \cst)]
77 \load f0, [r0, #:pc_g2:(f - \cst)]
79 \load f0, [r0, #:sb_g0:(f - \cst)]
80 \load f0, [r0, #:sb_g1:(f - \cst)]
81 \load f0, [r0, #:sb_g2:(f - \cst)]
83 \store f0, [r0, #:pc_g0:(f - \cst)]
84 \store f0, [r0, #:pc_g1:(f - \cst)]
85 \store f0, [r0, #:pc_g2:(f - \cst)]
87 \store f0, [r0, #:sb_g0:(f - \cst)]
88 \store f0, [r0, #:sb_g1:(f - \cst)]
89 \store f0, [r0, #:sb_g2:(f - \cst)]
93 fpa_test ldfs stfs 0x1
94 fpa_test ldfd stfd 0x1
95 fpa_test ldfe stfe 0x1
96 fpa_test ldfp stfp 0x1
98 fpa_test ldfs stfs 0x808
99 fpa_test ldfd stfd 0x808
100 fpa_test ldfe stfe 0x808
101 fpa_test ldfp stfp 0x808
107 .macro vfp_test load store reg cst
109 \load \reg, [r0, #:pc_g0:(f + \cst)]
110 \load \reg, [r0, #:pc_g1:(f + \cst)]
111 \load \reg, [r0, #:pc_g2:(f + \cst)]
113 \load \reg, [r0, #:sb_g0:(f + \cst)]
114 \load \reg, [r0, #:sb_g1:(f + \cst)]
115 \load \reg, [r0, #:sb_g2:(f + \cst)]
117 \store \reg, [r0, #:pc_g0:(f + \cst)]
118 \store \reg, [r0, #:pc_g1:(f + \cst)]
119 \store \reg, [r0, #:pc_g2:(f + \cst)]
121 \store \reg, [r0, #:sb_g0:(f + \cst)]
122 \store \reg, [r0, #:sb_g1:(f + \cst)]
123 \store \reg, [r0, #:sb_g2:(f + \cst)]
125 \load \reg, [r0, #:pc_g0:(f - \cst)]
126 \load \reg, [r0, #:pc_g1:(f - \cst)]
127 \load \reg, [r0, #:pc_g2:(f - \cst)]
129 \load \reg, [r0, #:sb_g0:(f - \cst)]
130 \load \reg, [r0, #:sb_g1:(f - \cst)]
131 \load \reg, [r0, #:sb_g2:(f - \cst)]
133 \store \reg, [r0, #:pc_g0:(f - \cst)]
134 \store \reg, [r0, #:pc_g1:(f - \cst)]
135 \store \reg, [r0, #:pc_g2:(f - \cst)]
137 \store \reg, [r0, #:sb_g0:(f - \cst)]
138 \store \reg, [r0, #:sb_g1:(f - \cst)]
139 \store \reg, [r0, #:sb_g2:(f - \cst)]
143 vfp_test flds fsts s0 0x1
144 vfp_test flds fsts s0 0x808
148 vfp_test fldd fstd d0 0x1
149 vfp_test fldd fstd d0 0x808
153 vfp_test vldr vstr d0 0x1
154 vfp_test vldr vstr d0 0x808
156 @ CFLDRS/CFLDRD/CFLDR32/CFLDR64/CFSTRS/CFSTRD/CFSTR32/CFSTR64
160 vfp_test cfldrs cfstrs mvf0 0x1
161 vfp_test cfldrd cfstrd mvd0 0x1
162 vfp_test cfldr32 cfstr32 mvfx0 0x1
163 vfp_test cfldr64 cfstr64 mvdx0 0x1
165 vfp_test cfldrs cfstrs mvf0 0x808
166 vfp_test cfldrd cfstrd mvd0 0x808
167 vfp_test cfldr32 cfstr32 mvfx0 0x808
168 vfp_test cfldr64 cfstr64 mvdx0 0x808