URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 33 |
# sh testcase for ftrv xmtrx, $fvn -*- Asm -*-
|
# sh testcase for ftrv xmtrx, $fvn -*- Asm -*-
|
# mach: all
|
# mach: all
|
# as: -isa=shcompact
|
# as: -isa=shcompact
|
# ld: -m shelf32
|
# ld: -m shelf32
|
|
|
.include "compact/testutils.inc"
|
.include "compact/testutils.inc"
|
|
|
# set the fr bit in the fpscr
|
# set the fr bit in the fpscr
|
.macro _setfr
|
.macro _setfr
|
sts fpscr, r7
|
sts fpscr, r7
|
mov #32, r8
|
mov #32, r8
|
shll16 r8
|
shll16 r8
|
or r8, r7
|
or r8, r7
|
lds r7, fpscr
|
lds r7, fpscr
|
.endm
|
.endm
|
|
|
# clear the fr bit
|
# clear the fr bit
|
.macro _clrfr
|
.macro _clrfr
|
sts fpscr, r7
|
sts fpscr, r7
|
mov #32, r8
|
mov #32, r8
|
shll16 r8
|
shll16 r8
|
not r8, r8
|
not r8, r8
|
and r8, r7
|
and r8, r7
|
lds r7, fpscr
|
lds r7, fpscr
|
.endm
|
.endm
|
|
|
.macro incr old new
|
.macro incr old new
|
fldi1 \new
|
fldi1 \new
|
fadd \old, \new
|
fadd \old, \new
|
.endm
|
.endm
|
|
|
start
|
start
|
_setfr
|
_setfr
|
popmtrx:
|
popmtrx:
|
# 1.0.
|
# 1.0.
|
fldi1 fr0
|
fldi1 fr0
|
# 2.0.
|
# 2.0.
|
fldi1 fr1
|
fldi1 fr1
|
fadd fr1, fr1
|
fadd fr1, fr1
|
|
|
incr fr1, fr2
|
incr fr1, fr2
|
incr fr2, fr3
|
incr fr2, fr3
|
incr fr3, fr4
|
incr fr3, fr4
|
incr fr4, fr5
|
incr fr4, fr5
|
incr fr5, fr6
|
incr fr5, fr6
|
incr fr6, fr7
|
incr fr6, fr7
|
incr fr7, fr8
|
incr fr7, fr8
|
incr fr8, fr9
|
incr fr8, fr9
|
incr fr9, fr10
|
incr fr9, fr10
|
incr fr10, fr11
|
incr fr10, fr11
|
incr fr11, fr12
|
incr fr11, fr12
|
incr fr12, fr13
|
incr fr12, fr13
|
incr fr13, fr14
|
incr fr13, fr14
|
incr fr14, fr15
|
incr fr14, fr15
|
|
|
popvect:
|
popvect:
|
# Swtich fp banks.
|
# Swtich fp banks.
|
_clrfr
|
_clrfr
|
fldi1 fr4
|
fldi1 fr4
|
fldi1 fr5
|
fldi1 fr5
|
fadd fr5, fr5
|
fadd fr5, fr5
|
fldi1 fr6
|
fldi1 fr6
|
fadd fr5, fr6
|
fadd fr5, fr6
|
fldi1 fr7
|
fldi1 fr7
|
fadd fr6, fr7
|
fadd fr6, fr7
|
|
|
ftrv:
|
ftrv:
|
# fr[4,7] should contain the results:
|
# fr[4,7] should contain the results:
|
# { 30, 70, 110, 150 }.
|
# { 30, 70, 110, 150 }.
|
ftrv xmtrx, fv4
|
ftrv xmtrx, fv4
|
|
|
okay:
|
okay:
|
pass
|
pass
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.