Update release-README after completing the 2.43 release.
[binutils-gdb.git] / sim / testsuite / sh / psub.s
blobbcfd26e95140c6e8123837260bc794a05194273b
1 # sh testcase for psub
2 # mach: shdsp
3 # as(shdsp): -defsym sim_cpu=1 -dsp
5 .include "testutils.inc"
7 start
8 set_grs_a5a5
9 lds r0, a0
10 pcopy a0, a1
11 lds r0, x0
12 lds r0, x1
13 lds r0, y0
14 lds r0, y1
15 pcopy x0, m0
16 pcopy y1, m1
18 psub_sx_sy:
19 # 0xa5a5a5a5 minus 0xa5a5a5a5 equals zero
20 psub x0, y0, a0
21 assert_sreg 0, a0
23 psub_sy_sx:
24 # 100 - 25 = 75
25 mov #100, r0
26 mov #25, r1
27 lds r0, y1
28 lds r1, x1
29 psub y1, x1, a0
30 assert_sreg 75, a0
32 dct_psub:
33 # 100 - 25 = 75
34 set_dcfalse
35 dct psub y1, x1, a1
36 assert_sreg2 0xa5a5a5a5, a1
37 set_dctrue
38 dct psub y1, x1, a1
39 assert_sreg2 75, a1
41 dcf_psub:
42 # 25 - 100 = -75
43 set_dctrue
44 dcf psub x1, y1, m1
45 assert_sreg2 0xa5a5a5a5, m1
46 set_dcfalse
47 dcf psub x1, y1, m1
48 assert_sreg2 -75, m1
50 psub_pmuls:
51 # 25 - 100 = -75, and 2 x 2 = 8 (yes, eight, not four)
52 mov #2, r0
53 shll16 r0
54 lds r0, x0
55 lds r0, y0
56 psub x1, y1, a1 pmuls x0, y0, a0
57 assert_sreg 8, a0
58 assert_sreg2 -75, a1
60 set_greg 0xa5a5a5a5, r0
61 set_greg 0xa5a5a5a5, r1
62 test_grs_a5a5
63 pass
64 exit 0