binutils-gdb/sim/testsuite/sh/bclr.s
Mike Frysinger 1368b914e9 sim: testsuite: flatten tree
Now that all port tests live under testsuite/sim/*/, and none live
in testsuite/ directly, flatten the structure by moving all of the
dirs under testsuite/sim/ to testsuite/ directly.

We need to stop passing --tool to dejagnu so that it searches all
dirs and not just ones that start with "sim".  Since we have no
other dirs in this tree, and no plans to add any, should be fine.
2021-01-15 19:18:34 -05:00

140 lines
2.3 KiB
ArmAsm

# sh testcase for bclr
# mach: all
# as(sh): -defsym sim_cpu=0
# as(shdsp): -defsym sim_cpu=1 -dsp
.include "testutils.inc"
.align 2
_x: .long 0xffffffff
_y: .long 0x55555555
start
bclr_b_imm_disp12_reg:
set_grs_a5a5
mov.l x, r1
bclr.b #0, @(3, r1)
assertmem _x, 0xfffffffe
bclr.b #1, @(3, r1)
assertmem _x, 0xfffffffc
bclr.b #2, @(3, r1)
assertmem _x, 0xfffffff8
bclr.b #3, @(3, r1)
assertmem _x, 0xfffffff0
bclr.b #4, @(3, r1)
assertmem _x, 0xffffffe0
bclr.b #5, @(3, r1)
assertmem _x, 0xffffffc0
bclr.b #6, @(3, r1)
assertmem _x, 0xffffff80
bclr.b #7, @(3, r1)
assertmem _x, 0xffffff00
bclr.b #0, @(2, r1)
assertmem _x, 0xfffffe00
bclr.b #1, @(2, r1)
assertmem _x, 0xfffffc00
bclr.b #2, @(2, r1)
assertmem _x, 0xfffff800
bclr.b #3, @(2, r1)
assertmem _x, 0xfffff000
bra .L2
nop
.align 2
x: .long _x
y: .long _y
.L2:
bclr.b #4, @(2, r1)
assertmem _x, 0xffffe000
bclr.b #5, @(2, r1)
assertmem _x, 0xffffc000
bclr.b #6, @(2, r1)
assertmem _x, 0xffff8000
bclr.b #7, @(2, r1)
assertmem _x, 0xffff0000
bclr.b #0, @(1, r1)
assertmem _x, 0xfffe0000
bclr.b #1, @(1, r1)
assertmem _x, 0xfffc0000
bclr.b #2, @(1, r1)
assertmem _x, 0xfff80000
bclr.b #3, @(1, r1)
assertmem _x, 0xfff00000
bclr.b #4, @(1, r1)
assertmem _x, 0xffe00000
bclr.b #5, @(1, r1)
assertmem _x, 0xffc00000
bclr.b #6, @(1, r1)
assertmem _x, 0xff800000
bclr.b #7, @(1, r1)
assertmem _x, 0xff000000
bclr.b #0, @(0, r1)
assertmem _x, 0xfe000000
bclr.b #1, @(0, r1)
assertmem _x, 0xfc000000
bclr.b #2, @(0, r1)
assertmem _x, 0xf8000000
bclr.b #3, @(0, r1)
assertmem _x, 0xf0000000
bclr.b #4, @(0, r1)
assertmem _x, 0xe0000000
bclr.b #5, @(0, r1)
assertmem _x, 0xc0000000
bclr.b #6, @(0, r1)
assertmem _x, 0x80000000
bclr.b #7, @(0, r1)
assertmem _x, 0x00000000
assertreg _x, r1
bclr_imm_reg:
set_greg 0xff, r1
bclr #0, r1
assertreg 0xfe, r1
bclr #1, r1
assertreg 0xfc, r1
bclr #2, r1
assertreg 0xf8, r1
bclr #3, r1
assertreg 0xf0, r1
bclr #4, r1
assertreg 0xe0, r1
bclr #5, r1
assertreg 0xc0, r1
bclr #6, r1
assertreg 0x80, r1
bclr #7, r1
assertreg 0x00, 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