1# frv testcase for mcplhi $FRi,$s6,$FRk 2# mach: fr400 fr550 3 4 .include "testutils.inc" 5 6 start 7 8 .global mcplhi 9mcplhi: 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 15 16 set_fr_iimmed 0x1234,0x5678,fr10 17 mcplhi fr8,0x1,fr10 ; Shift by 1 18 test_fr_iimmed 0xbd5b5678,fr10 19 20 set_fr_iimmed 0x1234,0x5678,fr10 21 mcplhi fr8,0x4,fr10 ; Shift by 4 22 test_fr_iimmed 0xeadf5678,fr10 23 24 set_fr_iimmed 0x1234,0x5678,fr10 25 mcplhi fr8,0xc,fr10 ; Shift by 12 26 test_fr_iimmed 0xdeef5678,fr10 27 28 set_fr_iimmed 0x1234,0x5678,fr10 29 mcplhi fr8,0xf,fr10 ; Shift by 15 30 test_fr_iimmed 0xbeef5678,fr10 31 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 36 37 set_fr_iimmed 0x1234,0x5678,fr10 38 mcplhi fr8,0x21,fr10 ; Shift by 1 39 test_fr_iimmed 0xbd5b5678,fr10 40 41 set_fr_iimmed 0x1234,0x5678,fr10 42 mcplhi fr8,0x34,fr10 ; Shift by 4 43 test_fr_iimmed 0xeadf5678,fr10 44 45 set_fr_iimmed 0x1234,0x5678,fr10 46 mcplhi fr8,0x1c,fr10 ; Shift by 12 47 test_fr_iimmed 0xdeef5678,fr10 48 49 set_fr_iimmed 0x1234,0x5678,fr10 50 mcplhi fr8,0x2f,fr10 ; Shift by 15 51 test_fr_iimmed 0xbeef5678,fr10 52 53 pass 54