1/*
2 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7.macro INIT
8 cdp p4,#0,c0,c0,c0,#0
9.endm
10.macro ADD0
11 cdp p4,#0,c0,c0,c1,#0
12.endm
13.macro ADD1
14 cdp p4,#1,c0,c0,c1,#0
15.endm
16.macro SUB1
17 cdp p4,#1,c0,c0,c1,#1
18.endm
19.macro SQR0
20 cdp p4,#2,c0,c0,c1,#0
21.endm
22.macro NORM
23 cdp p4,#8,c0,c0,c2,#0
24.endm
25.macro NRDF
26 cdp p4,#8,c0,c0,c2,#1
27.endm
28.macro NRDD
29 cdp p4,#8,c0,c0,c0,#1
30.endm
31.macro NTDC
32 cdp p4,#8,c0,c0,c0,#2
33.endm
34.macro NRDC
35 cdp p4,#8,c0,c0,c0,#3
36.endm
37.macro WXMD rl,rh
38 mcrr p4,#0,\rl,\rh,c0
39.endm
40.macro WYMD rl,rh
41 mcrr p4,#0,\rl,\rh,c1
42.endm
43.macro WEFD rl,rh
44 mcrr p4,#0,\rl,\rh,c2
45.endm
46.macro WXUP rl,rh
47 mcrr p4,#1,\rl,\rh,c0
48.endm
49.macro WYUP rl,rh
50 mcrr p4,#1,\rl,\rh,c1
51.endm
52.macro WXYU rl,rh
53 mcrr p4,#1,\rl,\rh,c2
54.endm
55.macro WXMS rl,rh
56 mcrr p4,#2,\rl,\rh,c0
57.endm
58.macro WXMO rl,rh
59 mcrr p4,#3,\rl,\rh,c0
60.endm
61.macro WXDD rl,rh
62 mcrr p4,#4,\rl,\rh,c0
63.endm
64.macro WXDQ rl,rh
65 mcrr p4,#5,\rl,\rh,c0
66.endm
67.macro WXUC rl,rh
68 mcrr p4,#6,\rl,\rh,c0
69.endm
70.macro WXIC rl,rh
71 mcrr p4,#7,\rl,\rh,c0
72.endm
73.macro WXDC rl,rh
74 mcrr p4,#8,\rl,\rh,c0
75.endm
76.macro WXFC rl,rh
77 mcrr p4,#9,\rl,\rh,c2
78.endm
79.macro WXFM rl,rh
80 mcrr p4,#10,\rl,\rh,c0
81.endm
82.macro WXFD rl,rh
83 mcrr p4,#11,\rl,\rh,c0
84.endm
85.macro WXFQ rl,rh
86 mcrr p4,#12,\rl,\rh,c0
87.endm
88.macro RXVD rt
89 mrc p4,#0,\rt,c0,c0,#0
90.endm
91.macro RCMP rt
92 mrc p4,#0,\rt,c0,c0,#1
93.endm
94.macro RDFA rt
95 mrc p4,#0,\rt,c0,c2,#0
96.endm
97.macro RDFS rt
98 mrc p4,#0,\rt,c0,c2,#1
99.endm
100.macro RDFM rt
101 mrc p4,#0,\rt,c0,c2,#2
102.endm
103.macro RDFD rt
104 mrc p4,#0,\rt,c0,c2,#3
105.endm
106.macro RDFQ rt
107 mrc p4,#0,\rt,c0,c2,#4
108.endm
109.macro RDFG rt
110 mrc p4,#0,\rt,c0,c2,#5
111.endm
112.macro RDIC rt
113 mrc p4,#0,\rt,c0,c3,#0
114.endm
115.macro RDUC rt
116 mrc p4,#0,\rt,c0,c3,#1
117.endm
118.macro RXMD rl,rh
119 mrrc p4,#0,\rl,\rh,c8
120.endm
121.macro RYMD rl,rh
122 mrrc p4,#0,\rl,\rh,c9
123.endm
124.macro REFD rl,rh
125 mrrc p4,#0,\rl,\rh,c10
126.endm
127.macro RXMS rl,rh,s
128 mrrc p4,#\s,\rl,\rh,c4
129.endm
130.macro RYMS rl,rh,s
131 mrrc p4,#\s,\rl,\rh,c5
132.endm
133.macro RXYH rl,rh
134 mrrc p4,#1,\rl,\rh,c1
135.endm
136.macro RYMR rl,rh
137 mrrc p4,#2,\rl,\rh,c1
138.endm
139.macro RXMQ rl,rh
140 mrrc p4,#4,\rl,\rh,c1
141.endm
142.macro RDDA rl,rh
143 mrrc p4,#1,\rl,\rh,c0
144.endm
145.macro RDDS rl,rh
146 mrrc p4,#3,\rl,\rh,c0
147.endm
148.macro RDDM rl,rh
149 mrrc p4,#5,\rl,\rh,c0
150.endm
151.macro RDDD rl,rh
152 mrrc p4,#7,\rl,\rh,c0
153.endm
154.macro RDDQ rl,rh
155 mrrc p4,#9,\rl,\rh,c0
156.endm
157.macro RDDG rl,rh
158 mrrc p4,#11,\rl,\rh,c0
159.endm
160.macro PXVD rt
161 mrc2 p4,#0,\rt,c0,c0,#0
162.endm
163.macro PCMP rt
164 mrc2 p4,#0,\rt,c0,c0,#1
165.endm
166.macro PDFA rt
167 mrc2 p4,#0,\rt,c0,c2,#0
168.endm
169.macro PDFS rt
170 mrc2 p4,#0,\rt,c0,c2,#1
171.endm
172.macro PDFM rt
173 mrc2 p4,#0,\rt,c0,c2,#2
174.endm
175.macro PDFD rt
176 mrc2 p4,#0,\rt,c0,c2,#3
177.endm
178.macro PDFQ rt
179 mrc2 p4,#0,\rt,c0,c2,#4
180.endm
181.macro PDFG rt
182 mrc2 p4,#0,\rt,c0,c2,#5
183.endm
184.macro PDIC rt
185 mrc2 p4,#0,\rt,c0,c3,#0
186.endm
187.macro PDUC rt
188 mrc2 p4,#0,\rt,c0,c3,#1
189.endm
190.macro PXMD rl,rh
191 mrrc2 p4,#0,\rl,\rh,c8
192.endm
193.macro PYMD rl,rh
194 mrrc2 p4,#0,\rl,\rh,c9
195.endm
196.macro PEFD rl,rh
197 mrrc2 p4,#0,\rl,\rh,c10
198.endm
199.macro PXMS rl,rh,s
200 mrrc2 p4,#\s,\rl,\rh,c4
201.endm
202.macro PYMS rl,rh,s
203 mrrc2 p4,#\s,\rl,\rh,c5
204.endm
205.macro PXYH rl,rh
206 mrrc2 p4,#1,\rl,\rh,c1
207.endm
208.macro PYMR rl,rh
209 mrrc2 p4,#2,\rl,\rh,c1
210.endm
211.macro PXMQ rl,rh
212 mrrc2 p4,#4,\rl,\rh,c1
213.endm
214.macro PDDA rl,rh
215 mrrc2 p4,#1,\rl,\rh,c0
216.endm
217.macro PDDS rl,rh
218 mrrc2 p4,#3,\rl,\rh,c0
219.endm
220.macro PDDM rl,rh
221 mrrc2 p4,#5,\rl,\rh,c0
222.endm
223.macro PDDD rl,rh
224 mrrc2 p4,#7,\rl,\rh,c0
225.endm
226.macro PDDQ rl,rh
227 mrrc2 p4,#9,\rl,\rh,c0
228.endm
229.macro PDDG rl,rh
230 mrrc2 p4,#11,\rl,\rh,c0
231.endm
232
233