merge from gcc
[external/binutils.git] / sim / testsuite / sim / frv / xor.cgs
1 # frv testcase for xor $GRi,$GRj,$GRk
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global xor
9 xor:
10         set_gr_limmed   0xaaaa,0xaaaa,gr7
11         set_gr_limmed   0x5555,0x5555,gr8
12         set_icc         0x07,0          ; Set mask opposite of expected
13         xor             gr7,gr8,gr8
14         test_icc        0 1 1 1 icc0
15         test_gr_limmed  0xffff,0xffff,gr8
16
17         set_gr_immed    0x00000000,gr7
18         set_gr_immed    0x00000000,gr8
19         set_icc         0x08,0          ; Set mask opposite of expected
20         xor             gr7,gr8,gr8
21         test_icc        1 0 0 0 icc0
22         test_gr_immed   0x00000000,gr8
23
24         set_gr_limmed   0xaaaa,0xaaaa,gr7
25         set_gr_limmed   0xaaaa,0xaaaa,gr8
26         set_icc         0x0b,0          ; Set mask opposite of expected
27         xor             gr7,gr8,gr8
28         test_icc        1 0 1 1 icc0
29         test_gr_immed   0x00000000,gr8
30
31         set_gr_limmed   0xdead,0x0000,gr7
32         set_gr_limmed   0x0000,0xbeef,gr8
33         set_icc         0x05,0          ; Set mask opposite of expected
34         xor             gr7,gr8,gr8
35         test_icc        0 1 0 1 icc0
36         test_gr_limmed  0xdead,0xbeef,gr8
37
38         pass