# frv testcase for slass $GRi,$GRj,$GRk # mach: fr405 fr450 .include "../testutils.inc" start .global sll slass0: set_gr_immed 0,gr7 ; Shift by 0 set_gr_immed 2,gr8 slass gr8,gr7,gr6 test_gr_immed 2,gr8 test_gr_immed 0,gr7 test_gr_immed 2,gr6 slass1: set_gr_immed 1,gr7 ; Shift by 1 set_gr_immed 2,gr8 slass gr8,gr7,gr6 test_gr_immed 2,gr8 test_gr_immed 1,gr7 test_gr_immed 4,gr6 slass2: set_gr_immed 31,gr7 ; Shift 1 by 31 set_gr_immed 1,gr8 slass gr8,gr7,gr6 test_gr_immed 1,gr8 test_gr_immed 31,gr7 test_gr_limmed 0x7fff,0xffff,gr6 slass3: set_gr_immed 31,gr7 ; Shift -1 by 31 set_gr_immed -1,gr8 slass gr8,gr7,gr6 test_gr_immed -1,gr8 test_gr_immed 31,gr7 test_gr_limmed 0x8000,0x0000,gr6 slass4: set_gr_immed 14,gr7 ; Shift 0xffff0000 by 14 set_gr_limmed 0xffff,0x0000,gr8 slass gr8,gr7,gr6 test_gr_limmed 0xffff,0x0000,gr8 test_gr_immed 14,gr7 test_gr_limmed 0xc000,0x0000,gr6 slass5: set_gr_immed 15,gr7 ; Shift 0xffff0000 by 15 set_gr_limmed 0xffff,0x0000,gr8 slass gr8,gr7,gr6 test_gr_limmed 0xffff,0x0000,gr8 test_gr_immed 15,gr7 test_gr_limmed 0x8000,0x0000,gr6 slass6: set_gr_immed 20,gr7 ; Shift 0xffff0000 by 20 set_gr_limmed 0xffff,0x0000,gr8 slass gr8,gr7,gr6 test_gr_limmed 0xffff,0x0000,gr8 test_gr_immed 20,gr7 test_gr_limmed 0x8000,0x0000,gr6 slass7: set_gr_immed 14,gr7 ; Shift 0x0000ffff by 14 set_gr_limmed 0x0000,0xffff,gr8 slass gr8,gr7,gr6 test_gr_limmed 0x0000,0xffff,gr8 test_gr_immed 14,gr7 test_gr_limmed 0x3fff,0xc000,gr6 slass8: set_gr_immed 15,gr7 ; Shift 0x0000ffff by 15 set_gr_limmed 0x0000,0xffff,gr8 slass gr8,gr7,gr6 test_gr_limmed 0x0000,0xffff,gr8 test_gr_immed 15,gr7 test_gr_limmed 0x7fff,0x8000,gr6 slass9: set_gr_immed 20,gr7 ; Shift 0x0000ffff by 20 set_gr_limmed 0x0000,0xffff,gr8 slass gr8,gr7,gr6 test_gr_limmed 0x0000,0xffff,gr8 test_gr_immed 20,gr7 test_gr_limmed 0x7fff,0xffff,gr6 slass10: set_gr_immed 30,gr7 ; Shift 1 by 30 set_gr_immed 1,gr8 slass gr8,gr7,gr6 test_gr_immed 1,gr8 test_gr_immed 30,gr7 test_gr_limmed 0x4000,0x0000,gr6 slass11: set_gr_immed 30,gr7 ; Shift -1 by 30 set_gr_immed -1,gr8 slass gr8,gr7,gr6 test_gr_immed -1,gr8 test_gr_immed 30,gr7 test_gr_limmed 0xc000,0000,gr6 pass