# sh testcase for and $rm, $rn, $rd -*- Asm -*- | |
# mach: all | |
# as: -isa=shmedia | |
# ld: -m shelf64 | |
.include "media/testutils.inc" | |
start | |
init: | |
pta wrong, tr0 | |
and0: | |
# 0 and 0 is 0. | |
movi 0, r0 | |
movi 0, r1 | |
and r0, r1, r2 | |
bnei r2, 0, tr0 | |
and1: | |
# 0 and 1 is 0. | |
movi 0, r0 | |
movi 1, r1 | |
and r0, r1, r2 | |
bnei r2, 0, tr0 | |
and2: | |
# 1 and 0 is 0. | |
movi 1, r0 | |
movi 0, r1 | |
and r0, r1, r2 | |
bnei r2, 0, tr0 | |
and3: | |
# 1 and 1 is 1. | |
movi 1, r0 | |
movi 1, r1 | |
and r0, r1, r2 | |
bnei r2, 1, tr0 | |
and4: | |
movi 1, r0 | |
shlli r0, 63, r0 | |
movi 1, r1 | |
shlli r1, 63, r1 | |
and r0, r1, r2 | |
# Check it. | |
movi 1, r3 | |
shlli r3, 63, r3 | |
bne r2, r3, tr0 | |
and5: | |
movi 1, r0 | |
shlli r0, 63, r0 | |
movi 1, r1 | |
shlli r1, 63, r1 | |
ori r1, 1, r1 | |
and r0, r1, r2 | |
# Check it. | |
movi 1, r3 | |
shlli r1, 63, r1 | |
bne r1, r2, tr0 | |
okay: | |
pass | |
wrong: | |
fail |