# sh testcase for bset # mach: all # as(sh): -defsym sim_cpu=0 # as(shdsp): -defsym sim_cpu=1 -dsp .include "testutils.inc" .align 2 _x: .long 0 _y: .long 0x55555555 start bset_b_imm_disp12_reg: set_grs_a5a5 mov.l x, r1 bset.b #0, @(3, r1) assertmem _x, 0x1 bset.b #1, @(3, r1) assertmem _x, 0x3 bset.b #2, @(3, r1) assertmem _x, 0x7 bset.b #3, @(3, r1) assertmem _x, 0xf bset.b #4, @(3, r1) assertmem _x, 0x1f bset.b #5, @(3, r1) assertmem _x, 0x3f bset.b #6, @(3, r1) assertmem _x, 0x7f bset.b #7, @(3, r1) assertmem _x, 0xff bset.b #0, @(2, r1) assertmem _x, 0x1ff bset.b #1, @(2, r1) assertmem _x, 0x3ff bset.b #2, @(2, r1) assertmem _x, 0x7ff bset.b #3, @(2, r1) assertmem _x, 0xfff bra .L2 nop .align 2 x: .long _x y: .long _y .L2: bset.b #4, @(2, r1) assertmem _x, 0x1fff bset.b #5, @(2, r1) assertmem _x, 0x3fff bset.b #6, @(2, r1) assertmem _x, 0x7fff bset.b #7, @(2, r1) assertmem _x, 0xffff bset.b #0, @(1, r1) assertmem _x, 0x1ffff bset.b #1, @(1, r1) assertmem _x, 0x3ffff bset.b #2, @(1, r1) assertmem _x, 0x7ffff bset.b #3, @(1, r1) assertmem _x, 0xfffff bset.b #4, @(1, r1) assertmem _x, 0x1fffff bset.b #5, @(1, r1) assertmem _x, 0x3fffff bset.b #6, @(1, r1) assertmem _x, 0x7fffff bset.b #7, @(1, r1) assertmem _x, 0xffffff bset.b #0, @(0, r1) assertmem _x, 0x1ffffff bset.b #1, @(0, r1) assertmem _x, 0x3ffffff bset.b #2, @(0, r1) assertmem _x, 0x7ffffff bset.b #3, @(0, r1) assertmem _x, 0xfffffff bset.b #4, @(0, r1) assertmem _x, 0x1fffffff bset.b #5, @(0, r1) assertmem _x, 0x3fffffff bset.b #6, @(0, r1) assertmem _x, 0x7fffffff bset.b #7, @(0, r1) assertmem _x, 0xffffffff assertreg _x, r1 bset_imm_reg: set_greg 0, r1 bset #0, r1 assertreg 0x1, r1 bset #1, r1 assertreg 0x3, r1 bset #2, r1 assertreg 0x7, r1 bset #3, r1 assertreg 0xf, r1 bset #4, r1 assertreg 0x1f, r1 bset #5, r1 assertreg 0x3f, r1 bset #6, r1 assertreg 0x7f, r1 bset #7, r1 assertreg 0xff, r1 test_gr_a5a5 r0 test_gr_a5a5 r2 test_gr_a5a5 r3 test_gr_a5a5 r4 test_gr_a5a5 r5 test_gr_a5a5 r6 test_gr_a5a5 r7 test_gr_a5a5 r8 test_gr_a5a5 r9 test_gr_a5a5 r10 test_gr_a5a5 r11 test_gr_a5a5 r12 test_gr_a5a5 r13 test_gr_a5a5 r14 pass exit 0