URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 33 |
# sh testcase for swap.w $rm, $rn -*- Asm -*-
|
# sh testcase for swap.w $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
|
|
|
.global swapw
|
.global swapw
|
swapw:
|
swapw:
|
# Build up a characteristic bit pattern in R0.
|
# Build up a characteristic bit pattern in R0.
|
mov #85, r0
|
mov #85, r0
|
shll16 r0
|
shll16 r0
|
add #3, r0
|
add #3, r0
|
rotr r0
|
rotr r0
|
rotr r0
|
rotr r0
|
or #170, r0
|
or #170, r0
|
# Preserve for later.
|
# Preserve for later.
|
mov r0, r8
|
mov r0, r8
|
|
|
test:
|
test:
|
swap.w r0, r1
|
swap.w r0, r1
|
mov #64, r0
|
mov #64, r0
|
shll8 r0
|
shll8 r0
|
or #170, r0
|
or #170, r0
|
shll8 r0
|
shll8 r0
|
or #192, r0
|
or #192, r0
|
shll8 r0
|
shll8 r0
|
or #21, r0
|
or #21, r0
|
cmp/eq r1, r0
|
cmp/eq r1, r0
|
bf wrong
|
bf wrong
|
|
|
swapback:
|
swapback:
|
swap.w r1, r2
|
swap.w r1, r2
|
cmp/eq r2, r8
|
cmp/eq r2, r8
|
bf wrong
|
bf wrong
|
|
|
okay:
|
okay:
|
pass
|
pass
|
|
|
wrong:
|
wrong:
|
fail
|
fail
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.