summaryrefslogtreecommitdiff
path: root/sim/testsuite/d10v-elf/t-sadd.s
blob: f3e4ebe3da4a00b58f90cd02c57fab9d3d630774 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.include "t-macros.i"

	start

	PSW_BITS = PSW_FX|PSW_ST|PSW_SM
        loadpsw2 PSW_BITS

 ;; Test normal sadd

        loadacc2 a0 0x00 0x7fff 0xffff
        loadacc2 a1 0xff 0x8000 0x0000
        sadd a1, a0
        checkacc2 1 a0 0x00 0x7fff 0xffff
        checkacc2 2 a1 0xff 0x8000 0x7fff

 ;; Test overflow 

        loadacc2 a0 0x00 0x0000 0x0000
        loadacc2 a1 0x01 0x8000 0x0000
        sadd a1, a0
        checkacc2 3 a0 0x00 0x0000 0x0000
        checkacc2 4 a1 0x00 0x7fff 0xffff

        loadacc2 a0 0x00 0xffff 0xffff
        loadacc2 a1 0x00 0xffff 0xffff
        sadd a1, a0
        checkacc2 5 a1 0x00 0x7fff 0xffff
        checkacc2 6 a0 0x00 0xffff 0xffff

 ;; Test underflow

        loadacc2 a0 0x00 0x0000 0x0000
        loadacc2 a1 0x80 0x8000 0x0000
        sadd a1, a0
        checkacc2 7 a0 0x00 0x0000 0x0000
        checkacc2 8 a1 0xff 0x8000 0x0000

	exit0