1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00
guile/check/ldst.inc
pcpa e7e55966cb Add new ldst variant test cases to check base/index register clobber.
* check/ldstr-c.ok, check/ldstr-c.tst, check/ldstxi-c.ok,
	check/ldstxi-c.tst, check/ldstxr-c.ok, check/ldstxr-c.tst:
	New test case files testing load clobbering the base and/or
	index register;

	* check/ldst.inc: New file with common definition for all the
	ldst* test cases.

	check/Makefile.am, check/ldsti.tst, check/ldstr.tst,
	check/ldstxi.tst, check/ldstxr.tst: Update for new common
	definitions file and new register clobber ldst tests.
2012-12-06 10:00:30 -02:00

101 lines
1.8 KiB
C++

#if __WORDSIZE == 64
# define L0 0x8000000000000001
# define LL0 L0
# define LC0 0xffffffffffffff81
# define LS0 0xffffffffffff8001
# define LI0 0xffffffff80000001
# define L1 0x8000000000000000
# define LL1 L1
# define LC1 0xffffffffffffff80
# define LS1 0xffffffffffff8000
# define LI1 0xffffffff80000000
# define L2 0x7fffffffffffffff
# define LL2 L2
# define LC2 0x000000000000007f
# define LS2 0x0000000000007fff
# define LI2 0x000000007fffffff
# define L3 0xffffffffffffffff
# define LL3 L3
# define LC3 0xffffffffffffffff
# define LS3 0xffffffffffffffff
# define LI3 0xffffffffffffffff
# define XC LC0
# define XS LS0
# define XI LI0
#else
# define XC IC0
# define XS IS0
# define XI II0
#endif
#define I0 0x80000001
#define II0 I0
#define IC0 0xffffff81
#define IS0 0xffff8001
#define I1 0x80000000
#define II1 I1
#define IC1 0xffffff80
#define IS1 0xffff8000
#define I2 0x7fffffff
#define II2 I2
#define IC2 0x0000007f
#define IS2 0x00007fff
#define I3 0xffffffff
#define II3 I3
#define IC3 0xffffffff
#define IS3 0xffffffff
#define S0 0x8001
#define S1 0x8000
#define S2 0x7fff
#define S3 0xffff
#define C0 0x81
#define C1 0x80
#define C2 0x7f
#define C3 0xff
#define F0 0.25
#define F1 0.75
#define F2 -0.25
#define F3 -0.75
#define D0 0.25
#define D1 0.75
#define D2 -0.25
#define D3 -0.75
.data 512
ok:
.c "ok\n"
t0:
c0:
.c 0
uc0:
.c 0
s0:
.s 0
us0:
.s 0
.align 4
i0:
.i 0
#if __WORDSIZE == 64
ui0:
.i 0
.align 8
l0:
.l 0
#endif
f0:
.f 0
.align 8
d0:
.d 0
. $($offc = c0 - t0)
. $($offuc = uc0 - t0)
. $($offs = s0 - t0)
. $($offus = us0 - t0)
. $($offi = i0 - t0)
#if __WORDSIZE == 64
. $($offui = ui0 - t0)
. $($offl = l0 - t0)
#endif
. $($offf = f0 - t0)
. $($offd = d0 - t0)