# frv testcase for addss $GRi,$GRj,$GRk
|
# frv testcase for addss $GRi,$GRj,$GRk
|
# mach: fr405 fr450
|
# mach: fr405 fr450
|
|
|
.include "../testutils.inc"
|
.include "../testutils.inc"
|
|
|
start
|
start
|
|
|
.global add
|
.global add
|
add_nosaturate:
|
add_nosaturate:
|
set_gr_immed 1,gr7
|
set_gr_immed 1,gr7
|
set_gr_immed 2,gr8
|
set_gr_immed 2,gr8
|
addss gr7,gr8,gr8
|
addss gr7,gr8,gr8
|
test_gr_immed 3,gr8
|
test_gr_immed 3,gr8
|
add_saturate_pos:
|
add_saturate_pos:
|
set_gr_limmed 0x7fff,0xffff,gr7
|
set_gr_limmed 0x7fff,0xffff,gr7
|
set_gr_immed 1,gr8
|
set_gr_immed 1,gr8
|
addss gr7,gr8,gr8
|
addss gr7,gr8,gr8
|
test_gr_limmed 0x7fff,0xffff,gr8
|
test_gr_limmed 0x7fff,0xffff,gr8
|
|
|
set_gr_limmed 0x4000,0x0000,gr7
|
set_gr_limmed 0x4000,0x0000,gr7
|
set_gr_limmed 0x4000,0x0000,gr8
|
set_gr_limmed 0x4000,0x0000,gr8
|
addss gr7,gr8,gr8
|
addss gr7,gr8,gr8
|
test_gr_limmed 0x7fff,0xffff,gr8
|
test_gr_limmed 0x7fff,0xffff,gr8
|
|
|
add_saturate_neg:
|
add_saturate_neg:
|
set_gr_limmed 0x8000,0x0000,gr7
|
set_gr_limmed 0x8000,0x0000,gr7
|
set_gr_limmed 0xffff,0xffff,gr8
|
set_gr_limmed 0xffff,0xffff,gr8
|
addss gr7,gr8,gr8
|
addss gr7,gr8,gr8
|
test_gr_limmed 0x8000,0x0000,gr8
|
test_gr_limmed 0x8000,0x0000,gr8
|
|
|
set_gr_limmed 0x8000,0x0001,gr7
|
set_gr_limmed 0x8000,0x0001,gr7
|
set_gr_limmed 0x8000,0x0001,gr8
|
set_gr_limmed 0x8000,0x0001,gr8
|
addss gr7,gr8,gr8
|
addss gr7,gr8,gr8
|
test_gr_limmed 0x8000,0x0000,gr8
|
test_gr_limmed 0x8000,0x0000,gr8
|
|
|
pass
|
pass
|
|
|