Automatic date update in version.in
[binutils-gdb.git] / sim / testsuite / frv / fr400 / slass.cgs
blob3e8bcac2f94d1ef7a85820fe3057d0f11214c620
1 # frv testcase for slass $GRi,$GRj,$GRk
2 # mach: fr405 fr450
4         .include "../testutils.inc"
6         start
8         .global sll
9 slass0:
10         set_gr_immed    0,gr7                   ; Shift by 0
11         set_gr_immed    2,gr8
12         slass           gr8,gr7,gr6
13         test_gr_immed   2,gr8
14         test_gr_immed   0,gr7
15         test_gr_immed   2,gr6
16 slass1:
17         set_gr_immed    1,gr7                   ; Shift by 1
18         set_gr_immed    2,gr8
19         slass           gr8,gr7,gr6
20         test_gr_immed   2,gr8
21         test_gr_immed   1,gr7
22         test_gr_immed   4,gr6
24 slass2:
25         set_gr_immed    31,gr7                  ; Shift 1 by 31
26         set_gr_immed    1,gr8
27         slass           gr8,gr7,gr6
28         test_gr_immed   1,gr8
29         test_gr_immed   31,gr7
30         test_gr_limmed  0x7fff,0xffff,gr6
32 slass3:
33         set_gr_immed    31,gr7                  ; Shift -1 by 31
34         set_gr_immed    -1,gr8
35         slass           gr8,gr7,gr6
36         test_gr_immed   -1,gr8
37         test_gr_immed   31,gr7
38         test_gr_limmed  0x8000,0x0000,gr6
40 slass4:
41         set_gr_immed    14,gr7                  ; Shift 0xffff0000 by 14
42         set_gr_limmed   0xffff,0x0000,gr8
43         slass           gr8,gr7,gr6
44         test_gr_limmed  0xffff,0x0000,gr8
45         test_gr_immed   14,gr7
46         test_gr_limmed  0xc000,0x0000,gr6
48 slass5:
49         set_gr_immed    15,gr7                  ; Shift 0xffff0000 by 15
50         set_gr_limmed   0xffff,0x0000,gr8
51         slass           gr8,gr7,gr6
52         test_gr_limmed  0xffff,0x0000,gr8
53         test_gr_immed   15,gr7
54         test_gr_limmed  0x8000,0x0000,gr6
56 slass6:
57         set_gr_immed    20,gr7                  ; Shift 0xffff0000 by 20
58         set_gr_limmed   0xffff,0x0000,gr8
59         slass           gr8,gr7,gr6
60         test_gr_limmed  0xffff,0x0000,gr8
61         test_gr_immed   20,gr7
62         test_gr_limmed  0x8000,0x0000,gr6
64 slass7:
65         set_gr_immed    14,gr7                  ; Shift 0x0000ffff by 14
66         set_gr_limmed   0x0000,0xffff,gr8
67         slass           gr8,gr7,gr6
68         test_gr_limmed  0x0000,0xffff,gr8
69         test_gr_immed   14,gr7
70         test_gr_limmed  0x3fff,0xc000,gr6
72 slass8:
73         set_gr_immed    15,gr7                  ; Shift 0x0000ffff by 15
74         set_gr_limmed   0x0000,0xffff,gr8
75         slass           gr8,gr7,gr6
76         test_gr_limmed  0x0000,0xffff,gr8
77         test_gr_immed   15,gr7
78         test_gr_limmed  0x7fff,0x8000,gr6
80 slass9:
81         set_gr_immed    20,gr7                  ; Shift 0x0000ffff by 20
82         set_gr_limmed   0x0000,0xffff,gr8
83         slass           gr8,gr7,gr6
84         test_gr_limmed  0x0000,0xffff,gr8
85         test_gr_immed   20,gr7
86         test_gr_limmed  0x7fff,0xffff,gr6
88 slass10:
89         set_gr_immed    30,gr7                  ; Shift 1 by 30
90         set_gr_immed    1,gr8
91         slass           gr8,gr7,gr6
92         test_gr_immed   1,gr8
93         test_gr_immed   30,gr7
94         test_gr_limmed  0x4000,0x0000,gr6
96 slass11:
97         set_gr_immed    30,gr7                  ; Shift -1 by 30
98         set_gr_immed    -1,gr8
99         slass           gr8,gr7,gr6
100         test_gr_immed   -1,gr8
101         test_gr_immed   30,gr7
102         test_gr_limmed  0xc000,0000,gr6
104         pass