xref: /qemu/tests/tcg/cris/bare/check_addcv17.s (revision d4f6e58f)
1*d4f6e58fSAlex Bennée# mach:  crisv17
2*d4f6e58fSAlex Bennée
3*d4f6e58fSAlex Bennée .include "testutils.inc"
4*d4f6e58fSAlex Bennée
5*d4f6e58fSAlex Bennée .macro addc Rs Rd inc=0
6*d4f6e58fSAlex Bennée# Create the instruction manually since there is no assembler support yet
7*d4f6e58fSAlex Bennée .word (\Rd << 12) | \Rs | (\inc << 10) | 0x09a0
8*d4f6e58fSAlex Bennée .endm
9*d4f6e58fSAlex Bennée
10*d4f6e58fSAlex Bennée start
11*d4f6e58fSAlex Bennée
12*d4f6e58fSAlex Bennée .data
13*d4f6e58fSAlex Bennéemem1:
14*d4f6e58fSAlex Bennée .dword 0x0
15*d4f6e58fSAlex Bennéemem2:
16*d4f6e58fSAlex Bennée .dword 0x12345678
17*d4f6e58fSAlex Bennée
18*d4f6e58fSAlex Bennée .text
19*d4f6e58fSAlex Bennée move.d mem1,r4
20*d4f6e58fSAlex Bennée clearf nzvc
21*d4f6e58fSAlex Bennée addc 4 3
22*d4f6e58fSAlex Bennée test_cc 0 1 0 0
23*d4f6e58fSAlex Bennée checkr3 0
24*d4f6e58fSAlex Bennée
25*d4f6e58fSAlex Bennée move.d mem1,r4
26*d4f6e58fSAlex Bennée clearf nzvc
27*d4f6e58fSAlex Bennée ax
28*d4f6e58fSAlex Bennée addc 4 3
29*d4f6e58fSAlex Bennée test_cc 0 0 0 0
30*d4f6e58fSAlex Bennée checkr3 0
31*d4f6e58fSAlex Bennée
32*d4f6e58fSAlex Bennée move.d mem1,r4
33*d4f6e58fSAlex Bennée clearf nzvc
34*d4f6e58fSAlex Bennée setf c
35*d4f6e58fSAlex Bennée addc 4 3
36*d4f6e58fSAlex Bennée test_cc 0 0 0 0
37*d4f6e58fSAlex Bennée checkr3 1
38*d4f6e58fSAlex Bennée
39*d4f6e58fSAlex Bennée move.d mem2,r4
40*d4f6e58fSAlex Bennée moveq 2, r3
41*d4f6e58fSAlex Bennée clearf nzvc
42*d4f6e58fSAlex Bennée setf c
43*d4f6e58fSAlex Bennée addc 4 3
44*d4f6e58fSAlex Bennée test_cc 0 0 0 0
45*d4f6e58fSAlex Bennée checkr3 1234567b
46*d4f6e58fSAlex Bennée
47*d4f6e58fSAlex Bennée move.d mem2,r5
48*d4f6e58fSAlex Bennée clearf nzvc
49*d4f6e58fSAlex Bennée cmp.d r4,r5
50*d4f6e58fSAlex Bennée test_cc 0 1 0 0
51*d4f6e58fSAlex Bennée
52*d4f6e58fSAlex Bennée move.d mem2,r4
53*d4f6e58fSAlex Bennée moveq 2, r3
54*d4f6e58fSAlex Bennée clearf nzvc
55*d4f6e58fSAlex Bennée addc 4 3 inc=1
56*d4f6e58fSAlex Bennée test_cc 0 0 0 0
57*d4f6e58fSAlex Bennée checkr3 1234567a
58*d4f6e58fSAlex Bennée
59*d4f6e58fSAlex Bennée move.d mem2,r5
60*d4f6e58fSAlex Bennée clearf nzvc
61*d4f6e58fSAlex Bennée addq 4,r5
62*d4f6e58fSAlex Bennée cmp.d r4,r5
63*d4f6e58fSAlex Bennée test_cc 0 1 0 0
64*d4f6e58fSAlex Bennée
65*d4f6e58fSAlex Bennée quit
66