OSDN Git Service

r284@cf-ppc-macosx: monabuilder | 2008-12-07 10:57:41 +0900
[pf3gnuchains/pf3gnuchains3x.git] / sim / testsuite / sim / frv / mcpli.cgs
1 # frv testcase for mcpli $FRi,$s6,$FRk
2 # mach: fr400 fr550
3
4         .include "testutils.inc"
5
6         start
7
8         .global mcpli
9 mcpli:
10         set_fr_iimmed   0xdead,0xbeef,fr8
11         set_fr_iimmed   0xbeef,0xdead,fr9
12         set_fr_iimmed   0x1234,0x5678,fr10
13         mcpli           fr8,0x0,fr10    ; Shift by 0
14         test_fr_iimmed  0xdeadbeef,fr10
15
16         set_fr_iimmed   0x1234,0x5678,fr10
17         mcpli           fr8,0x1,fr10    ; Shift by 1
18         test_fr_iimmed  0xbd5b7ddf,fr10
19
20         set_fr_iimmed   0x1234,0x5678,fr10
21         mcpli           fr8,0x4,fr10    ; Shift by 4
22         test_fr_iimmed  0xeadbeefd,fr10
23
24         set_fr_iimmed   0x1234,0x5678,fr10
25         mcpli           fr8,0xc,fr10    ; Shift by 12
26         test_fr_iimmed  0xdbeefead,fr10
27
28         set_fr_iimmed   0x1234,0x5678,fr10
29         mcpli           fr8,0x1c,fr10   ; Shift by 28
30         test_fr_iimmed  0xfeefdead,fr10
31
32         set_fr_iimmed   0x1234,0x5678,fr10
33         mcpli           fr8,0x1f,fr10   ; Shift by 31
34         test_fr_iimmed  0xbeefdead,fr10
35
36         ; test again with truncated shift values
37         set_fr_iimmed   0x1234,0x5678,fr10
38         mcpli           fr8,0x20,fr10   ; Shift by 0
39         test_fr_iimmed  0xdeadbeef,fr10
40
41         set_fr_iimmed   0x1234,0x5678,fr10
42         mcpli           fr8,0x21,fr10   ; Shift by 1
43         test_fr_iimmed  0xbd5b7ddf,fr10
44
45         set_fr_iimmed   0x1234,0x5678,fr10
46         mcpli           fr8,0x24,fr10   ; Shift by 4
47         test_fr_iimmed  0xeadbeefd,fr10
48
49         set_fr_iimmed   0x1234,0x5678,fr10
50         mcpli           fr8,0x2c,fr10   ; Shift by 12
51         test_fr_iimmed  0xdbeefead,fr10
52
53         set_fr_iimmed   0x1234,0x5678,fr10
54         mcpli           fr8,0x3c,fr10   ; Shift by 28
55         test_fr_iimmed  0xfeefdead,fr10
56
57         set_fr_iimmed   0x1234,0x5678,fr10
58         mcpli           fr8,0x3f,fr10   ; Shift by 31
59         test_fr_iimmed  0xbeefdead,fr10
60
61         pass