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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [frv/] [cswap.cgs] - Rev 840

Compare with Previous | Blame | View Log

# frv testcase for cswap @($GRi,$GRj),$GRk,$CCi,$cond
# mach: all

        .include "testutils.inc"

        start

        .global cswap
cswap:
        set_spr_immed   0x1b1b,cccr

        set_gr_gr               sp,gr20
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc0,1
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc0,1
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xdead,0xbeef,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc4,1
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xdead,0xbeef,gr21
        test_mem_limmed         0xbeef,0xdead,gr20

        set_gr_gr               gr20,sp
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc0,0
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xdead,0xbeef,gr8
        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc0,0
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc4,0
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_gr               gr20,sp
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc1,0
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc1,0
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xdead,0xbeef,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc5,0
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xbeef,0xdead,gr22
        test_mem_limmed         0xdead,0xbeef,gr21
        test_mem_limmed         0xbeef,0xdead,gr20

        set_gr_gr               gr20,sp
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc1,1
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xdead,0xbeef,gr8
        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc1,1
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc5,1
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_gr               gr20,sp
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc2,0
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xdead,0xbeef,gr8
        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc2,1
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc6,0
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_gr               gr20,sp
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr21
        set_mem_limmed          0xbeef,0xdead,sp
        inc_gr_immed            -4,sp
        set_gr_gr               sp,gr22
        set_mem_limmed          0xdead,0xbeef,sp
        inc_gr_immed            4,sp

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            -4,gr7
        cswap @(sp,gr7),gr8,cc3,1
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xdead,0xbeef,gr8
        set_gr_immed            0,gr7
        cswap @(sp,gr7),gr8,cc3,0
        test_gr_limmed          0xdead,0xbeef,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        set_gr_limmed           0xbeef,0xdead,gr8
        set_gr_immed            4,gr7
        cswap @(sp,gr7),gr8,cc7,1
        test_gr_limmed          0xbeef,0xdead,gr8
        test_mem_limmed         0xdead,0xbeef,gr22
        test_mem_limmed         0xbeef,0xdead,gr21
        test_mem_limmed         0xdead,0xbeef,gr20

        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.