sll.cgs revision 1.1 1 1.1 christos # frv testcase for sll $GRi,$GRj,$GRk
2 1.1 christos # mach: all
3 1.1 christos
4 1.1 christos .include "testutils.inc"
5 1.1 christos
6 1.1 christos start
7 1.1 christos
8 1.1 christos .global sll
9 1.1 christos sll:
10 1.1 christos set_gr_limmed 0xdead,0xbee0,gr7 ; Shift by 0
11 1.1 christos set_gr_immed 2,gr8
12 1.1 christos set_icc 0x0d,0 ; Set mask opposite of expected
13 1.1 christos sll gr8,gr7,gr8
14 1.1 christos test_icc 1 1 0 1 icc0
15 1.1 christos test_gr_immed 2,gr8
16 1.1 christos
17 1.1 christos set_gr_limmed 0xdead,0xbee1,gr7 ; Shift by 1
18 1.1 christos set_gr_immed 2,gr8
19 1.1 christos set_icc 0x0f,0 ; Set mask opposite of expected
20 1.1 christos sll gr8,gr7,gr8
21 1.1 christos test_icc 1 1 1 1 icc0
22 1.1 christos test_gr_immed 4,gr8
23 1.1 christos
24 1.1 christos set_gr_limmed 0xdead,0xbeff,gr7 ; Shift by 31
25 1.1 christos set_gr_immed 1,gr8
26 1.1 christos set_icc 0x07,0 ; Set mask opposite of expected
27 1.1 christos sll gr8,gr7,gr8
28 1.1 christos test_icc 0 1 1 1 icc0
29 1.1 christos test_gr_limmed 0x8000,0x0000,gr8
30 1.1 christos
31 1.1 christos set_gr_limmed 0xdead,0xbeff,gr7 ; clear register
32 1.1 christos set_gr_immed 2,gr8
33 1.1 christos set_icc 0x0a,0 ; Set mask opposite of expected
34 1.1 christos sll gr8,gr7,gr8
35 1.1 christos test_icc 1 0 1 0 icc0
36 1.1 christos test_gr_immed 0x00000000,gr8
37 1.1 christos
38 1.1 christos pass
39