1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| /* SPDX-License-Identifier: GPL-2.0 */
|
| #ifndef __IWMMXT_H__
| #define __IWMMXT_H__
|
| .irp b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
| .set .LwR\b, \b
| .set .Lr\b, \b
| .endr
|
| .set .LwCSSF, 0x2
| .set .LwCASF, 0x3
| .set .LwCGR0, 0x8
| .set .LwCGR1, 0x9
| .set .LwCGR2, 0xa
| .set .LwCGR3, 0xb
|
| .macro wldrd, reg:req, base:req, offset:req
| .inst 0xedd00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
| .endm
|
| .macro wldrw, reg:req, base:req, offset:req
| .inst 0xfd900100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
| .endm
|
| .macro wstrd, reg:req, base:req, offset:req
| .inst 0xedc00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
| .endm
|
| .macro wstrw, reg:req, base:req, offset:req
| .inst 0xfd800100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
| .endm
|
| #ifdef __clang__
|
| #define wCon c1
|
| .macro tmrc, dest:req, control:req
| mrc p1, 0, \dest, \control, c0, 0
| .endm
|
| .macro tmcr, control:req, src:req
| mcr p1, 0, \src, \control, c0, 0
| .endm
| #endif
|
| #endif
|
|