blob: 3e8bcac2f94d1ef7a85820fe3057d0f11214c620 [file] [log] [blame]
# 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