blob: 0cb78293265fb337b53be9fb2d1529b3687cd27f [file] [log] [blame]
# sh testcase for pdmsb
# mach: shdsp
# as(shdsp): -defsym sim_cpu=1 -dsp
.include "testutils.inc"
start
set_grs_a5a5
lds r0, a0
pcopy a0, a1
lds r0, x0
lds r0, x1
lds r0, y0
lds r0, y1
pcopy x0, m0
pcopy y1, m1
set_sreg 0x0, x0
L0: pdmsb x0, x1
# assert_sreg 31<<16, x1
set_sreg 0x1, x0
L1: pdmsb x0, x1
assert_sreg 30<<16, x1
set_sreg 0x3, x0
L2: pdmsb x0, x1
assert_sreg 29<<16, x1
set_sreg 0x7, x0
L3: pdmsb x0, x1
assert_sreg 28<<16, x1
set_sreg 0xf, x0
L4: pdmsb x0, x1
assert_sreg 27<<16, x1
set_sreg 0x1f, x0
L5: pdmsb x0, x1
assert_sreg 26<<16, x1
set_sreg 0x3f, x0
L6: pdmsb x0, x1
assert_sreg 25<<16, x1
set_sreg 0x7f, x0
L7: pdmsb x0, x1
assert_sreg 24<<16, x1
set_sreg 0xff, x0
L8: pdmsb x0, x1
assert_sreg 23<<16, x1
set_sreg 0x1ff, x0
L9: pdmsb x0, x1
assert_sreg 22<<16, x1
set_sreg 0x3ff, x0
L10: pdmsb x0, x1
assert_sreg 21<<16, x1
set_sreg 0x7ff, x0
L11: pdmsb x0, x1
assert_sreg 20<<16, x1
set_sreg 0xfff, x0
L12: pdmsb x0, x1
assert_sreg 19<<16, x1
set_sreg 0x1fff, x0
L13: pdmsb x0, x1
assert_sreg 18<<16, x1
set_sreg 0x3fff, x0
L14: pdmsb x0, x1
assert_sreg 17<<16, x1
set_sreg 0x7fff, x0
L15: pdmsb x0, x1
assert_sreg 16<<16, x1
set_sreg 0xffff, x0
L16: pdmsb x0, x1
assert_sreg 15<<16, x1
set_sreg 0x1ffff, x0
L17: pdmsb x0, x1
assert_sreg 14<<16, x1
set_sreg 0x3ffff, x0
L18: pdmsb x0, x1
assert_sreg 13<<16, x1
set_sreg 0x7ffff, x0
L19: pdmsb x0, x1
assert_sreg 12<<16, x1
set_sreg 0xfffff, x0
L20: pdmsb x0, x1
assert_sreg 11<<16, x1
set_sreg 0x1fffff, x0
L21: pdmsb x0, x1
assert_sreg 10<<16, x1
set_sreg 0x3fffff, x0
L22: pdmsb x0, x1
assert_sreg 9<<16, x1
set_sreg 0x7fffff, x0
L23: pdmsb x0, x1
assert_sreg 8<<16, x1
set_sreg 0xffffff, x0
L24: pdmsb x0, x1
assert_sreg 7<<16, x1
set_sreg 0x1ffffff, x0
L25: pdmsb x0, x1
assert_sreg 6<<16, x1
set_sreg 0x3ffffff, x0
L26: pdmsb x0, x1
assert_sreg 5<<16, x1
set_sreg 0x7ffffff, x0
L27: pdmsb x0, x1
assert_sreg 4<<16, x1
set_sreg 0xfffffff, x0
L28: pdmsb x0, x1
assert_sreg 3<<16, x1
set_sreg 0x1fffffff, x0
L29: pdmsb x0, x1
assert_sreg 2<<16, x1
set_sreg 0x3fffffff, x0
L30: pdmsb x0, x1
assert_sreg 1<<16, x1
set_sreg 0x7fffffff, x0
L31: pdmsb x0, x1
assert_sreg 0<<16, x1
set_sreg 0xffffffff, x0
L32: pdmsb x0, x1
# assert_sreg 31<<16, x1
set_sreg 0xfffffffe, x0
L33: pdmsb x0, x1
assert_sreg 30<<16, x1
set_sreg 0xfffffffc, x0
L34: pdmsb x0, x1
assert_sreg 29<<16, x1
set_sreg 0xfffffff8, x0
L35: pdmsb x0, x1
assert_sreg 28<<16, x1
set_sreg 0xfffffff0, x0
L36: pdmsb x0, x1
assert_sreg 27<<16, x1
set_sreg 0xffffffe0, x0
L37: pdmsb x0, x1
assert_sreg 26<<16, x1
set_sreg 0xffffffc0, x0
L38: pdmsb x0, x1
assert_sreg 25<<16, x1
set_sreg 0xffffff80, x0
L39: pdmsb x0, x1
assert_sreg 24<<16, x1
set_sreg 0xffffff00, x0
L40: pdmsb x0, x1
assert_sreg 23<<16, x1
set_sreg 0xfffffe00, x0
L41: pdmsb x0, x1
assert_sreg 22<<16, x1
set_sreg 0xfffffc00, x0
L42: pdmsb x0, x1
assert_sreg 21<<16, x1
set_sreg 0xfffff800, x0
L43: pdmsb x0, x1
assert_sreg 20<<16, x1
set_sreg 0xfffff000, x0
L44: pdmsb x0, x1
assert_sreg 19<<16, x1
set_sreg 0xffffe000, x0
L45: pdmsb x0, x1
assert_sreg 18<<16, x1
set_sreg 0xffffc000, x0
L46: pdmsb x0, x1
assert_sreg 17<<16, x1
set_sreg 0xffff8000, x0
L47: pdmsb x0, x1
assert_sreg 16<<16, x1
set_sreg 0xffff0000, x0
L48: pdmsb x0, x1
assert_sreg 15<<16, x1
set_sreg 0xfffe0000, x0
L49: pdmsb x0, x1
assert_sreg 14<<16, x1
set_sreg 0xfffc0000, x0
L50: pdmsb x0, x1
assert_sreg 13<<16, x1
set_sreg 0xfff80000, x0
L51: pdmsb x0, x1
assert_sreg 12<<16, x1
set_sreg 0xfff00000, x0
L52: pdmsb x0, x1
assert_sreg 11<<16, x1
set_sreg 0xffe00000, x0
L53: pdmsb x0, x1
assert_sreg 10<<16, x1
set_sreg 0xffc00000, x0
L54: pdmsb x0, x1
assert_sreg 9<<16, x1
set_sreg 0xff800000, x0
L55: pdmsb x0, x1
assert_sreg 8<<16, x1
set_sreg 0xff000000, x0
L56: pdmsb x0, x1
assert_sreg 7<<16, x1
set_sreg 0xfe000000, x0
L57: pdmsb x0, x1
assert_sreg 6<<16, x1
set_sreg 0xfc000000, x0
L58: pdmsb x0, x1
assert_sreg 5<<16, x1
set_sreg 0xf8000000, x0
L59: pdmsb x0, x1
assert_sreg 4<<16, x1
set_sreg 0xf0000000, x0
L60: pdmsb x0, x1
assert_sreg 3<<16, x1
set_sreg 0xe0000000, x0
L61: pdmsb x0, x1
assert_sreg 2<<16, x1
set_sreg 0xc0000000, x0
L62: pdmsb x0, x1
assert_sreg 1<<16, x1
set_sreg 0x80000000, x0
L63: pdmsb x0, x1
assert_sreg 0<<16, x1
set_sreg 0x00000000, x0
L64: pdmsb x0, x1
# assert_sreg 31<<16, x1
test_grs_a5a5
assert_sreg 0xa5a5a5a5, y0
assert_sreg 0xa5a5a5a5, y1
assert_sreg 0xa5a5a5a5, a0
assert_sreg2 0xa5a5a5a5, a1
assert_sreg2 0xa5a5a5a5, m0
assert_sreg2 0xa5a5a5a5, m1
pass
exit 0