OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [sh64/] [compact/] [ftrv.cgs] - Rev 26

Compare with Previous | Blame | View Log

# sh testcase for ftrv xmtrx, $fvn -*- Asm -*-
# mach: all
# as: -isa=shcompact
# ld: -m shelf32

        .include "compact/testutils.inc"

        # set the fr bit in the fpscr
        .macro _setfr
        sts fpscr, r7
        mov #32, r8
        shll16 r8
        or r8, r7
        lds r7, fpscr
        .endm

        # clear the fr bit
        .macro _clrfr
        sts fpscr, r7
        mov #32, r8
        shll16 r8
        not r8, r8
        and r8, r7
        lds r7, fpscr
        .endm

        .macro incr old new
        fldi1 \new
        fadd \old, \new
        .endm

        start
        _setfr
popmtrx:
        # 1.0.
        fldi1 fr0
        # 2.0.
        fldi1 fr1
        fadd fr1, fr1

        incr fr1, fr2
        incr fr2, fr3
        incr fr3, fr4
        incr fr4, fr5
        incr fr5, fr6
        incr fr6, fr7
        incr fr7, fr8
        incr fr8, fr9
        incr fr9, fr10
        incr fr10, fr11
        incr fr11, fr12
        incr fr12, fr13
        incr fr13, fr14
        incr fr14, fr15

popvect:
        # Swtich fp banks.
        _clrfr
        fldi1 fr4
        fldi1 fr5
        fadd fr5, fr5
        fldi1 fr6
        fadd fr5, fr6
        fldi1 fr7
        fadd fr6, fr7

ftrv:
        # fr[4,7] should contain the results:
        # { 30, 70, 110, 150 }.
        ftrv xmtrx, fv4

okay:
        pass

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.