merge from gcc
[external/binutils.git] / sim / testsuite / sim / frv / cldbf.cgs
1 # frv testcase for cldbf @($GRi,$GRj),$GRk,$CCi,$cond
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global cldbf
9 cldbf:
10         set_spr_immed   0x1b1b,cccr
11
12         set_mem_limmed  0xdead,0xbeef,sp
13         set_fr_iimmed   0xbeef,0xdead,fr8
14
15         set_gr_immed    0,gr7
16         cldbf           @(sp,gr7),fr8,cc0,1
17         test_fr_limmed  0x0000,0x00de,fr8
18
19         set_gr_immed    1,gr7
20         cldbf           @(sp,gr7),fr8,cc0,1
21         test_fr_limmed  0x0000,0x00ad,fr8
22
23         set_mem_limmed  0xffff,0xff00,sp
24         inc_gr_immed    4,sp
25         set_gr_immed    -1,gr7
26         cldbf           @(sp,gr7),fr8,cc4,1
27         test_fr_limmed  0x0000,0x0000,fr8
28
29         set_mem_limmed  0xdead,0xbeef,sp
30         set_fr_iimmed   0xbeef,0xdead,fr8
31
32         set_gr_immed    0,gr7
33         cldbf           @(sp,gr7),fr8,cc0,0
34         test_fr_limmed  0xbeef,0xdead,fr8
35
36         set_gr_immed    1,gr7
37         cldbf           @(sp,gr7),fr8,cc0,0
38         test_fr_limmed  0xbeef,0xdead,fr8
39
40         set_mem_limmed  0xffff,0xff00,sp
41         inc_gr_immed    4,sp
42         set_gr_immed    -1,gr7
43         cldbf           @(sp,gr7),fr8,cc4,0
44         test_fr_limmed  0xbeef,0xdead,fr8
45
46         set_mem_limmed  0xdead,0xbeef,sp
47         set_fr_iimmed   0xbeef,0xdead,fr8
48
49         set_gr_immed    0,gr7
50         cldbf           @(sp,gr7),fr8,cc1,0
51         test_fr_limmed  0x0000,0x00de,fr8
52
53         set_gr_immed    1,gr7
54         cldbf           @(sp,gr7),fr8,cc1,0
55         test_fr_limmed  0x0000,0x00ad,fr8
56
57         set_mem_limmed  0xffff,0xff00,sp
58         inc_gr_immed    4,sp
59         set_gr_immed    -1,gr7
60         cldbf           @(sp,gr7),fr8,cc5,0
61         test_fr_limmed  0x0000,0x0000,fr8
62
63         set_mem_limmed  0xdead,0xbeef,sp
64         set_fr_iimmed   0xbeef,0xdead,fr8
65
66         set_gr_immed    0,gr7
67         cldbf           @(sp,gr7),fr8,cc1,1
68         test_fr_limmed  0xbeef,0xdead,fr8
69
70         set_gr_immed    1,gr7
71         cldbf           @(sp,gr7),fr8,cc1,1
72         test_fr_limmed  0xbeef,0xdead,fr8
73
74         set_mem_limmed  0xffff,0xff00,sp
75         inc_gr_immed    4,sp
76         set_gr_immed    -1,gr7
77         cldbf           @(sp,gr7),fr8,cc5,1
78         test_fr_limmed  0xbeef,0xdead,fr8
79
80         set_mem_limmed  0xdead,0xbeef,sp
81         set_fr_iimmed   0xbeef,0xdead,fr8
82
83         set_gr_immed    0,gr7
84         cldbf           @(sp,gr7),fr8,cc2,0
85         test_fr_limmed  0xbeef,0xdead,fr8
86
87         set_gr_immed    1,gr7
88         cldbf           @(sp,gr7),fr8,cc2,1
89         test_fr_limmed  0xbeef,0xdead,fr8
90
91         set_mem_limmed  0xffff,0xff00,sp
92         inc_gr_immed    4,sp
93         set_gr_immed    -1,gr7
94         cldbf           @(sp,gr7),fr8,cc6,0
95         test_fr_limmed  0xbeef,0xdead,fr8
96
97         set_mem_limmed  0xdead,0xbeef,sp
98         set_fr_iimmed   0xbeef,0xdead,fr8
99
100         set_gr_immed    0,gr7
101         cldbf           @(sp,gr7),fr8,cc3,1
102         test_fr_limmed  0xbeef,0xdead,fr8
103
104         set_gr_immed    1,gr7
105         cldbf           @(sp,gr7),fr8,cc3,0
106         test_fr_limmed  0xbeef,0xdead,fr8
107
108         set_mem_limmed  0xffff,0xff00,sp
109         inc_gr_immed    4,sp
110         set_gr_immed    -1,gr7
111         cldbf           @(sp,gr7),fr8,cc7,1
112         test_fr_limmed  0xbeef,0xdead,fr8
113
114         pass