mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-10 21:47:06 +00:00
simpler, I've rewritten those testcases from none/tests/s390x that require binutils to recognize opcodes defined in the extended-immediate and general-instruction-extension facilities. As a side effect this change removes the special casing in none/tests/s390x/Makefile.am and the configury bits to support it. Fixes #270115. (Florian Krohm, britzel@acm.org) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11693
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
#include <stdio.h>
|
|
#include "add.h"
|
|
#include "opcodes.h"
|
|
|
|
static void do_imm_insns(void)
|
|
{
|
|
immsweep(ahi, 0, 0);
|
|
immsweep(ahi, -1, 0);
|
|
immsweep(ahi, -32768, 0);
|
|
immsweep(ahi, 32767, 0);
|
|
immsweep(aghi, 0, 0);
|
|
immsweep(aghi, -1, 0);
|
|
immsweep(aghi, -32768, 0);
|
|
immsweep(aghi, 32767, 0);
|
|
}
|
|
|
|
|
|
static void do_regmem_insns(unsigned long s2)
|
|
{
|
|
memsweep(a, s2, 0);
|
|
memsweep(ah, s2, 0);
|
|
memsweep(ag, s2, 0);
|
|
memsweep(agf, s2, 0);
|
|
memsweep(al, s2, 0);
|
|
memsweep(alg, s2, 0);
|
|
memsweep(agf, s2, 0);
|
|
memsweep(algf, s2, 0);
|
|
regsweep(ar, s2, 0);
|
|
regsweep(agr, s2, 0);
|
|
regsweep(agfr, s2, 0);
|
|
regsweep(alr, s2, 0);
|
|
regsweep(algr, s2, 0);
|
|
regsweep(algfr, s2, 0);
|
|
memsweep(alc, s2, 0);
|
|
memsweep(alcg, s2, 0);
|
|
regsweep(alcr, s2, 0);
|
|
regsweep(alcgr, s2, 0);
|
|
memsweep(alc, s2, 1);
|
|
memsweep(alcg, s2, 1);
|
|
regsweep(alcr, s2, 1);
|
|
regsweep(alcgr, s2, 1);
|
|
ldispsweep(AHY, s2, 0);
|
|
ldispsweep(AY, s2, 0);
|
|
ldispsweep(ALY, s2, 0);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
do_regmem_insns(0x0ul);
|
|
do_regmem_insns(0x7ffffffffffffffful);
|
|
do_regmem_insns(0x8000000000000000ul);
|
|
do_regmem_insns(0xfffffffffffffffful);
|
|
do_regmem_insns(0x7fffffff00000000ul);
|
|
do_regmem_insns(0x8000000000000000ul);
|
|
do_regmem_insns(0xffffffff00000000ul);
|
|
do_regmem_insns(0x000000007ffffffful);
|
|
do_regmem_insns(0x0000000080000000ul);
|
|
do_regmem_insns(0x00000000fffffffful);
|
|
do_regmem_insns(0x000000000000fffful);
|
|
do_regmem_insns(0x0000000000007ffful);
|
|
do_regmem_insns(0x0000000000008000ul);
|
|
do_regmem_insns(0x000000000000fffful);
|
|
|
|
do_imm_insns();
|
|
|
|
return 0;
|
|
}
|