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/] [addc.cgs] - Rev 26

Compare with Previous | Blame | View Log

# sh testcase for addc $rm, $rn -*- Asm -*-
# mach: all
# as: -isa=shcompact
# ld: -m shelf32

        .include "compact/testutils.inc"

        # Initialise some registers with values which help us to verify
        # that the correct source registers are used by the ADDC instruction.

        .macro init
        mov #0, r0
        mov #1, r1
        mov #2, r2
        mov #3, r3
        mov #5, r5
        mov #15, r15
        .endm
        
        start

        init
add:
        clrt
        addc r0, r0
        assert r0, #0
        clrt
        addc r0, r1
        assert r1, #1
        clrt
        addc r1, r2
        assert r2, #3
        clrt
        addc r3, r5
        assert r5, #8
        clrt
        addc r5, r5
        assert r5, #16
        clrt
        addc r15, r1
        assert r1, #16

        init
addt:
        sett
        addc r0, r0
        assert r0, #1
        sett
        addc r0, r1
        assert r1, #3
        sett
        addc r1, r2
        assert r2, #6
        sett
        addc r3, r5
        assert r5, #9
        sett
        addc r5, r5
        assert r5, #19
        sett
        addc r15, r1
        assert r1, #19

        bra next
        nop

wrong:
        fail

next:
        init
large:
        clrt
        mov #1, r0
        neg r0, r0
        mov #2, r1
        addc r0, r1
        assert r1, #1

        init
larget:
        sett
        mov #1, r0
        neg r0, r0
        mov #2, r1
        addc r0, r1
        assert r1, #2

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.