mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
Valgrind, ppc: Fix test for 32-bit testsuite.
The 32-bit testsuite executes the 64-bit class instruction prtyd. This instruction should not be tested in 32-bit mode. The change also updates the expected output for the test. Note, 32-bit HW will generate a SIGILL when the prtyd instruction is executed. However, the 64-bit HW executing a 32-bit application does execute the instruction but only the lower 32-bits of the result are valid. In general, the 64-bit class instructions should not be executed in 32-bit binaries. This fix accompanies the VEX fix in revision 2558 to add the 64-bit mode test to make sure the 64-bit class instructions are only executed in 64-bit mode. The VEX bugzilla is: Bug 308573 - Internal Valgrind error on 64-bit instruction executed in 32-bit mode Carl Love cel@us.ibm.com git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13091
This commit is contained in:
parent
dfcb17173d
commit
b8c5c508da
@ -29,9 +29,11 @@ void test_parity_instrs()
|
||||
|
||||
for (i = 0; i < 50; i++) {
|
||||
word = base256(i);
|
||||
#ifdef __powerpc64__
|
||||
long_word = word;
|
||||
__asm__ volatile ("prtyd %0, %1":"=r" (parity):"r"(long_word));
|
||||
printf("prtyd (%x) => parity=%x\n", i, parity);
|
||||
#endif
|
||||
__asm__ volatile ("prtyw %0, %1":"=r" (parity):"r"(word));
|
||||
printf("prtyw (%x) => parity=%x\n", i, parity);
|
||||
}
|
||||
|
||||
@ -20,103 +20,53 @@ stfdp (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
|
||||
lfdpx (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
|
||||
stfdpx (2.204800, 2.204800) => F_hi=2.204800, F_lo=2.204800
|
||||
lfiwax (-1024.000000) => FRT=(ffffffff, c0900000)
|
||||
prtyd (0) => parity=0
|
||||
prtyw (0) => parity=0
|
||||
prtyd (1) => parity=1
|
||||
prtyw (1) => parity=1
|
||||
prtyd (2) => parity=0
|
||||
prtyw (2) => parity=0
|
||||
prtyd (3) => parity=1
|
||||
prtyw (3) => parity=1
|
||||
prtyd (4) => parity=0
|
||||
prtyw (4) => parity=0
|
||||
prtyd (5) => parity=1
|
||||
prtyw (5) => parity=1
|
||||
prtyd (6) => parity=0
|
||||
prtyw (6) => parity=0
|
||||
prtyd (7) => parity=1
|
||||
prtyw (7) => parity=1
|
||||
prtyd (8) => parity=0
|
||||
prtyw (8) => parity=0
|
||||
prtyd (9) => parity=1
|
||||
prtyw (9) => parity=1
|
||||
prtyd (a) => parity=0
|
||||
prtyw (a) => parity=0
|
||||
prtyd (b) => parity=1
|
||||
prtyw (b) => parity=1
|
||||
prtyd (c) => parity=0
|
||||
prtyw (c) => parity=0
|
||||
prtyd (d) => parity=1
|
||||
prtyw (d) => parity=1
|
||||
prtyd (e) => parity=0
|
||||
prtyw (e) => parity=0
|
||||
prtyd (f) => parity=1
|
||||
prtyw (f) => parity=1
|
||||
prtyd (10) => parity=0
|
||||
prtyw (10) => parity=0
|
||||
prtyd (11) => parity=1
|
||||
prtyw (11) => parity=1
|
||||
prtyd (12) => parity=0
|
||||
prtyw (12) => parity=0
|
||||
prtyd (13) => parity=1
|
||||
prtyw (13) => parity=1
|
||||
prtyd (14) => parity=0
|
||||
prtyw (14) => parity=0
|
||||
prtyd (15) => parity=1
|
||||
prtyw (15) => parity=1
|
||||
prtyd (16) => parity=0
|
||||
prtyw (16) => parity=0
|
||||
prtyd (17) => parity=1
|
||||
prtyw (17) => parity=1
|
||||
prtyd (18) => parity=0
|
||||
prtyw (18) => parity=0
|
||||
prtyd (19) => parity=1
|
||||
prtyw (19) => parity=1
|
||||
prtyd (1a) => parity=0
|
||||
prtyw (1a) => parity=0
|
||||
prtyd (1b) => parity=1
|
||||
prtyw (1b) => parity=1
|
||||
prtyd (1c) => parity=0
|
||||
prtyw (1c) => parity=0
|
||||
prtyd (1d) => parity=1
|
||||
prtyw (1d) => parity=1
|
||||
prtyd (1e) => parity=0
|
||||
prtyw (1e) => parity=0
|
||||
prtyd (1f) => parity=1
|
||||
prtyw (1f) => parity=1
|
||||
prtyd (20) => parity=0
|
||||
prtyw (20) => parity=0
|
||||
prtyd (21) => parity=1
|
||||
prtyw (21) => parity=1
|
||||
prtyd (22) => parity=0
|
||||
prtyw (22) => parity=0
|
||||
prtyd (23) => parity=1
|
||||
prtyw (23) => parity=1
|
||||
prtyd (24) => parity=0
|
||||
prtyw (24) => parity=0
|
||||
prtyd (25) => parity=1
|
||||
prtyw (25) => parity=1
|
||||
prtyd (26) => parity=0
|
||||
prtyw (26) => parity=0
|
||||
prtyd (27) => parity=1
|
||||
prtyw (27) => parity=1
|
||||
prtyd (28) => parity=0
|
||||
prtyw (28) => parity=0
|
||||
prtyd (29) => parity=1
|
||||
prtyw (29) => parity=1
|
||||
prtyd (2a) => parity=0
|
||||
prtyw (2a) => parity=0
|
||||
prtyd (2b) => parity=1
|
||||
prtyw (2b) => parity=1
|
||||
prtyd (2c) => parity=0
|
||||
prtyw (2c) => parity=0
|
||||
prtyd (2d) => parity=1
|
||||
prtyw (2d) => parity=1
|
||||
prtyd (2e) => parity=0
|
||||
prtyw (2e) => parity=0
|
||||
prtyd (2f) => parity=1
|
||||
prtyw (2f) => parity=1
|
||||
prtyd (30) => parity=0
|
||||
prtyw (30) => parity=0
|
||||
prtyd (31) => parity=1
|
||||
prtyw (31) => parity=1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user