URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 33 |
# sh testcase for dmuls.l $rm, $rn -*- Asm -*-
|
# sh testcase for dmuls.l $rm, $rn -*- Asm -*-
|
# mach: all
|
# mach: all
|
# as: -isa=shcompact
|
# as: -isa=shcompact
|
# ld: -m shelf32
|
# ld: -m shelf32
|
|
|
.include "compact/testutils.inc"
|
.include "compact/testutils.inc"
|
|
|
start
|
start
|
|
|
mov #0, r0
|
mov #0, r0
|
mov #0, r1
|
mov #0, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #0
|
assert r4, #0
|
|
|
test2:
|
test2:
|
mov #0, r0
|
mov #0, r0
|
mov #5, r1
|
mov #5, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #0
|
assert r4, #0
|
|
|
test3:
|
test3:
|
mov #5, r0
|
mov #5, r0
|
mov #0, r1
|
mov #0, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #0
|
assert r4, #0
|
|
|
test4:
|
test4:
|
mov #1, r0
|
mov #1, r0
|
mov #5, r1
|
mov #5, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #5
|
assert r4, #5
|
|
|
test5:
|
test5:
|
mov #5, r0
|
mov #5, r0
|
mov #1, r1
|
mov #1, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #5
|
assert r4, #5
|
|
|
bra test6
|
bra test6
|
nop
|
nop
|
|
|
wrong:
|
wrong:
|
fail
|
fail
|
|
|
test6:
|
test6:
|
mov #2, r0
|
mov #2, r0
|
mov #2, r1
|
mov #2, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #4
|
assert r4, #4
|
|
|
test7:
|
test7:
|
mov #1, r0
|
mov #1, r0
|
neg r0, r0
|
neg r0, r0
|
mov #2, r1
|
mov #2, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
|
|
mov #0, r8
|
mov #0, r8
|
not r8, r9
|
not r8, r9
|
not r8, r10
|
not r8, r10
|
shll r10
|
shll r10
|
cmp/eq r3, r9
|
cmp/eq r3, r9
|
bf wrong
|
bf wrong
|
cmp/eq r4, r10
|
cmp/eq r4, r10
|
bf wrong
|
bf wrong
|
|
|
test8:
|
test8:
|
mov #1, r0
|
mov #1, r0
|
neg r0, r0
|
neg r0, r0
|
mov #1, r1
|
mov #1, r1
|
neg r1, r1
|
neg r1, r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
# check result
|
# check result
|
sts mach, r3
|
sts mach, r3
|
sts macl, r4
|
sts macl, r4
|
assert r3, #0
|
assert r3, #0
|
assert r4, #1
|
assert r4, #1
|
|
|
test9:
|
test9:
|
mov #1, r0
|
mov #1, r0
|
neg r0, r0
|
neg r0, r0
|
shlr r0
|
shlr r0
|
mov #1, r1
|
mov #1, r1
|
neg r1, r1
|
neg r1, r1
|
shlr r1
|
shlr r1
|
dmuls.l r0, r1
|
dmuls.l r0, r1
|
|
|
okay:
|
okay:
|
pass
|
pass
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.