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