1 # frv testcase for mcplhi $FRi,$s6,$FRk
4 .include "testutils.inc"
10 set_fr_iimmed 0xdead,0xbeef,fr8
11 set_fr_iimmed 0xbeef,0xdead,fr9
12 set_fr_iimmed 0x1234,0x5678,fr10
13 mcplhi fr8,0x0,fr10 ; Shift by 0
14 test_fr_iimmed 0xdead5678,fr10
16 set_fr_iimmed 0x1234,0x5678,fr10
17 mcplhi fr8,0x1,fr10 ; Shift by 1
18 test_fr_iimmed 0xbd5b5678,fr10
20 set_fr_iimmed 0x1234,0x5678,fr10
21 mcplhi fr8,0x4,fr10 ; Shift by 4
22 test_fr_iimmed 0xeadf5678,fr10
24 set_fr_iimmed 0x1234,0x5678,fr10
25 mcplhi fr8,0xc,fr10 ; Shift by 12
26 test_fr_iimmed 0xdeef5678,fr10
28 set_fr_iimmed 0x1234,0x5678,fr10
29 mcplhi fr8,0xf,fr10 ; Shift by 15
30 test_fr_iimmed 0xbeef5678,fr10
32 ; test again with truncated shift values
33 set_fr_iimmed 0x1234,0x5678,fr10
34 mcplhi fr8,0x10,fr10 ; Shift by 0
35 test_fr_iimmed 0xdead5678,fr10
37 set_fr_iimmed 0x1234,0x5678,fr10
38 mcplhi fr8,0x21,fr10 ; Shift by 1
39 test_fr_iimmed 0xbd5b5678,fr10
41 set_fr_iimmed 0x1234,0x5678,fr10
42 mcplhi fr8,0x34,fr10 ; Shift by 4
43 test_fr_iimmed 0xeadf5678,fr10
45 set_fr_iimmed 0x1234,0x5678,fr10
46 mcplhi fr8,0x1c,fr10 ; Shift by 12
47 test_fr_iimmed 0xdeef5678,fr10
49 set_fr_iimmed 0x1234,0x5678,fr10
50 mcplhi fr8,0x2f,fr10 ; Shift by 15
51 test_fr_iimmed 0xbeef5678,fr10