# sh testcase for nsb $rm, $rd -*- Asm -*- # mach: all # as: -isa=shmedia # ld: -m shelf64 .include "media/testutils.inc" start init: pta wrong, tr0 nsb0: movi 0, r0 nsb r0, r1 check0: movi 63, r4 bne r1, r4, tr0 nsb1: # set up a loop target reg. pta again1, tr1 # r4 holds the loop count. movi 62, r4 movi 1, r0 again1: nsb r0, r1 bne r1, r4, tr0 # okay? go around again. shlli r0, 1, r0 addi r4, -1, r4 bnei r4, 0, tr1 nsb2: # set up a loop target reg. pta again2, tr1 # r4 holds the loop count. movi 63, r4 movi -1, r0 again2: nsb r0, r1 bne r1, r4, tr0 # okay? go around again. shlli r0, 1, r0 addi r4, -1, r4 bnei r4, 0, tr1 nsb3: movi 1, r0 shlli r0, 63, r0 nsb r0, r1 check3: movi 0, r4 bne r1, r4, tr0 nsb4: movi 7, r0 shlli r0, 61, r0 nsb r0, r1 check4: movi 2, r4 bne r1, r4, tr0 okay: pass wrong: fail