blob: 2dc2f523c1a520cfded6edb28f610a437b09194a [file] [log] [blame]
/*
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
.macro INIT
cdp p4,#0,c0,c0,c0,#0
.endm
.macro ADD0
cdp p4,#0,c0,c0,c1,#0
.endm
.macro ADD1
cdp p4,#1,c0,c0,c1,#0
.endm
.macro SUB1
cdp p4,#1,c0,c0,c1,#1
.endm
.macro SQR0
cdp p4,#2,c0,c0,c1,#0
.endm
.macro NORM
cdp p4,#8,c0,c0,c2,#0
.endm
.macro NRDF
cdp p4,#8,c0,c0,c2,#1
.endm
.macro NRDD
cdp p4,#8,c0,c0,c0,#1
.endm
.macro NTDC
cdp p4,#8,c0,c0,c0,#2
.endm
.macro NRDC
cdp p4,#8,c0,c0,c0,#3
.endm
.macro WXMD rl,rh
mcrr p4,#0,\rl,\rh,c0
.endm
.macro WYMD rl,rh
mcrr p4,#0,\rl,\rh,c1
.endm
.macro WEFD rl,rh
mcrr p4,#0,\rl,\rh,c2
.endm
.macro WXUP rl,rh
mcrr p4,#1,\rl,\rh,c0
.endm
.macro WYUP rl,rh
mcrr p4,#1,\rl,\rh,c1
.endm
.macro WXYU rl,rh
mcrr p4,#1,\rl,\rh,c2
.endm
.macro WXMS rl,rh
mcrr p4,#2,\rl,\rh,c0
.endm
.macro WXMO rl,rh
mcrr p4,#3,\rl,\rh,c0
.endm
.macro WXDD rl,rh
mcrr p4,#4,\rl,\rh,c0
.endm
.macro WXDQ rl,rh
mcrr p4,#5,\rl,\rh,c0
.endm
.macro WXUC rl,rh
mcrr p4,#6,\rl,\rh,c0
.endm
.macro WXIC rl,rh
mcrr p4,#7,\rl,\rh,c0
.endm
.macro WXDC rl,rh
mcrr p4,#8,\rl,\rh,c0
.endm
.macro WXFC rl,rh
mcrr p4,#9,\rl,\rh,c2
.endm
.macro WXFM rl,rh
mcrr p4,#10,\rl,\rh,c0
.endm
.macro WXFD rl,rh
mcrr p4,#11,\rl,\rh,c0
.endm
.macro WXFQ rl,rh
mcrr p4,#12,\rl,\rh,c0
.endm
.macro RXVD rt
mrc p4,#0,\rt,c0,c0,#0
.endm
.macro RCMP rt
mrc p4,#0,\rt,c0,c0,#1
.endm
.macro RDFA rt
mrc p4,#0,\rt,c0,c2,#0
.endm
.macro RDFS rt
mrc p4,#0,\rt,c0,c2,#1
.endm
.macro RDFM rt
mrc p4,#0,\rt,c0,c2,#2
.endm
.macro RDFD rt
mrc p4,#0,\rt,c0,c2,#3
.endm
.macro RDFQ rt
mrc p4,#0,\rt,c0,c2,#4
.endm
.macro RDFG rt
mrc p4,#0,\rt,c0,c2,#5
.endm
.macro RDIC rt
mrc p4,#0,\rt,c0,c3,#0
.endm
.macro RDUC rt
mrc p4,#0,\rt,c0,c3,#1
.endm
.macro RXMD rl,rh
mrrc p4,#0,\rl,\rh,c8
.endm
.macro RYMD rl,rh
mrrc p4,#0,\rl,\rh,c9
.endm
.macro REFD rl,rh
mrrc p4,#0,\rl,\rh,c10
.endm
.macro RXMS rl,rh,s
mrrc p4,#\s,\rl,\rh,c4
.endm
.macro RYMS rl,rh,s
mrrc p4,#\s,\rl,\rh,c5
.endm
.macro RXYH rl,rh
mrrc p4,#1,\rl,\rh,c1
.endm
.macro RYMR rl,rh
mrrc p4,#2,\rl,\rh,c1
.endm
.macro RXMQ rl,rh
mrrc p4,#4,\rl,\rh,c1
.endm
.macro RDDA rl,rh
mrrc p4,#1,\rl,\rh,c0
.endm
.macro RDDS rl,rh
mrrc p4,#3,\rl,\rh,c0
.endm
.macro RDDM rl,rh
mrrc p4,#5,\rl,\rh,c0
.endm
.macro RDDD rl,rh
mrrc p4,#7,\rl,\rh,c0
.endm
.macro RDDQ rl,rh
mrrc p4,#9,\rl,\rh,c0
.endm
.macro RDDG rl,rh
mrrc p4,#11,\rl,\rh,c0
.endm
.macro PXVD rt
mrc2 p4,#0,\rt,c0,c0,#0
.endm
.macro PCMP rt
mrc2 p4,#0,\rt,c0,c0,#1
.endm
.macro PDFA rt
mrc2 p4,#0,\rt,c0,c2,#0
.endm
.macro PDFS rt
mrc2 p4,#0,\rt,c0,c2,#1
.endm
.macro PDFM rt
mrc2 p4,#0,\rt,c0,c2,#2
.endm
.macro PDFD rt
mrc2 p4,#0,\rt,c0,c2,#3
.endm
.macro PDFQ rt
mrc2 p4,#0,\rt,c0,c2,#4
.endm
.macro PDFG rt
mrc2 p4,#0,\rt,c0,c2,#5
.endm
.macro PDIC rt
mrc2 p4,#0,\rt,c0,c3,#0
.endm
.macro PDUC rt
mrc2 p4,#0,\rt,c0,c3,#1
.endm
.macro PXMD rl,rh
mrrc2 p4,#0,\rl,\rh,c8
.endm
.macro PYMD rl,rh
mrrc2 p4,#0,\rl,\rh,c9
.endm
.macro PEFD rl,rh
mrrc2 p4,#0,\rl,\rh,c10
.endm
.macro PXMS rl,rh,s
mrrc2 p4,#\s,\rl,\rh,c4
.endm
.macro PYMS rl,rh,s
mrrc2 p4,#\s,\rl,\rh,c5
.endm
.macro PXYH rl,rh
mrrc2 p4,#1,\rl,\rh,c1
.endm
.macro PYMR rl,rh
mrrc2 p4,#2,\rl,\rh,c1
.endm
.macro PXMQ rl,rh
mrrc2 p4,#4,\rl,\rh,c1
.endm
.macro PDDA rl,rh
mrrc2 p4,#1,\rl,\rh,c0
.endm
.macro PDDS rl,rh
mrrc2 p4,#3,\rl,\rh,c0
.endm
.macro PDDM rl,rh
mrrc2 p4,#5,\rl,\rh,c0
.endm
.macro PDDD rl,rh
mrrc2 p4,#7,\rl,\rh,c0
.endm
.macro PDDQ rl,rh
mrrc2 p4,#9,\rl,\rh,c0
.endm
.macro PDDG rl,rh
mrrc2 p4,#11,\rl,\rh,c0
.endm