blob: 7f94b61620675e98bc75b236339f12a650c48b39 [file] [log] [blame]
# sh testcase for add.l $rm, $rn, $rd -*- Asm -*-
# mach: all
# as: -isa=shmedia
# ld: -m shelf64
.include "media/testutils.inc"
start
.global addl
init:
pta wrong, tr0
addl0:
movi 1, r63
add.l r63, r63, r1
bnei r1, 0, tr0
addl1:
movi 10, r0
movi 0, r1
add.l r0, r1, r3
movi 10, r4
bne r3, r4, tr0
addl2:
movi 0, r0
movi 10, r1
add.l r0, r1, r2
movi 10, r3
bne r2, r3, tr0
addl3:
movi 10, r0
add.l r63, r0, r1
movi 10, r2
bne r1, r2, tr0
addl4:
movi 10, r0
add.l r0, r63, r1
movi 10, r2
bne r1, r2, tr0
addl5:
# Ensure top 32-bits are discarded when adding.
movi 10, r0
shlli r0, 32, r0
addi r0, 10, r0
movi 10, r1
shlli r1, 32, r1
addi r1, 10, r1
add.l r0, r1, r2
movi 20, r3
bne r2, r3, tr0
okay:
pass
wrong:
fail