4b452fd5e3af59625a5914fd508ceb026fee1270
1 /* $Id: sparc_matrix.h,v 1.1 2001/05/23 14:27:03 brianp Exp $ */
20 /* Seems to work, disable if unaligned traps begin to appear... -DaveM */
25 #define LDMATRIX_0_1_2_3_12_13_14_15(BASE) \
26 ld [BASE + ( 0 * 0x4)], M0; \
27 ld [BASE + ( 1 * 0x4)], M1; \
28 ld [BASE + ( 2 * 0x4)], M2; \
29 ld [BASE + ( 3 * 0x4)], M3; \
30 ld [BASE + (12 * 0x4)], M12; \
31 ld [BASE + (13 * 0x4)], M13; \
32 ld [BASE + (14 * 0x4)], M14; \
33 ld [BASE + (15 * 0x4)], M15
35 #define LDMATRIX_0_1_12_13(BASE) \
36 ld [BASE + ( 0 * 0x4)], M0; \
37 ld [BASE + ( 1 * 0x4)], M1; \
38 ld [BASE + (12 * 0x4)], M12; \
39 ld [BASE + (13 * 0x4)], M13
41 #define LDMATRIX_0_12_13(BASE) \
42 ld [BASE + ( 0 * 0x4)], M0; \
43 ld [BASE + (12 * 0x4)], M12; \
44 ld [BASE + (13 * 0x4)], M13
46 #define LDMATRIX_0_1_2_12_13_14(BASE) \
47 ld [BASE + ( 0 * 0x4)], M0; \
48 ld [BASE + ( 1 * 0x4)], M1; \
49 ld [BASE + ( 2 * 0x4)], M2; \
50 ld [BASE + (12 * 0x4)], M12; \
51 ld [BASE + (13 * 0x4)], M13; \
52 ld [BASE + (14 * 0x4)], M14
54 #define LDMATRIX_0_12_13_14(BASE) \
55 ld [BASE + ( 0 * 0x4)], M0; \
56 ld [BASE + (12 * 0x4)], M12; \
57 ld [BASE + (13 * 0x4)], M13; \
58 ld [BASE + (14 * 0x4)], M14
60 #define LDMATRIX_0_14(BASE) \
61 ld [BASE + ( 0 * 0x4)], M0; \
62 ld [BASE + (14 * 0x4)], M14
64 #define LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(BASE) \
65 ld [BASE + ( 0 * 0x4)], M0; \
66 ld [BASE + ( 1 * 0x4)], M1; \
67 ld [BASE + ( 2 * 0x4)], M2; \
68 ld [BASE + ( 3 * 0x4)], M3; \
69 ld [BASE + ( 4 * 0x4)], M4; \
70 ld [BASE + ( 5 * 0x4)], M5; \
71 ld [BASE + ( 6 * 0x4)], M6; \
72 ld [BASE + ( 7 * 0x4)], M7; \
73 ld [BASE + (12 * 0x4)], M12; \
74 ld [BASE + (13 * 0x4)], M13; \
75 ld [BASE + (14 * 0x4)], M14; \
76 ld [BASE + (15 * 0x4)], M15
78 #define LDMATRIX_0_1_4_5_12_13(BASE) \
79 ld [BASE + ( 0 * 0x4)], M0; \
80 ld [BASE + ( 1 * 0x4)], M1; \
81 ld [BASE + ( 4 * 0x4)], M4; \
82 ld [BASE + ( 5 * 0x4)], M5; \
83 ld [BASE + (12 * 0x4)], M12; \
84 ld [BASE + (13 * 0x4)], M13
86 #define LDMATRIX_0_5_12_13(BASE) \
87 ld [BASE + ( 0 * 0x4)], M0; \
88 ld [BASE + ( 5 * 0x4)], M5; \
89 ld [BASE + (12 * 0x4)], M12; \
90 ld [BASE + (13 * 0x4)], M13
92 #define LDMATRIX_0_1_2_3_4_5_6_12_13_14(BASE) \
93 ld [BASE + ( 0 * 0x4)], M0; \
94 ld [BASE + ( 1 * 0x4)], M1; \
95 ld [BASE + ( 2 * 0x4)], M2; \
96 ld [BASE + ( 3 * 0x4)], M3; \
97 ld [BASE + ( 4 * 0x4)], M4; \
98 ld [BASE + ( 5 * 0x4)], M5; \
99 ld [BASE + ( 6 * 0x4)], M6; \
100 ld [BASE + (12 * 0x4)], M12; \
101 ld [BASE + (13 * 0x4)], M13; \
102 ld [BASE + (14 * 0x4)], M14
104 #define LDMATRIX_0_5_12_13_14(BASE) \
105 ld [BASE + ( 0 * 0x4)], M0; \
106 ld [BASE + ( 5 * 0x4)], M5; \
107 ld [BASE + (12 * 0x4)], M12; \
108 ld [BASE + (13 * 0x4)], M13; \
109 ld [BASE + (14 * 0x4)], M14
111 #define LDMATRIX_0_5_14(BASE) \
112 ld [BASE + ( 0 * 0x4)], M0; \
113 ld [BASE + ( 5 * 0x4)], M5; \
114 ld [BASE + (14 * 0x4)], M14
116 #define LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(BASE) \
117 ld [BASE + ( 0 * 0x4)], M0; \
118 ld [BASE + ( 1 * 0x4)], M1; \
119 ld [BASE + ( 2 * 0x4)], M2; \
120 ld [BASE + ( 3 * 0x4)], M3; \
121 ld [BASE + ( 4 * 0x4)], M4; \
122 ld [BASE + ( 5 * 0x4)], M5; \
123 ld [BASE + ( 6 * 0x4)], M6; \
124 ld [BASE + ( 7 * 0x4)], M7; \
125 ld [BASE + ( 8 * 0x4)], M8; \
126 ld [BASE + ( 9 * 0x4)], M9; \
127 ld [BASE + (10 * 0x4)], M10; \
128 ld [BASE + (11 * 0x4)], M11; \
129 ld [BASE + (12 * 0x4)], M12; \
130 ld [BASE + (13 * 0x4)], M13; \
131 ld [BASE + (14 * 0x4)], M14; \
132 ld [BASE + (15 * 0x4)], M15
134 #define LDMATRIX_0_5_12_13(BASE) \
135 ld [BASE + ( 0 * 0x4)], M0; \
136 ld [BASE + ( 5 * 0x4)], M5; \
137 ld [BASE + (12 * 0x4)], M12; \
138 ld [BASE + (13 * 0x4)], M13
140 #define LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(BASE) \
141 ld [BASE + ( 0 * 0x4)], M0; \
142 ld [BASE + ( 1 * 0x4)], M1; \
143 ld [BASE + ( 2 * 0x4)], M2; \
144 ld [BASE + ( 4 * 0x4)], M4; \
145 ld [BASE + ( 5 * 0x4)], M5; \
146 ld [BASE + ( 6 * 0x4)], M6; \
147 ld [BASE + ( 8 * 0x4)], M8; \
148 ld [BASE + ( 9 * 0x4)], M9; \
149 ld [BASE + (10 * 0x4)], M10; \
150 ld [BASE + (12 * 0x4)], M12; \
151 ld [BASE + (13 * 0x4)], M13; \
152 ld [BASE + (14 * 0x4)], M14
154 #define LDMATRIX_0_5_10_12_13_14(BASE) \
155 ld [BASE + ( 0 * 0x4)], M0; \
156 ld [BASE + ( 5 * 0x4)], M5; \
157 ld [BASE + (10 * 0x4)], M10; \
158 ld [BASE + (12 * 0x4)], M12; \
159 ld [BASE + (13 * 0x4)], M13; \
160 ld [BASE + (14 * 0x4)], M14
162 #define LDMATRIX_0_5_8_9_10_14(BASE) \
163 ld [BASE + ( 0 * 0x4)], M0; \
164 ld [BASE + ( 5 * 0x4)], M5; \
165 ld [BASE + ( 8 * 0x4)], M8; \
166 ld [BASE + ( 9 * 0x4)], M9; \
167 ld [BASE + (10 * 0x4)], M10; \
168 ld [BASE + (14 * 0x4)], M14
170 #else /* !(USE_LD_DOUBLE) */
172 #define LDMATRIX_0_1_2_3_12_13_14_15(BASE) \
173 ldd [BASE + ( 0 * 0x4)], M0; \
174 ldd [BASE + ( 2 * 0x4)], M2; \
175 ldd [BASE + (12 * 0x4)], M12; \
176 ldd [BASE + (14 * 0x4)], M14
178 #define LDMATRIX_0_1_12_13(BASE) \
179 ldd [BASE + ( 0 * 0x4)], M0; \
180 ldd [BASE + (12 * 0x4)], M12
182 #define LDMATRIX_0_12_13(BASE) \
183 ld [BASE + ( 0 * 0x4)], M0; \
184 ldd [BASE + (12 * 0x4)], M12
186 #define LDMATRIX_0_1_2_12_13_14(BASE) \
187 ldd [BASE + ( 0 * 0x4)], M0; \
188 ld [BASE + ( 2 * 0x4)], M2; \
189 ldd [BASE + (12 * 0x4)], M12; \
190 ld [BASE + (14 * 0x4)], M14
192 #define LDMATRIX_0_12_13_14(BASE) \
193 ld [BASE + ( 0 * 0x4)], M0; \
194 ldd [BASE + (12 * 0x4)], M12; \
195 ld [BASE + (14 * 0x4)], M14
197 #define LDMATRIX_0_14(BASE) \
198 ld [BASE + ( 0 * 0x4)], M0; \
199 ld [BASE + (14 * 0x4)], M14
201 #define LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(BASE) \
202 ldd [BASE + ( 0 * 0x4)], M0; \
203 ldd [BASE + ( 2 * 0x4)], M2; \
204 ldd [BASE + ( 4 * 0x4)], M4; \
205 ldd [BASE + ( 6 * 0x4)], M6; \
206 ldd [BASE + (12 * 0x4)], M12; \
207 ldd [BASE + (14 * 0x4)], M14
209 #define LDMATRIX_0_5_12_13(BASE) \
210 ld [BASE + ( 0 * 0x4)], M0; \
211 ld [BASE + ( 5 * 0x4)], M5; \
212 ldd [BASE + (12 * 0x4)], M12
214 #define LDMATRIX_0_1_2_3_4_5_6_12_13_14(BASE) \
215 ldd [BASE + ( 0 * 0x4)], M0; \
216 ldd [BASE + ( 2 * 0x4)], M2; \
217 ldd [BASE + ( 4 * 0x4)], M4; \
218 ld [BASE + ( 6 * 0x4)], M6; \
219 ldd [BASE + (12 * 0x4)], M12; \
220 ld [BASE + (14 * 0x4)], M14
222 #define LDMATRIX_0_5_12_13_14(BASE) \
223 ld [BASE + ( 0 * 0x4)], M0; \
224 ld [BASE + ( 5 * 0x4)], M5; \
225 ldd [BASE + (12 * 0x4)], M12; \
226 ld [BASE + (14 * 0x4)], M14
228 #define LDMATRIX_0_5_14(BASE) \
229 ld [BASE + ( 0 * 0x4)], M0; \
230 ld [BASE + ( 5 * 0x4)], M5; \
231 ld [BASE + (14 * 0x4)], M14
233 #define LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(BASE) \
234 ldd [BASE + ( 0 * 0x4)], M0; \
235 ldd [BASE + ( 2 * 0x4)], M2; \
236 ldd [BASE + ( 4 * 0x4)], M4; \
237 ldd [BASE + ( 6 * 0x4)], M6; \
238 ldd [BASE + ( 8 * 0x4)], M8; \
239 ldd [BASE + (10 * 0x4)], M10; \
240 ldd [BASE + (12 * 0x4)], M12; \
241 ldd [BASE + (14 * 0x4)], M14
243 #define LDMATRIX_0_1_4_5_12_13(BASE) \
244 ldd [BASE + ( 0 * 0x4)], M0; \
245 ldd [BASE + ( 4 * 0x4)], M4; \
246 ldd [BASE + (12 * 0x4)], M12
248 #define LDMATRIX_0_5_12_13(BASE) \
249 ld [BASE + ( 0 * 0x4)], M0; \
250 ld [BASE + ( 5 * 0x4)], M5; \
251 ldd [BASE + (12 * 0x4)], M12
253 #define LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(BASE) \
254 ldd [BASE + ( 0 * 0x4)], M0; \
255 ld [BASE + ( 2 * 0x4)], M2; \
256 ldd [BASE + ( 4 * 0x4)], M4; \
257 ld [BASE + ( 6 * 0x4)], M6; \
258 ldd [BASE + ( 8 * 0x4)], M8; \
259 ld [BASE + (10 * 0x4)], M10; \
260 ldd [BASE + (12 * 0x4)], M12; \
261 ld [BASE + (14 * 0x4)], M14
263 #define LDMATRIX_0_5_10_12_13_14(BASE) \
264 ld [BASE + ( 0 * 0x4)], M0; \
265 ld [BASE + ( 5 * 0x4)], M5; \
266 ld [BASE + (10 * 0x4)], M10; \
267 ldd [BASE + (12 * 0x4)], M12; \
268 ld [BASE + (14 * 0x4)], M14
270 #define LDMATRIX_0_5_8_9_10_14(BASE) \
271 ld [BASE + ( 0 * 0x4)], M0; \
272 ld [BASE + ( 5 * 0x4)], M5; \
273 ldd [BASE + ( 8 * 0x4)], M8; \
274 ld [BASE + (10 * 0x4)], M10; \
275 ld [BASE + (14 * 0x4)], M14
277 #endif /* USE_LD_DOUBLE */