Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 
0003 #ifndef __IWMMXT_H__
0004 #define __IWMMXT_H__
0005 
0006 .irp b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
0007 .set .LwR\b, \b
0008 .set .Lr\b, \b
0009 .endr
0010 
0011 .set .LwCSSF, 0x2
0012 .set .LwCASF, 0x3
0013 .set .LwCGR0, 0x8
0014 .set .LwCGR1, 0x9
0015 .set .LwCGR2, 0xa
0016 .set .LwCGR3, 0xb
0017 
0018 .macro wldrd, reg:req, base:req, offset:req
0019 .inst 0xedd00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
0020 .endm
0021 
0022 .macro wldrw, reg:req, base:req, offset:req
0023 .inst 0xfd900100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
0024 .endm
0025 
0026 .macro wstrd, reg:req, base:req, offset:req
0027 .inst 0xedc00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
0028 .endm
0029 
0030 .macro wstrw, reg:req, base:req, offset:req
0031 .inst 0xfd800100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
0032 .endm
0033 
0034 #ifdef __clang__
0035 
0036 #define wCon c1
0037 
0038 .macro tmrc, dest:req, control:req
0039 mrc p1, 0, \dest, \control, c0, 0
0040 .endm
0041 
0042 .macro tmcr, control:req, src:req
0043 mcr p1, 0, \src, \control, c0, 0
0044 .endm
0045 #endif
0046 
0047 #endif