Implement .csa.
--HG-- branch : dtrg-videocore rename : mach/vc4/libem/dummy.s => mach/vc4/libem/csa.s
This commit is contained in:
parent
2ee79ab0b2
commit
d7efb0a32c
3 changed files with 35 additions and 14 deletions
mach/vc4/libem
33
mach/vc4/libem/csa.s
Normal file
33
mach/vc4/libem/csa.s
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#
|
||||||
|
/*
|
||||||
|
* VideoCore IV support library for the ACK
|
||||||
|
* © 2013 David Given
|
||||||
|
* This file is redistributable under the terms of the 3-clause BSD license.
|
||||||
|
* See the file 'Copying' in the root of the distribution for the full text.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "videocore.h"
|
||||||
|
|
||||||
|
.define .csa
|
||||||
|
.sect .data
|
||||||
|
.csa:
|
||||||
|
! on entry:
|
||||||
|
! r0 = un-fixed-up descriptor
|
||||||
|
! r1 = value
|
||||||
|
add r0, gp
|
||||||
|
|
||||||
|
ld r2, 4 (r0) ! check lower bound
|
||||||
|
cmp r1, r2
|
||||||
|
mov.lo r1, r2 ! r1 = min(r1, r2)
|
||||||
|
|
||||||
|
sub r1, r2 ! adjust value to be 0-based
|
||||||
|
|
||||||
|
ld r2, 8 (r0) ! check upper bound
|
||||||
|
cmp r1, r2
|
||||||
|
mov.hi r1, r2 ! r1 = max(r1, r2)
|
||||||
|
|
||||||
|
add r1, #3
|
||||||
|
ld r1, (r0, r1) ! load destination address
|
||||||
|
add r1, gp
|
||||||
|
b r1 ! ...and go
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#
|
|
||||||
/*
|
|
||||||
* VideoCore IV support library for the ACK
|
|
||||||
* © 2013 David Given
|
|
||||||
* This file is redistributable under the terms of the 3-clause BSD license.
|
|
||||||
* See the file 'Copying' in the root of the distribution for the full text.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "videocore.h"
|
|
||||||
|
|
||||||
.define __dummy
|
|
||||||
.sect .data
|
|
||||||
__dummy:
|
|
||||||
|
|
|
@ -13,3 +13,5 @@
|
||||||
.sect .data
|
.sect .data
|
||||||
.sect .bss
|
.sect .bss
|
||||||
|
|
||||||
|
#define gp r15
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue