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 add.l $rm, $rn, $rd -*- Asm -*-
|
# sh testcase for add.l $rm, $rn, $rd -*- Asm -*-
|
# mach: all
|
# mach: all
|
# as: -isa=shmedia
|
# as: -isa=shmedia
|
# ld: -m shelf64
|
# ld: -m shelf64
|
|
|
.include "media/testutils.inc"
|
.include "media/testutils.inc"
|
|
|
start
|
start
|
|
|
.global addl
|
.global addl
|
init:
|
init:
|
pta wrong, tr0
|
pta wrong, tr0
|
|
|
addl0:
|
addl0:
|
movi 1, r63
|
movi 1, r63
|
add.l r63, r63, r1
|
add.l r63, r63, r1
|
bnei r1, 0, tr0
|
bnei r1, 0, tr0
|
|
|
addl1:
|
addl1:
|
movi 10, r0
|
movi 10, r0
|
movi 0, r1
|
movi 0, r1
|
add.l r0, r1, r3
|
add.l r0, r1, r3
|
movi 10, r4
|
movi 10, r4
|
bne r3, r4, tr0
|
bne r3, r4, tr0
|
|
|
addl2:
|
addl2:
|
movi 0, r0
|
movi 0, r0
|
movi 10, r1
|
movi 10, r1
|
add.l r0, r1, r2
|
add.l r0, r1, r2
|
movi 10, r3
|
movi 10, r3
|
bne r2, r3, tr0
|
bne r2, r3, tr0
|
|
|
addl3:
|
addl3:
|
movi 10, r0
|
movi 10, r0
|
add.l r63, r0, r1
|
add.l r63, r0, r1
|
movi 10, r2
|
movi 10, r2
|
bne r1, r2, tr0
|
bne r1, r2, tr0
|
|
|
addl4:
|
addl4:
|
movi 10, r0
|
movi 10, r0
|
add.l r0, r63, r1
|
add.l r0, r63, r1
|
movi 10, r2
|
movi 10, r2
|
bne r1, r2, tr0
|
bne r1, r2, tr0
|
|
|
addl5:
|
addl5:
|
# Ensure top 32-bits are discarded when adding.
|
# Ensure top 32-bits are discarded when adding.
|
movi 10, r0
|
movi 10, r0
|
shlli r0, 32, r0
|
shlli r0, 32, r0
|
addi r0, 10, r0
|
addi r0, 10, r0
|
movi 10, r1
|
movi 10, r1
|
shlli r1, 32, r1
|
shlli r1, 32, r1
|
addi r1, 10, r1
|
addi r1, 10, r1
|
add.l r0, r1, r2
|
add.l r0, r1, r2
|
movi 20, r3
|
movi 20, r3
|
bne r2, r3, tr0
|
bne r2, r3, tr0
|
|
|
okay:
|
okay:
|
pass
|
pass
|
|
|
wrong:
|
wrong:
|
fail
|
fail
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.