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 neg $rm, $rn -*- Asm -*-
|
# sh testcase for neg $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"
|
|
|
.macro signbit sign
|
.macro signbit sign
|
shlr16 r1
|
shlr16 r1
|
shlr8 r1
|
shlr8 r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
shlr r1
|
assert r1, \sign
|
assert r1, \sign
|
.endm
|
.endm
|
start
|
start
|
|
|
.global neg
|
.global neg
|
neg:
|
neg:
|
mov #0, r0
|
mov #0, r0
|
neg r0, r1
|
neg r0, r1
|
signbit #0
|
signbit #0
|
|
|
mov #42, r0
|
mov #42, r0
|
neg r0, r1
|
neg r0, r1
|
signbit #1
|
signbit #1
|
|
|
mov #0, r0
|
mov #0, r0
|
or #25, r0
|
or #25, r0
|
neg r0, r1
|
neg r0, r1
|
signbit #1
|
signbit #1
|
|
|
# neg(0) is 0.
|
# neg(0) is 0.
|
mov #0, r0
|
mov #0, r0
|
neg r0, r1
|
neg r0, r1
|
signbit #0
|
signbit #0
|
|
|
# neg(neg(x)) = x.
|
# neg(neg(x)) = x.
|
mov #42, r0
|
mov #42, r0
|
neg r0, r1
|
neg r0, r1
|
signbit #1
|
signbit #1
|
mov #42, r0
|
mov #42, r0
|
neg r0, r2
|
neg r0, r2
|
neg r2, r1
|
neg r2, r1
|
signbit #0
|
signbit #0
|
|
|
okay:
|
okay:
|
pass
|
pass
|
|
|
wrong:
|
wrong:
|
fail
|
fail
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.