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

Subversion Repositories or1k

[/] [or1k/] [tags/] [VER_5_3/] [gdb-5.3/] [sim/] [testsuite/] [d30v-elf/] [do-flags.S] - Diff between revs 1182 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1182 Rev 1765
        # Test macro
        # Test macro
        .macro assert reg,value
        .macro assert reg,value
        cmpeq f0,\reg,\value
        cmpeq f0,\reg,\value
        bra/fx fail
        bra/fx fail
        .endm
        .endm
        # PR 15964 - a.s
        # PR 15964 - a.s
        add  r8,r0,0x7fff7fff         ;
        add  r8,r0,0x7fff7fff         ;
        add  r9,r0,0x55555555         ;
        add  r9,r0,0x55555555         ;
        add  r12,r0,0x11111111         ;
        add  r12,r0,0x11111111         ;
        add  r1,r0,0x80000011   ; for psw
        add  r1,r0,0x80000011   ; for psw
        mvtsys psw,r1 ||nop
        mvtsys psw,r1 ||nop
        addhhhh r12,r8,r9 ||addhlll r13,r12,r12
        addhhhh r12,r8,r9 ||addhlll r13,r12,r12
        mvfsys r20,psw              ||nop
        mvfsys r20,psw              ||nop
        mvtsys psw,r1 || add r2,r8, r9
        mvtsys psw,r1 || add r2,r8, r9
        mvfsys r21,psw              ||nop
        mvfsys r21,psw              ||nop
        assert r20, 0x80000000
        assert r20, 0x80000000
        assert r21, 0x80000014
        assert r21, 0x80000014
        # PR 15964 - b.s
        # PR 15964 - b.s
        add  r40,r0,0x7fffffff
        add  r40,r0,0x7fffffff
        add  r41,r0,0x7fffffff
        add  r41,r0,0x7fffffff
        add  r1,r0,0x80000000       ; for psw
        add  r1,r0,0x80000000       ; for psw
        mvtsys psw,r1,||nop
        mvtsys psw,r1,||nop
        cmpeq f1,r40,r41,||cmpeq f0,r40,r41,;
        cmpeq f1,r40,r41,||cmpeq f0,r40,r41,;
        mvfsys r42,psw
        mvfsys r42,psw
        assert r42, 0x80005000
        assert r42, 0x80005000
        # PR 16993 - a.s
        # PR 16993 - a.s
        add  r8,r0,0x80005555  ; for psw
        add  r8,r0,0x80005555  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r40,r0,0x11111111  ;
        add  r40,r0,0x11111111  ;
        add  r41,r0,0x22222222  ;
        add  r41,r0,0x22222222  ;
        add  r42,r0,0x00000000  ;
        add  r42,r0,0x00000000  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||add r42,r40,r41,;
        mvtsys psw,r9 ||add r42,r40,r41,;
        mvfsys r10,psw
        mvfsys r10,psw
        assert r10, 0x80000000
        assert r10, 0x80000000
        # PR 16995 - b.s
        # PR 16995 - b.s
        add  r8,r0,0x80000000  ; for psw
        add  r8,r0,0x80000000  ; for psw
        add  r9,r0,0x80005555  ; for psw
        add  r9,r0,0x80005555  ; for psw
        add  r10,r0,0x00000000  ;
        add  r10,r0,0x00000000  ;
        add  r40,r0,0x11111111  ;
        add  r40,r0,0x11111111  ;
        add  r41,r0,0x22222222  ;
        add  r41,r0,0x22222222  ;
        add  r42,r0,0x00000000  ;
        add  r42,r0,0x00000000  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||add r42,r40,r41,;
        mvtsys psw,r9 ||add r42,r40,r41,;
        mvfsys r10,psw
        mvfsys r10,psw
        assert r10, 0x80005544
        assert r10, 0x80005544
        # PR 17006 - c.s
        # PR 17006 - c.s
        add  r8,r0,0x80005555  ; for psw
        add  r8,r0,0x80005555  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r10,r0,0x00000000  ;
        add  r10,r0,0x00000000  ;
        add  r40,r0,0x00000011  ;
        add  r40,r0,0x00000011  ;
        add  r41,r0,0x00000011  ;
        add  r41,r0,0x00000011  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||cmpeq f5,r40,r41,;
        mvtsys psw,r9 ||cmpeq f5,r40,r41,;
        mvfsys r10,psw
        mvfsys r10,psw
        assert r10, 0x80000010
        assert r10, 0x80000010
        # PR 17006 - d.s
        # PR 17006 - d.s
        add  r9,r0,0x80000000  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r40,r0,0x00000011  ;
        add  r40,r0,0x00000011  ;
        add  r41,r0,0x00000011  ;
        add  r41,r0,0x00000011  ;
        nop  ||nop
        nop  ||nop
        mvtsys psw, r9 || nop
        mvtsys psw, r9 || nop
        nop  ||nop
        nop  ||nop
        nop ||cmpeq f5,r40,r41,;
        nop ||cmpeq f5,r40,r41,;
        mvfsys r10,psw
        mvfsys r10,psw
        assert r10, 0x80000010
        assert r10, 0x80000010
        # PR 17106 - a.s
        # PR 17106 - a.s
        ; test 000     ;  mvtsys(s=0) || sathl(s=0) prallel execution test
        ; test 000     ;  mvtsys(s=0) || sathl(s=0) prallel execution test
        add  r8,r0,0x80005555  ; for psw
        add  r8,r0,0x80005555  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r9,r0,0x80000000  ; for psw
        add  r40,r0,0x00000044  ;
        add  r40,r0,0x00000044  ;
        add  r41,r0,0x00000008  ;
        add  r41,r0,0x00000008  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||sathl r30,r40,r41,;
        mvtsys psw,r9 ||sathl r30,r40,r41,;
        mvfsys r20, psw ||nop
        mvfsys r20, psw ||nop
        ;-------------------------------
        ;-------------------------------
        ; test 001     ;  mvtsys(s=0) || sathl(s=1) prallel execution test
        ; test 001     ;  mvtsys(s=0) || sathl(s=1) prallel execution test
        _test_001:
        _test_001:
        add  r40,r0,0x00004444  ;
        add  r40,r0,0x00004444  ;
        add  r41,r0,0x00000008  ;
        add  r41,r0,0x00000008  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||sathl r31,r40,r41,;
        mvtsys psw,r9 ||sathl r31,r40,r41,;
        mvfsys r21,psw ||nop
        mvfsys r21,psw ||nop
        ;-------------------------------
        ;-------------------------------
        ; test 002     ;  mvtsys(s=1) || sathl(s=0) prallel execution test
        ; test 002     ;  mvtsys(s=1) || sathl(s=0) prallel execution test
        add  r8,r0,0x80000000  ; for psw
        add  r8,r0,0x80000000  ; for psw
        add  r9,r0,0x80005555  ; for psw
        add  r9,r0,0x80005555  ; for psw
        add  r40,r0,0x00000044  ;
        add  r40,r0,0x00000044  ;
        add  r41,r0,0x00000008  ;
        add  r41,r0,0x00000008  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||sathl r32,r40,r41,;
        mvtsys psw,r9 ||sathl r32,r40,r41,;
        mvfsys r22,psw             ||nop
        mvfsys r22,psw             ||nop
        ;-------------------------------
        ;-------------------------------
        ; test 003     ;  mvtsys(s=1) || sathl(s=1) prallel execution test
        ; test 003     ;  mvtsys(s=1) || sathl(s=1) prallel execution test
        ;   init-reg
        ;   init-reg
        add  r40,r0,0x00004444  ;
        add  r40,r0,0x00004444  ;
        add  r41,r0,0x00000008  ;
        add  r41,r0,0x00000008  ;
        mvtsys psw,r8 ||nop
        mvtsys psw,r8 ||nop
        mvtsys psw,r9 ||sathl r33,r40,r41,;
        mvtsys psw,r9 ||sathl r33,r40,r41,;
        mvfsys r23,psw             ||nop
        mvfsys r23,psw             ||nop
        assert r20, 0x80000000
        assert r20, 0x80000000
        assert r21, 0x80000040
        assert r21, 0x80000040
        assert r22, 0x80005555
        assert r22, 0x80005555
        assert r23, 0x80005515
        assert r23, 0x80005515
        # PR 18288 - a.s
        # PR 18288 - a.s
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (C =1, V= VA = 0) ||  addc (C= V= VA =0)
        ; mvtsys (C =1, V= VA = 0) ||  addc (C= V= VA =0)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_000b:
        test_000b:
        add r1,r0,1   ||nop  ; set C bit
        add r1,r0,1   ||nop  ; set C bit
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw r1 ||addc r20,r0,1
        mvtsys psw r1 ||addc r20,r0,1
        mvfsys r10,psw ||nop
        mvfsys r10,psw ||nop
        ; C changed in MU is not used in IU.
        ; C changed in MU is not used in IU.
        ; IU prevail for resulting C.
        ; IU prevail for resulting C.
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (V =1, C = VA = 0) ||  add (C= V= VA =0)
        ; mvtsys (V =1, C = VA = 0) ||  add (C= V= VA =0)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_001b:
        test_001b:
        add r1,r0,0x10 ||nop  ; set V bit
        add r1,r0,0x10 ||nop  ; set V bit
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw r1 ||add r0,r0,r0
        mvtsys psw r1 ||add r0,r0,r0
        mvfsys r11,psw ||nop
        mvfsys r11,psw ||nop
        ; IU prevail for resulting V.
        ; IU prevail for resulting V.
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (V = C= VA = 0) ||  add (C=0,V= VA =1)
        ; mvtsys (V = C= VA = 0) ||  add (C=0,V= VA =1)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_002b:
        test_002b:
        add r1,r0,0x70000000
        add r1,r0,0x70000000
        add r2,r0,0x30000000
        add r2,r0,0x30000000
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||add r0,r1,r2
        mvtsys psw r0 ||add r0,r1,r2
        mvfsys r12,psw ||nop
        mvfsys r12,psw ||nop
        ; IU prevail for resulting V.
        ; IU prevail for resulting V.
        ; VA is set(OR'ed)
        ; VA is set(OR'ed)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (C= 0 V = VA = 1) ||  add (C= V= VA =0)
        ; mvtsys (C= 0 V = VA = 1) ||  add (C= V= VA =0)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_003b:
        test_003b:
        add r1,r0,0x14 ||nop  ; set V and VA bit
        add r1,r0,0x14 ||nop  ; set V and VA bit
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw r1 ||add r0,r0,r0
        mvtsys psw r1 ||add r0,r0,r0
        mvfsys r13,psw ||nop
        mvfsys r13,psw ||nop
        ; IU prevail for resulging V
        ; IU prevail for resulging V
        ; VA is set(OR'ed)
        ; VA is set(OR'ed)
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (f3 =1) ||  orfg (f3) : GROUP_B
        ; mvtsys (f3 =1) ||  orfg (f3) : GROUP_B
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_004b:
        test_004b:
        add r1,r0,0x100 ; set f3
        add r1,r0,0x100 ; set f3
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw,r1 ||orfg f3,f3,0
        mvtsys psw,r1 ||orfg f3,f3,0
        mvfsys r14,psw ||nop
        mvfsys r14,psw ||nop
        ; results of IU prevail.
        ; results of IU prevail.
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        ; mvtsys (f4 =1) ||  sathp
        ; mvtsys (f4 =1) ||  sathp
        ;------------------------------------------------------------------------
        ;------------------------------------------------------------------------
        test_005b:
        test_005b:
        add r1,r0,0x40 ; set f4
        add r1,r0,0x40 ; set f4
        mvtsys psw r0 ||nop
        mvtsys psw r0 ||nop
        mvtsys psw r1 ||sathl r2,r1,3
        mvtsys psw r1 ||sathl r2,r1,3
        mvfsys r15,psw ||nop
        mvfsys r15,psw ||nop
        ; results of MU is used in IU
        ; results of MU is used in IU
        assert r20, 0x1
        assert r20, 0x1
        assert r10, 0x0
        assert r10, 0x0
        assert r11, 0x0
        assert r11, 0x0
        assert r12, 0x14
        assert r12, 0x14
        assert r13, 0x4
        assert r13, 0x4
        assert r14, 0x0
        assert r14, 0x0
        assert r15, 0x0
        assert r15, 0x0
        # PR 18288 - b.s
        # PR 18288 - b.s
        add r7,r0,0x80000000
        add r7,r0,0x80000000
        mvtsys psw,r7 || nop
        mvtsys psw,r7 || nop
        add r8,r0,0x7fff7fff         ;
        add r8,r0,0x7fff7fff         ;
        add r9,r0,0x55555555         ;
        add r9,r0,0x55555555         ;
        add r12,r0,0x11111111         ;
        add r12,r0,0x11111111         ;
        add r13,r0,0x00000000         ;
        add r13,r0,0x00000000         ;
        addhhhh r12,r8,r9 ||addhlll r13,r12,r12
        addhhhh r12,r8,r9 ||addhlll r13,r12,r12
        mvfsys r60,psw              ||nop
        mvfsys r60,psw              ||nop
        ;------------------------------------------
        ;------------------------------------------
        add r20,r0,0x66666666  ;
        add r20,r0,0x66666666  ;
        add r21,r0,0x77777777  ;
        add r21,r0,0x77777777  ;
        add r40,r0,0x22222222  ;
        add r40,r0,0x22222222  ;
        add r41,r0,0x55555555  ;
        add r41,r0,0x55555555  ;
        add r22,r20,r21 ||add r42,r40,r41,;
        add r22,r20,r21 ||add r42,r40,r41,;
        mvfsys r61,psw              ||nop
        mvfsys r61,psw              ||nop
        assert r60, 0x80000000
        assert r60, 0x80000000
        assert r61, 0x80000000
        assert r61, 0x80000000
        # PR 19224
        # PR 19224
        add r7,r0,0x80000000
        add r7,r0,0x80000000
        add r2,r0,r0            || nop
        add r2,r0,r0            || nop
        add r1,r0,0x1           || nop
        add r1,r0,0x1           || nop
        # confirm that these insns do not kill the add in the right container
        # confirm that these insns do not kill the add in the right container
        mvtsys psw,r7           -> add r2,r2,r1
        mvtsys psw,r7           -> add r2,r2,r1
        mvtsys pswh,r7          -> add r2,r2,r1
        mvtsys pswh,r7          -> add r2,r2,r1
        mvtsys pswl,r7          -> add r2,r2,r1
        mvtsys pswl,r7          -> add r2,r2,r1
        mvtsys f0,r7            -> add r2,r2,r1
        mvtsys f0,r7            -> add r2,r2,r1
        mvtsys mod_s,r7         -> add r2,r2,r1
        mvtsys mod_s,r7         -> add r2,r2,r1
        assert r2, 0x5
        assert r2, 0x5
        # all okay
        # all okay
        bra     ok
        bra     ok
ok:
ok:
        add r2, r0, 0
        add r2, r0, 0
        .long 0x0e000004
        .long 0x0e000004
        nop
        nop
fail:
fail:
        add r2, r0, 47
        add r2, r0, 47
        .long 0x0e000004
        .long 0x0e000004
        nop
        nop
 
 

powered by: WebSVN 2.1.0

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