You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(3) |
2
|
3
(5) |
4
(9) |
5
(4) |
6
|
|
7
(1) |
8
(8) |
9
(8) |
10
(12) |
11
(12) |
12
(10) |
13
(4) |
|
14
(8) |
15
(9) |
16
(16) |
17
(12) |
18
(5) |
19
(5) |
20
(5) |
|
21
|
22
(13) |
23
(5) |
24
(13) |
25
(1) |
26
(3) |
27
(3) |
|
28
|
29
(1) |
30
(3) |
31
(9) |
|
|
|
|
From: Ivo R. <iv...@iv...> - 2017-05-17 22:40:09
|
2017-05-17 23:09 GMT+02:00 Philippe Waroquiers <phi...@sk...>: > On Wed, 2017-05-17 at 23:03 +0200, Philippe Waroquiers wrote: >> Not too clear to me what are these adcx* instructions, and if they >> are supposed to be supported according to the configure test, which >> checks vmovupd and vaddpd instructions. > As I understand, adcx instruction is available if adx extension > is supported. > > On my desktop (where the test compile) adx is in /proc/cpuinfo. > > But on gcc20, there is no such adx flag. > > I imagine we need a specific configure test for BUILD_ADX_TESTS? > > What do you think? Yes, that would be probably the most sane way how to check binutils capabilities in this case. I will try to make this happen on Thursday; if not then I am offline whole weekend with my family. I. |
|
From: Philippe W. <phi...@sk...> - 2017-05-17 21:09:22
|
On Wed, 2017-05-17 at 23:03 +0200, Philippe Waroquiers wrote: > Not too clear to me what are these adcx* instructions, and if they > are supposed to be supported according to the configure test, which > checks vmovupd and vaddpd instructions. As I understand, adcx instruction is available if adx extension is supported. On my desktop (where the test compile) adx is in /proc/cpuinfo. But on gcc20, there is no such adx flag. I imagine we need a specific configure test for BUILD_ADX_TESTS ? What do you think ? Thanks Philippe |
|
From: Philippe W. <phi...@sk...> - 2017-05-17 21:03:15
|
On Wed, 2017-05-17 at 11:06 +0000, sv...@va... wrote: > Author: iraisr > Date: Wed May 17 12:06:53 2017 > New Revision: 16393 > > Log: > Fix test fb_test_amd64. > Follow up to r16372. > > The test is now built if the compiler understands AVX > instructions. On gcc20 compile farm machine, the test still fails to compile with the error: gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include -I../../../coregrind -I../../../include -I../../../VEX/pub -I../../../VEX/pub -DVGA_amd64=1 -DVGO_linux=1 -DVGP_amd64_linux=1 -DVGPV_amd64_linux_vanilla=1 -DVGA_SEC_x86=1 -DVGP_SEC_amd64_linux=1 -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m64 -O -fno-strict-aliasing -MT fb_test_amd64-fb_test_amd64.o -MD -MP -MF .deps/fb_test_amd64-fb_test_amd64.Tpo -c -o fb_test_amd64-fb_test_amd64.o `test -f 'fb_test_amd64.c' || echo './'`fb_test_amd64.c fb_test_amd64.h: Assembler messages: fb_test_amd64.h:71: Error: no such instruction: `adcxq %r14,%r8' fb_test_amd64.h:81: Error: no such instruction: `adcxl %r14d,%r8d' fb_test_amd64.h:71: Error: no such instruction: `adcxq %r14,%r8' fb_test_amd64.h:81: Error: no such instruction: `adcxl %r14d,%r8d' fb_test_amd64.h:71: Error: no such instruction: `adoxq %r14,%r8' fb_test_amd64.h:81: Error: no such instruction: `adoxl %r14d,%r8d' fb_test_amd64.h:71: Error: no such instruction: `adoxq %r14,%r8' fb_test_amd64.h:81: Error: no such instruction: `adoxl %r14d,%r8d' make[5]: *** [fb_test_amd64-fb_test_amd64.o] Error 1 The gcc and as versions are: gcc (Debian 4.7.2-5) 4.7.2 GNU assembler (GNU Binutils for Debian) 2.22 The config.log effectively sets BUILD_AVX_TESTS to yes, based on the configure test. Not too clear to me what are these adcx* instructions, and if they are supposed to be supported according to the configure test, which checks vmovupd and vaddpd instructions. Philippe |
|
From: <sv...@va...> - 2017-05-17 20:38:25
|
Author: mjw
Date: Wed May 17 21:38:18 2017
New Revision: 16397
Log:
Fix vgversion.h generation for builddir != srcdir.
Make sure to include the builddir include directory to find the
generated vgversion.h. Make include/vgversion.h a .PHONY target
so it always gets regenerated even if the file is already there.
Make sure to run svnversion in the srcdir.
Patch by Matthias Schwarzott <zz...@ge...>
Modified:
trunk/Makefile.all.am
trunk/Makefile.am
trunk/auxprogs/make_or_upd_vgversion_h
Modified: trunk/Makefile.all.am
==============================================================================
--- trunk/Makefile.all.am (original)
+++ trunk/Makefile.all.am Wed May 17 21:38:18 2017
@@ -150,6 +150,7 @@
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_srcdir)/VEX/pub \
-I$(top_builddir)/VEX/pub \
-DVGA_@VGCONF_ARCH_PRI@=1 \
@@ -160,6 +161,7 @@
AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_srcdir)/VEX/pub \
-I$(top_builddir)/VEX/pub \
-DVGA_@VGCONF_ARCH_SEC@=1 \
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Wed May 17 21:38:18 2017
@@ -62,7 +62,7 @@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = valgrind.pc
-BUILT_SOURCES = default.supp vgversion.h valgrind.pc
+BUILT_SOURCES = default.supp include/vgversion.h valgrind.pc
CLEANFILES = default.supp
default.supp: $(DEFAULT_SUPP_FILES)
@@ -116,13 +116,13 @@
valgrind.spec \
autogen.sh
-dist-hook: vgversion.h
+dist-hook: include/vgversion.h
cp -p include/vgversion.h $(distdir)/include/vgversion.h
dist_noinst_SCRIPTS = \
vg-in-place
-all-local: default.supp vgversion.h
+all-local: default.supp include/vgversion.h
mkdir -p $(inplacedir)
rm -f $(inplacedir)/default.supp
ln -s ../default.supp $(inplacedir)
@@ -134,5 +134,8 @@
pkginclude_HEADERS = config.h
# vgversion.h defines accurate versions to report with -v --version
-vgversion.h:
- $(top_srcdir)/auxprogs/make_or_upd_vgversion_h
+include/vgversion.h:
+ $(top_srcdir)/auxprogs/make_or_upd_vgversion_h $(top_srcdir)
+
+.PHONY: include/vgversion.h
+
Modified: trunk/auxprogs/make_or_upd_vgversion_h
==============================================================================
--- trunk/auxprogs/make_or_upd_vgversion_h (original)
+++ trunk/auxprogs/make_or_upd_vgversion_h Wed May 17 21:38:18 2017
@@ -14,20 +14,22 @@
fi
}
+srcdir=${1:-.}
+
cat > include/vgversion.h.tmp <<EOF
/* Do not edit: file generated by auxprogs/make_or_upd_vgversion_h.
This file defines VGSVN and VEXSVN, used to report SVN revision
when using command line options: -v --version
*/
-#define VGSVN "$(extract_svn_version .)"
-#define VEXSVN "$(extract_svn_version VEX)"
+#define VGSVN "$(extract_svn_version $srcdir/.)"
+#define VEXSVN "$(extract_svn_version $srcdir/VEX)"
EOF
if [ -f include/vgversion.h ]
then
# There is already a vgversion.h.
# Update it only if we found a different and real svn version
- if grep unknown include/vgversion.h.tmp ||
+ if grep -q unknown include/vgversion.h.tmp ||
cmp -s include/vgversion.h include/vgversion.h.tmp
then
rm include/vgversion.h.tmp
|
|
From: Philippe W. <phi...@sk...> - 2017-05-17 20:18:09
|
For 3.13 release, I am doing a self-hosting of valgrind, running all regression tests with an outer memcheck and the inner tools corresponding to the test being run. I am running this on debian 8/amd64. I will send a mail for the errors found by the outer memcheck that are worth a more in depth investigation/explanation. So, here is a newly added test, that causes memcheck to complain. A native run of this test under memcheck does not cause any error. So, this might be a real bug in valgrind/drd. The detailed errors reported are: ==13472== Memcheck, a memory error detector ==13472== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==13472== Using Valgrind-3.13.0.SVN and LibVEX; rerun with -h for copyright info ==13472== Command: /home/philippe/valgrind/svn/inner_trunk_untouched/.in_place/drd-amd64-linux --command-line-only=yes --memcheck:leak-check=no --sim-hints=no-inner-prefix --tool=drd --read-var-info=yes --check-stack-var=yes --show-confl-seg=no ./dlopen_main ./dlopen_lib.so ==13472== Parent PID: 13471 ==13472== ==13472== Warning: client switching stacks? SP change: 0x1ffefffee0 --> 0x38d566f8 ==13472== to suppress, use: --max-stackframe=136468666344 or greater ==13472== Warning: ignored attempt to set SIGRT32 handler in sigaction(); ==13472== the SIGRT32 signal is used internally by Valgrind ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0xFE5E48D22: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x4017784: index (strchr.S:77) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x3805518F: bm_cache_lookup (drd_bitmap.h:391) ==13472== by 0x3805518F: bm2_lookup_or_insert (drd_bitmap.h:608) ==13472== by 0x3805518F: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640) ==13472== by 0x3805518F: bm_access_aligned_load (drd_bitmap.h:668) ==13472== by 0x3805518F: vgDrd_bm_access_load_1 (drd_bitmap.c:203) ==13472== by 0x3805518F: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37) ==13472== by 0x3805518F: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x3805519D: bm_cache_lookup (drd_bitmap.h:398) ==13472== by 0x3805519D: bm2_lookup_or_insert (drd_bitmap.h:608) ==13472== by 0x3805519D: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640) ==13472== by 0x3805519D: bm_access_aligned_load (drd_bitmap.h:668) ==13472== by 0x3805519D: vgDrd_bm_access_load_1 (drd_bitmap.c:203) ==13472== by 0x3805519D: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37) ==13472== by 0x3805519D: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x380551AB: bm_cache_lookup (drd_bitmap.h:405) ==13472== by 0x380551AB: bm2_lookup_or_insert (drd_bitmap.h:608) ==13472== by 0x380551AB: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640) ==13472== by 0x380551AB: bm_access_aligned_load (drd_bitmap.h:668) ==13472== by 0x380551AB: vgDrd_bm_access_load_1 (drd_bitmap.c:203) ==13472== by 0x380551AB: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37) ==13472== by 0x380551AB: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Use of uninitialised value of size 8 ==13472== at 0x3805526F: bm0_set_range (drd_bitmap.h:262) ==13472== by 0x3805526F: bm_access_aligned_load (drd_bitmap.h:669) ==13472== by 0x3805526F: vgDrd_bm_access_load_1 (drd_bitmap.c:203) ==13472== by 0x3805526F: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37) ==13472== by 0x3805526F: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x38055286: bm_cache_lookup (drd_bitmap.h:391) ==13472== by 0x38055286: bm2_lookup (drd_bitmap.h:510) ==13472== by 0x38055286: bm_aligned_load_has_conflict_with (drd_bitmap.h:700) ==13472== by 0x38055286: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880) ==13472== by 0x38055286: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38) ==13472== by 0x38055286: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x38055291: bm_cache_lookup (drd_bitmap.h:398) ==13472== by 0x38055291: bm2_lookup (drd_bitmap.h:510) ==13472== by 0x38055291: bm_aligned_load_has_conflict_with (drd_bitmap.h:700) ==13472== by 0x38055291: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880) ==13472== by 0x38055291: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38) ==13472== by 0x38055291: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Conditional jump or move depends on uninitialised value(s) ==13472== at 0x3805529C: bm_cache_lookup (drd_bitmap.h:405) ==13472== by 0x3805529C: bm2_lookup (drd_bitmap.h:510) ==13472== by 0x3805529C: bm_aligned_load_has_conflict_with (drd_bitmap.h:700) ==13472== by 0x3805529C: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880) ==13472== by 0x3805529C: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38) ==13472== by 0x3805529C: drd_trace_load_1 (drd_load_store.c:199) ==13472== by 0xFE5E5F6A9: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== Use of uninitialised value of size 8 ==13472== at 0xFE5E5F6B5: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0x3808B90F: ??? (m_translate.c:752) ==13472== by 0x100000000: ??? ==13472== by 0xFE4A60EA7: ??? ==13472== by 0xFE4A60EBF: ??? ==13472== by 0xFE18192FF: ??? ==13472== by 0x400A9B6: _dl_new_object (dl-object.c:191) ==13472== by 0xF000155A5: ??? ==13472== by 0x380D392E: thread_wrapper (syswrap-linux.c:103) ==13472== by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156) ==13472== by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332) ==13472== by 0x401783D: index (strchr.S:135) ==13472== by 0x400AA79: _dl_new_object (dl-object.c:205) ==13472== by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059) ==13472== by 0x400805E: _dl_map_object (dl-load.c:2605) ==13472== by 0x40129E4: dl_open_worker (dl-open.c:235) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x40123FA: _dl_open (dl-open.c:661) ==13472== by 0x525502A: dlopen_doit (dlopen.c:66) ==13472== by 0x400E873: _dl_catch_error (dl-error.c:187) ==13472== by 0x52555DC: _dlerror_run (dlerror.c:163) ==13472== by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87) ==13472== by 0x4007AF: main (dlopen_main.c:13) ==13472== ==13472== ==13472== HEAP SUMMARY: ==13472== in use at exit: 50,238,064 bytes in 344,883 blocks ==13472== total heap usage: 3,474,661 allocs, 3,129,778 frees, 426,413,520 bytes allocated ==13472== ==13472== LEAK SUMMARY: ==13472== definitely lost: 0 bytes in 0 blocks ==13472== indirectly lost: 0 bytes in 0 blocks ==13472== possibly lost: 0 bytes in 0 blocks ==13472== still reachable: 50,237,680 bytes in 344,882 blocks ==13472== suppressed: 384 bytes in 1 blocks ==13472== Reachable blocks (those to which a pointer was found) are not shown. ==13472== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==13472== ==13472== For counts of detected and suppressed errors, rerun with: -v ==13472== Use --track-origins=yes to see where uninitialised values come from ==13472== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 1 from 1) |
Author: carll
Date: Wed May 17 21:11:32 2017
New Revision: 16396
Log:
PPC64, ISA 3.0 fixes
- Fix mffs instruction, FPSCR, C_FPCC field access is not
working correctly.
- Fix xscmpexpdp again still had a bug.
- Remove duplicate tests from test_isa_3_0.c
- Comment out he tests for the new ISA 3.0B instructions. There
seem to be some issues between the simulator and early HW that
need to be sorted out.
Bugzilla 379925, VEX commit 3375
Modified:
trunk/NEWS
trunk/none/tests/ppc64/test_isa_3_0.c
trunk/none/tests/ppc64/test_isa_3_0_altivec.stdout.exp-LE
trunk/none/tests/ppc64/test_isa_3_0_other.stdout.exp-LE
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 17 21:11:32 2017
@@ -199,6 +199,7 @@
379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions, expected output
update.
379895 clock_gettime does not execute POST syscall wrapper
+379925 PPC64, mtffs does not set the FPCC and C bits in the FPSCR register correctly
Release 3.12.0 (20 October 2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/none/tests/ppc64/test_isa_3_0.c
==============================================================================
--- trunk/none/tests/ppc64/test_isa_3_0.c (original)
+++ trunk/none/tests/ppc64/test_isa_3_0.c Wed May 17 21:11:32 2017
@@ -285,7 +285,7 @@
{ &test_moduw, "moduw" },
{ &test_modsd, "modsd" },
{ &test_modud, "modud" },
- // { &test_addex, "addex" },
+ //{ &test_addex, "addex" },
{ NULL , NULL },
};
@@ -509,7 +509,7 @@
/* vector, 3->1 unique; four arguments. xt, xa, xb, xc (xc = permute) */
static test_list_t testgroup_vector_four[] = {
{ &test_vpermr, "vpermr" },
- { &test_vmsumudm, "vmsumudm" },
+ // { &test_vmsumudm, "vmsumudm" },
{ NULL , NULL },
};
@@ -2162,18 +2162,18 @@
/* mffs* instructions using FRT only. */
/* Note to self - Watch DRM,RM fields. */
static test_list_t testgroup_mffs_misc[] = {
- { &test_mffsce, "mffsce" },
- { &test_mffsl, "mffsl" },
+ // { &test_mffsce, "mffsce" },
+ // { &test_mffsl, "mffsl" },
{ &test_mffs, "mffs" },
{ NULL , NULL },
};
/* mffs* instructions using FRT,FRB. */
static test_list_t testgroup_mffs_misc_one[] = {
- { &test_mffscdrni, "mffscdrni" },
- { &test_mffscdrn, "mffscdrn" },
- { &test_mffscrni, "mffscrni" },
- { &test_mffscrn, "mffscrn" },
+ // { &test_mffscdrni, "mffscdrni" },
+ // { &test_mffscdrn, "mffscdrn" },
+ // { &test_mffscrni, "mffscrni" },
+ // { &test_mffscrn, "mffscrn" },
{ NULL , NULL },
};
@@ -2345,26 +2345,6 @@
"ppc mffpscr",
PPC_MFFS,
},
- {
- testgroup_ia_ops_two,
- "PPC integer arith instructions with two args",
- PPC_INTEGER | PPC_ARITH | PPC_TWO_ARGS,
- },
- {
- testgroup_mffs_misc,
- "ppc mffpscr",
- PPC_MFFS,
- },
- {
- testgroup_mffs_misc_one,
- "ppc mffpscr",
- PPC_MFFS,
- },
- {
- testgroup_vector_four,
- "ppc vector three args + dest",
- PPC_ALTIVEC | PPC_LOGICAL | PPC_FOUR_ARGS,
- },
{ NULL, NULL, 0x00000000, },
};
@@ -3806,6 +3786,7 @@
printf(" => ");
f14_reg.dble = f14;
printf(" 0X%lx\n", f14_reg.uli);
+ printf(" fpscr: f14 ");
dissect_fpscr(f14);
printf(" local_fpscr: ");
dissect_fpscr(local_fpscr);
@@ -3816,8 +3797,10 @@
printf(" => ");
(*test_function)();
printf(" %016f\n", f14);
+ printf(" fpscr: f14 ");
dissect_fpscr(f14);
printf("\n");
+ printf(" local_fpscr: ");
dissect_fpscr(local_fpscr);
printf("\n");
}
Modified: trunk/none/tests/ppc64/test_isa_3_0_altivec.stdout.exp-LE
==============================================================================
--- trunk/none/tests/ppc64/test_isa_3_0_altivec.stdout.exp-LE (original)
+++ trunk/none/tests/ppc64/test_isa_3_0_altivec.stdout.exp-LE Wed May 17 21:11:32 2017
@@ -44906,58 +44906,7 @@
vpermr 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021f001f0000001f (00000000)
vpermr 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => f7b24e356e824069 58f0bdcfa67462d9 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => ecb537376270175e 56efabcba56768e1 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => e4d4d336a2f52ff5 100d2393f8ab5189 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => d9d7bc3896e306ea 0e0c118ff79e5791 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 4e7190050af6b7f5 100d29fbfa468cc0 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 43747906fee48eea 0e0c17f7f93992c8 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => e8d8bf38a4f719f5 100d2b95faad5b8d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => dddba83a98e4f0ea 0e0c1991f9a06195 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => e4d4d336a2f52ff5 100d2393f8ab5189 (00000000)
-vmsumudm 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => d9d7bc3896e306ea 0e0c118ff79e5791 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 16055b081916541b 100d1b0509100245 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0b08440a0d042b10 0e0c09010803084d (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 190693081a972c1b 100d1b050a906245 (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0e097c0a0e850310 0e0c09010983684d (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 19c6e1081af7621b 100d1b050af07a45 (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0ec9ca0a0ee53910 0e0c090109e3804d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 4e7190050af6b7f5 100d29fbfa468cc0 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 43747906fee48eea 0e0c17f7f93992c8 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 190693081a972c1b 100d1b050a906245 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0e097c0a0e850310 0e0c09010983684d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 1e47cb081d38041b 100d1b050d30c245 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 134ab40a1125db10 0e0c09010c23c84d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 1f9819081de03a1b 100d1b050dd8da45 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 149b020a11ce1110 0e0c09010ccbe04d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => e8d8bf38a4f719f5 100d2b95faad5b8d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => dddba83a98e4f0ea 0e0c1991f9a06195 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 19c6e1081af7621b 100d1b050af07a45 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0ec9ca0a0ee53910 0e0c090109e3804d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 1f9819081de03a1b 100d1b050dd8da45 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 149b020a11ce1110 0e0c09010ccbe04d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 210c67081e9a701b 100d1b050e92f245 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 160f500a12884710 0e0c09010d85f84d (00000000)
-
-All done. Tested 91 different instructions
+All done. Tested 90 different instructions
ppc vector inserts:
Test instruction group [ppc vector inserts]
vinsertb 0102010201020102 0102030405060708 [0] (into zeros) => 0200000000000000 0000000000000000
@@ -45494,7 +45443,7 @@
xxextractuw 7060504030201000 f0e0d0c0b0a09080 [12] (into zeros) => 00000000b0a09080 0000000000000000
xxextractuw 7060504030201000 f0e0d0c0b0a09080 [12] (into ones) => 00000000b0a09080 0000000000000000
-All done. Tested 101 different instructions
+All done. Tested 100 different instructions
ppc vector extract from vector to reg:
Test instruction group [ppc vector extract from vector to reg]
vextublx 0000000000000000 0000000000000000 0 => 0
@@ -46463,7 +46412,7 @@
vextuwrx 00101f0800101f10 00101f0000101f02 14 => 0
vextuwrx 00101f0800101f10 00101f0000101f02 15 => 0
-All done. Tested 107 different instructions
+All done. Tested 106 different instructions
ppc vector count leading/trailing bytes:
Test instruction group [ppc vector count leading/trailing bytes]
vclzlsbb 0000000000000000 0000000000000000 0 => 16
@@ -46488,7 +46437,7 @@
vctzlsbb 00001f0800001f10 00001f0000001f02 0 => 1
vctzlsbb 00101f0800101f10 00101f0000101f02 0 => 1
-All done. Tested 109 different instructions
+All done. Tested 108 different instructions
ppc vector load/store:
Test instruction group [ppc vector load/store]
lxvl 0000000000000000 0000000000000000 0x 0 [ ffffffffffffffff 0001020304050607 5555555555555555 0000000000000000 ]=> 0000000000000000 0000000000000000 & 0
@@ -52511,7 +52460,7 @@
stxv 16 00101f0800101f10 00101f0000101f02 l = 0x10 [ ffffffffffffffff 0001020304050607 5555555555555555 0000000000000000 ]=> 00101f0000101f02 00101f0800101f10 & 10
stxv 16 00101f0800101f10 00101f0000101f02 l = 0x10 [ 0001020304050607 5555555555555555 0000000000000000 ffffffffffffffff ]=> 00101f0000101f02 00101f0800101f10 & 10
-All done. Tested 129 different instructions
+All done. Tested 128 different instructions
ppc vector load/store:
Test instruction group [ppc vector load/store]
lxvx 0000000000000000 0000000000000000 [ ffffffffffffffff 0001020304050607 5555555555555555 0000000000000000 ] =>
@@ -53361,7 +53310,7 @@
stxvb16x 00101f0000101f02 00101f0800101f10 [ 0001020304050607 5555555555555555 0000000000000000 ffffffffffffffff ] =>
00101f0800101f10 00101f0000101f02 [ 101f1000081f1000 021f1000001f1000 0000000000000000 ffffffffffffffff ]
-All done. Tested 136 different instructions
+All done. Tested 135 different instructions
ppc vector scalar compare exponents doubles:
Test instruction group [ppc vector scalar compare exponents doubles]
xscmpexpdp 0000000000000000 0000000000000000 0000000000000000 0000000000000000 => FPCC-FE(EQ)
@@ -54326,7 +54275,7 @@
xscmpexpdp fff07fffffffffff fff07fffffffffff fff0000000000000 fff07fffffffffff => FPCC-FU(SO)
xscmpexpdp fff07fffffffffff fff07fffffffffff fff07fffffffffff fff07fffffffffff => FPCC-FU(SO)
-All done. Tested 137 different instructions
+All done. Tested 136 different instructions
ppc vector scalar test data class tests:
Test instruction group [ppc vector scalar test data class tests]
xststdcqp 0000000000000000, 0000000000000000 => 0505050505050505, 0a0a0a0a0a0a0a0a
@@ -55504,7 +55453,7 @@
xvtstdcdp 0000000000000000, ffff7fffffffffff => 0000000000000000, 0000000000000000
xvtstdcdp 0000000000000000, ffff7fffffffffff => 0000000000000000, ffffffffffffffff
-All done. Tested 142 different instructions
+All done. Tested 141 different instructions
ppc vector scalar tests against float double two args :
Test instruction group [ppc vector scalar tests against float double two args ]
xsiexpdp r14 = 0x0, r15 = 0x0 0000000000000000 ffff7fffffffffff => 0000000000000000 0000000000000000
@@ -56312,109 +56261,4 @@
xvcvsphp vec_xb[1] = 0x7fffff007fffff, vec_xb[0] = 0xffffffffffffffff 007fffff007fffff ffffffffffffffff => 0000000000000000 0000ffff0000ffff
xvcvsphp vec_xb[1] = 0x0, vec_xb[0] = 0xffffffffffffffff 0000000000000000 ffffffffffffffff => 0000000000000000 0000ffff0000ffff
-All done. Tested 147 different instructions
-ppc vector three args + dest:
-Test instruction group [ppc vector three args + dest]
-vpermr 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 0000000000000000 0000000000000000 (00000000)
-vpermr 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0000000000000000 0000000000000000 (00000000)
-vpermr 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 005500ff00000000 00aa002200885522 (00000000)
-vpermr 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 002244ddcc66ddbb 99bbee661155ffaa (00000000)
-vpermr 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 0010001000000010 (00000000)
-vpermr 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0010000000100008 0008101000001010 (00000000)
-vpermr 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 001c001c0000001c (00000000)
-vpermr 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001c0000001c0008 00081c1c0000101c (00000000)
-vpermr 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 001f001f0000001f (00000000)
-vpermr 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 5500dd0000334400 7700cc0000000000 (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0000000000000000 0000000000000000 (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 5555ddff00334400 77aacc2200885522 (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 002244ddcc66ddbb 99bbee661155ffaa (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 5500dd1000334400 7710cc1000000010 (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0010000000100008 0008101000001010 (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 5500dd1000334400 771ccc1c0000001c (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001c0000001c0008 00081c1c0000101c (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 5500dd1000334400 771fcc1f0000001f (00000000)
-vpermr 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-vpermr 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 0000000000000000 0200000000000000 (00000000)
-vpermr 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0000000000000000 0000000000000000 (00000000)
-vpermr 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 005500ff00000000 02aa002200885522 (00000000)
-vpermr 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 002244ddcc66ddbb 99bbee661155ffaa (00000000)
-vpermr 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 0210001000000010 (00000000)
-vpermr 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0010000000100008 0008101000001010 (00000000)
-vpermr 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021c001c0000001c (00000000)
-vpermr 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001c0000001c0008 00081c1c0000101c (00000000)
-vpermr 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021f001f0000001f (00000000)
-vpermr 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 0000000000000000 0200000000000000 (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0000000000000000 0000000000000000 (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 005500ff00000000 02aa002200885522 (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 002244ddcc66ddbb 99bbee661155ffaa (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 0210001000000010 (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0010000000100008 0008101000001010 (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021c001c0000001c (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001c0000001c0008 00081c1c0000101c (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021f001f0000001f (00000000)
-vpermr 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 0000000000000000 0200000000000000 (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0000000000000000 0000000000000000 (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 005500ff00000000 02aa002200885522 (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 002244ddcc66ddbb 99bbee661155ffaa (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 0210001000000010 (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0010000000100008 0008101000001010 (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021c001c0000001c (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001c0000001c0008 00081c1c0000101c (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 0000001000000000 021f001f0000001f (00000000)
-vpermr 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 001f0000001f0008 00081f1f0000101f (00000000)
-
-vmsumudm 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000000000000000 0000000000000000 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => f7b24e356e824069 58f0bdcfa67462d9 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => ecb537376270175e 56efabcba56768e1 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => e4d4d336a2f52ff5 100d2393f8ab5189 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => d9d7bc3896e306ea 0e0c118ff79e5791 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 4e7190050af6b7f5 100d29fbfa468cc0 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 43747906fee48eea 0e0c17f7f93992c8 (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => e8d8bf38a4f719f5 100d2b95faad5b8d (00000000)
-vmsumudm 8899aabbccddeeff 0011223344556677 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => dddba83a98e4f0ea 0e0c1991f9a06195 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => e4d4d336a2f52ff5 100d2393f8ab5189 (00000000)
-vmsumudm 0000100800001010 0000100000001002 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => d9d7bc3896e306ea 0e0c118ff79e5791 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 16055b081916541b 100d1b0509100245 (00000000)
-vmsumudm 0000100800001010 0000100000001002 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0b08440a0d042b10 0e0c09010803084d (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 190693081a972c1b 100d1b050a906245 (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0e097c0a0e850310 0e0c09010983684d (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 19c6e1081af7621b 100d1b050af07a45 (00000000)
-vmsumudm 0000100800001010 0000100000001002 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0ec9ca0a0ee53910 0e0c090109e3804d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => 4e7190050af6b7f5 100d29fbfa468cc0 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => 43747906fee48eea 0e0c17f7f93992c8 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 190693081a972c1b 100d1b050a906245 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0e097c0a0e850310 0e0c09010983684d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 1e47cb081d38041b 100d1b050d30c245 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 134ab40a1125db10 0e0c09010c23c84d (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 1f9819081de03a1b 100d1b050dd8da45 (00000000)
-vmsumudm 00001c0800001c10 00001c0000001c02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 149b020a11ce1110 0e0c09010ccbe04d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[12021a0817141317 100d1b05070f0205] => 12021a0817141317 100d1b05070f0205 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000000000000000 0000000000000000, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0705030a0b01ea0c 0e0c09010602080d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[12021a0817141317 100d1b05070f0205] => e8d8bf38a4f719f5 100d2b95faad5b8d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 8899aabbccddeeff 0011223344556677, pcv[0705030a0b01ea0c 0e0c09010602080d] => dddba83a98e4f0ea 0e0c1991f9a06195 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[12021a0817141317 100d1b05070f0205] => 19c6e1081af7621b 100d1b050af07a45 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 0000100800001010 0000100000001002, pcv[0705030a0b01ea0c 0e0c09010602080d] => 0ec9ca0a0ee53910 0e0c090109e3804d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[12021a0817141317 100d1b05070f0205] => 1f9819081de03a1b 100d1b050dd8da45 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001c0800001c10 00001c0000001c02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 149b020a11ce1110 0e0c09010ccbe04d (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[12021a0817141317 100d1b05070f0205] => 210c67081e9a701b 100d1b050e92f245 (00000000)
-vmsumudm 00001f0800001f10 00001f0000001f02 00001f0800001f10 00001f0000001f02, pcv[0705030a0b01ea0c 0e0c09010602080d] => 160f500a12884710 0e0c09010d85f84d (00000000)
-
-All done. Tested 149 different instructions
+All done. Tested 146 different instructions
Modified: trunk/none/tests/ppc64/test_isa_3_0_other.stdout.exp-LE
==============================================================================
--- trunk/none/tests/ppc64/test_isa_3_0_other.stdout.exp-LE (original)
+++ trunk/none/tests/ppc64/test_isa_3_0_other.stdout.exp-LE Wed May 17 21:11:32 2017
@@ -43023,136 +43023,11 @@
All done. Tested 76 different instructions
ppc mffpscr:
Test instruction group [ppc mffpscr]
-mffsce => 000000000.000000
-
- FPRF-C FPCC-FL
-
-mffsl => 000000000.000000
-
-
-
mffs => 000000000.000000
+ fpscr: f14
+ local_fpscr: FPRF-C FPCC-FL
-
-
-All done. Tested 79 different instructions
+All done. Tested 77 different instructions
ppc mffpscr:
Test instruction group [ppc mffpscr]
-mffscdrni 0 => 0X0
- local_fpscr:
-mffscdrni 1 => 0X0
- local_fpscr: 31-DRN2
-mffscdrni 2 => 0X100000000
- local_fpscr: 30-DRN1
-
-mffscdrn f15 0X0 => 0X200000000
- local_fpscr:
-mffscdrn f15 0X100000000 => 0X0
- local_fpscr: 31-DRN2
-mffscdrn f15 0X200000000 => 0X100000000
- local_fpscr: 30-DRN1
-
-mffscrni 0 => 0X200000000
- local_fpscr: 30-DRN1
-mffscrni 1 => 0X200000000
- local_fpscr: 30-DRN1 RN-bit63
-mffscrni 2 => 0X200000001
- local_fpscr: 30-DRN1 RN-bit62
-
-mffscrn f15 0X0 => 0X200000002
- local_fpscr: 30-DRN1
-mffscrn f15 0X1 => 0X200000000
- local_fpscr: 30-DRN1 RN-bit63
-mffscrn f15 0X2 => 0X200000001
- local_fpscr: 30-DRN1 RN-bit62
-
-All done. Tested 83 different instructions
-PPC integer arith instructions with two args:
-Test instruction group [PPC integer arith instructions with two args]
-modsw 0000000000000000, 0000000000000000 => 0000000000000000 (00000000)
-modsw 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000)
-modsw 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000)
-modsw 0000001cbe991def, 0000000000000000 => 0000000000000000 (00000000)
-modsw 0000001cbe991def, 0000001cbe991def => 0000000000000000 (00000000)
-modsw 0000001cbe991def, ffffffffffffffff => 0000000000000000 (00000000)
-modsw ffffffffffffffff, 0000000000000000 => 0000000000000000 (00000000)
-modsw ffffffffffffffff, 0000001cbe991def => ffffffffffffffff (00000000)
-modsw ffffffffffffffff, ffffffffffffffff => 0000000000000000 (00000000)
-
-moduw 0000000000000000, 0000000000000000 => 0000000000000000 (00000000)
-moduw 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000)
-moduw 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000)
-moduw 0000001cbe991def, 0000000000000000 => 0000000000000000 (00000000)
-moduw 0000001cbe991def, 0000001cbe991def => 0000000000000000 (00000000)
-moduw 0000001cbe991def, ffffffffffffffff => 00000000be991def (00000000)
-moduw ffffffffffffffff, 0000000000000000 => 0000000000000000 (00000000)
-moduw ffffffffffffffff, 0000001cbe991def => 000000004166e210 (00000000)
-moduw ffffffffffffffff, ffffffffffffffff => 0000000000000000 (00000000)
-
-modsd 0000000000000000, 0000000000000000 => 0000000000000000 (00000000)
-modsd 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000)
-modsd 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000)
-modsd 0000001cbe991def, 0000000000000000 => 0000000000000000 (00000000)
-modsd 0000001cbe991def, 0000001cbe991def => 0000000000000000 (00000000)
-modsd 0000001cbe991def, ffffffffffffffff => 0000000000000000 (00000000)
-modsd ffffffffffffffff, 0000000000000000 => 0000000000000000 (00000000)
-modsd ffffffffffffffff, 0000001cbe991def => ffffffffffffffff (00000000)
-modsd ffffffffffffffff, ffffffffffffffff => 0000000000000000 (00000000)
-
-modud 0000000000000000, 0000000000000000 => 0000000000000000 (00000000)
-modud 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000)
-modud 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000)
-modud 0000001cbe991def, 0000000000000000 => 0000000000000000 (00000000)
-modud 0000001cbe991def, 0000001cbe991def => 0000000000000000 (00000000)
-modud 0000001cbe991def, ffffffffffffffff => 0000001cbe991def (00000000)
-modud ffffffffffffffff, 0000000000000000 => 0000000000000000 (00000000)
-modud ffffffffffffffff, 0000001cbe991def => 000000043eb0c0b2 (00000000)
-modud ffffffffffffffff, ffffffffffffffff => 0000000000000000 (00000000)
-
-All done. Tested 87 different instructions
-ppc mffpscr:
-Test instruction group [ppc mffpscr]
-mffsce => 000000000.000001
-
- 30-DRN1 RN-bit62
-
-mffsl => 000000000.000001
-
- 30-DRN1 RN-bit62
-
-mffs => 000000000.000001
-
- 30-DRN1 RN-bit62
-
-All done. Tested 90 different instructions
-ppc mffpscr:
-Test instruction group [ppc mffpscr]
-mffscdrni 0 => 0X200000002
- local_fpscr: RN-bit62
-mffscdrni 1 => 0X2
- local_fpscr: 31-DRN2 RN-bit62
-mffscdrni 2 => 0X100000002
- local_fpscr: 30-DRN1 RN-bit62
-
-mffscdrn f15 0X0 => 0X200000002
- local_fpscr: RN-bit62
-mffscdrn f15 0X100000000 => 0X2
- local_fpscr: 31-DRN2 RN-bit62
-mffscdrn f15 0X200000000 => 0X100000002
- local_fpscr: 30-DRN1 RN-bit62
-
-mffscrni 0 => 0X200000002
- local_fpscr: 30-DRN1
-mffscrni 1 => 0X200000000
- local_fpscr: 30-DRN1 RN-bit63
-mffscrni 2 => 0X200000001
- local_fpscr: 30-DRN1 RN-bit62
-
-mffscrn f15 0X0 => 0X200000002
- local_fpscr: 30-DRN1
-mffscrn f15 0X1 => 0X200000000
- local_fpscr: 30-DRN1 RN-bit63
-mffscrn f15 0X2 => 0X200000001
- local_fpscr: 30-DRN1 RN-bit62
-
-All done. Tested 94 different instructions
+All done. Tested 77 different instructions
|
|
From: <sv...@va...> - 2017-05-17 20:09:54
|
Author: carll
Date: Wed May 17 21:09:46 2017
New Revision: 3375
Log:
PPC64, ISA 3.0 fixes
- Fix mffs instruction, FPSCR, C_FPCC field access is not
working correctly.
- Fix xscmpexpdp again still had a bug.
- Remove duplicate tests from test_isa_3_0.c
- Comment out he tests for the new ISA 3.0B instructions. There
seem to be some issues between the simulator and early HW that
need to be sorted out.
Bugzilla 379925
Modified:
trunk/priv/guest_ppc_toIR.c
Modified: trunk/priv/guest_ppc_toIR.c
==============================================================================
--- trunk/priv/guest_ppc_toIR.c (original)
+++ trunk/priv/guest_ppc_toIR.c Wed May 17 21:09:46 2017
@@ -3091,8 +3091,13 @@
* floating point rounding mode and Floating-point Condition code, so
* if the mask isn't asking for either of these, just return 0x0.
*/
- if ( mask & MASK_FPSCR_RN ) {
- assign( val, unop( Iop_8Uto32, IRExpr_Get( OFFB_FPROUND, Ity_I8 ) ) );
+ if ( mask & ( MASK_FPSCR_C_FPCC | MASK_FPSCR_RN ) ) {
+ assign( val, binop( Iop_Or32,
+ unop( Iop_8Uto32, IRExpr_Get( OFFB_FPROUND, Ity_I8 ) ),
+ binop( Iop_Shl32,
+ unop( Iop_8Uto32,
+ IRExpr_Get( OFFB_C_FPCC, Ity_I8 ) ),
+ mkU8( 12 ) ) ) );
} else {
assign( val, mkU32(0x0) );
}
@@ -3386,27 +3391,27 @@
}
if (mask & MASK_FPSCR_C_FPCC) {
+ /* FPCC bits are in [47:51] */
stmt(
IRStmt_Put(
OFFB_C_FPCC,
unop(
- Iop_32to8,
- binop(
- Iop_Or32,
- binop(
- Iop_And32,
- unop(Iop_64to32, src),
- mkU32(MASK_FPSCR_C_FPCC & mask)
- ),
- binop(
- Iop_And32,
- unop(Iop_8Uto32, IRExpr_Get(OFFB_C_FPCC,Ity_I8)),
- mkU32(MASK_FPSCR_C_FPCC & ~mask)
- )
- )
- )
- )
- );
+ Iop_32to8,
+ binop(Iop_Shr32,
+ binop(
+ Iop_Or32,
+ binop(
+ Iop_And32,
+ unop(Iop_64to32, src),
+ mkU32(MASK_FPSCR_C_FPCC & mask) ),
+ binop(
+ Iop_And32,
+ unop(Iop_8Uto32,
+ IRExpr_Get(OFFB_C_FPCC,Ity_I8)),
+ mkU32(MASK_FPSCR_C_FPCC & ~mask)
+ ) ),
+ mkU8( 12 ) )
+ ) ) );
}
/* Similarly, update FPSCR.DRN if any bits of |mask|
@@ -11949,7 +11954,7 @@
*/
IRExpr* fpscr_lower
= binop( Iop_Or32,
- getGST_masked( PPC_GST_FPSCR, MASK_FPSCR_RN),
+ getGST_masked( PPC_GST_FPSCR, (MASK_FPSCR_RN | MASK_FPSCR_C_FPCC) ),
binop( Iop_Or32,
binop( Iop_Shl32,
getC(),
@@ -12096,11 +12101,11 @@
/* new 64 bit move variant for power 6. If L field (bit 25) is
* a one do a full 64 bit move. Note, the FPSCR is not really
* properly modeled. This instruciton only changes the value of
- * the rounding mode bit fields RN and DRN. The HW exception bits
+ * the rounding mode bit fields RN, FPCC and DRN. The HW exception bits
* do not get set in the simulator. 1/12/09
*/
DIP("mtfsf%s %d,fr%u (L=1)\n", flag_rC ? ".":"", FM, frB_addr);
- mask = 0x1F000000FF;
+ mask = 0x1F0001F003;
} else {
DIP("mtfsf%s %d,fr%u\n", flag_rC ? ".":"", FM, frB_addr);
@@ -18618,8 +18623,10 @@
unop( Iop_1Uto32, bit6 ),
mkU8( 1 ) ) ) ) );
assign(CC, binop( Iop_Or32,
- mkexpr( eq_lt_gt ) ,
- unop( Iop_1Sto32, bit7 ) ) );
+ binop( Iop_And32,
+ mkexpr( eq_lt_gt ) ,
+ unop( Iop_Not32, unop( Iop_1Sto32, bit7 ) ) ),
+ unop( Iop_1Uto32, bit7 ) ) );
putGST_field( PPC_GST_CR, mkexpr( CC ), BF );
putFPCC( mkexpr( CC ) );
|
|
From: <sv...@va...> - 2017-05-17 15:35:55
|
Author: petarj
Date: Wed May 17 16:35:48 2017
New Revision: 16395
Log:
mips32: update clobbers in none/mips32/LoadStore tests
Add missing registers to clobbers.
Modified:
trunk/none/tests/mips32/LoadStore.c
trunk/none/tests/mips32/LoadStore1.c
Modified: trunk/none/tests/mips32/LoadStore.c
==============================================================================
--- trunk/none/tests/mips32/LoadStore.c (original)
+++ trunk/none/tests/mips32/LoadStore.c Wed May 17 16:35:48 2017
@@ -22,51 +22,52 @@
// sb $t0, 0($t1)
#define TESTINST1(instruction, RTval, offset, RT, RS) \
-{ \
- unsigned int out; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- instruction "\n\t" \
- "lw %0, "#offset"($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem1), "r" (RTval) \
- : #RT, "cc", "memory" \
- ); \
- printf("%s :: RTval: 0x%x, out: 0x%x\n", \
- instruction, RTval, out); \
- out = 0; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- instruction "\n\t" \
- "lw %0, "#offset"($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem), "r" (RTval) \
- : #RT, "cc", "memory" \
- ); \
- printf("%s :: RTval: 0x%x, out: 0x%x\n", \
- instruction, RTval, out); \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1 \n\t" \
+ "li $" #RT", " #RTval" \n\t" \
+ instruction " \n\t" \
+ "lw %0, "#offset"($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem1), "r" (RTval) \
+ : #RS, #RT, "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
+ out = 0; \
+ __asm__ volatile( \
+ "move $" #RS", %1 \n\t" \
+ "li $" #RT", " #RTval " \n\t" \
+ instruction " \n\t" \
+ "lw %0, "#offset"($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem), "r" (RTval) \
+ : #RS, #RT, "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
}
// swl $t0, 3($t1)
// swr $t0, 0($t1)
-#define TESTINSTsw(RTval, offset, RT, RS) \
-{ \
- unsigned int out; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "addiu $"#RS", $"#RS", "#offset"\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- "swl $t0, 3($t1) \n\t" \
- "swr $t0, 0($t1) \n\t" \
- "lw %0, 0($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem2), "r" (RTval) \
- : #RT, #RS, "cc", "memory" \
- ); \
- printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n", \
- RTval, out); \
+#define TESTINSTsw(RTval, offset, RT, RS) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1\n\t" \
+ "addiu $"#RS", $"#RS", "#offset" \n\t" \
+ "li $" #RT", " #RTval" \n\t" \
+ "swl $t0, 3($t1) \n\t" \
+ "swr $t0, 0($t1) \n\t" \
+ "lw %0, 0($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem2), "r" (RTval) \
+ : #RT, #RS, "memory" \
+ ); \
+ printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n" \
+ " :: RTval: 0x%x, out: 0x%x\n", \
+ RTval, out); \
}
void ppMem(unsigned int* m, int len)
Modified: trunk/none/tests/mips32/LoadStore1.c
==============================================================================
--- trunk/none/tests/mips32/LoadStore1.c (original)
+++ trunk/none/tests/mips32/LoadStore1.c Wed May 17 16:35:48 2017
@@ -22,51 +22,52 @@
// sb $t0, 0($t1)
#define TESTINST1(instruction, RTval, offset, RT, RS) \
-{ \
- unsigned int out; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- instruction "\n\t" \
- "lw %0, "#offset"($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem1), "r" (RTval) \
- : #RT, "cc", "memory" \
- ); \
- printf("%s :: RTval: 0x%x, out: 0x%x\n", \
- instruction, RTval, out); \
- out = 0; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- instruction "\n\t" \
- "lw %0, "#offset"($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem), "r" (RTval) \
- : #RT, "cc", "memory" \
- ); \
- printf("%s :: RTval: 0x%x, out: 0x%x\n", \
- instruction, RTval, out); \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1 \n\t" \
+ "li $" #RT", " #RTval" \n\t" \
+ instruction " \n\t" \
+ "lw %0, "#offset"($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem1), "r" (RTval) \
+ : #RS, #RT, "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
+ out = 0; \
+ __asm__ volatile( \
+ "move $" #RS", %1 \n\t" \
+ "li $" #RT", " #RTval " \n\t" \
+ instruction " \n\t" \
+ "lw %0, "#offset"($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem), "r" (RTval) \
+ : #RS, #RT, "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
}
// swl $t0, 3($t1)
// swr $t0, 0($t1)
-#define TESTINSTsw(RTval, offset, RT, RS) \
-{ \
- unsigned int out; \
- __asm__ volatile( \
- "move $" #RS", %1\n\t" \
- "addiu $"#RS", $"#RS", "#offset"\n\t" \
- "li $" #RT", " #RTval"\n\t" \
- "swl $t0, 3($t1) \n\t" \
- "swr $t0, 0($t1) \n\t" \
- "lw %0, 0($"#RS")\n\t" \
- : "=&r" (out) \
- : "r" (mem2), "r" (RTval) \
- : #RT, #RS, "cc", "memory" \
- ); \
- printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n", \
- RTval, out); \
+#define TESTINSTsw(RTval, offset, RT, RS) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1\n\t" \
+ "addiu $"#RS", $"#RS", "#offset" \n\t" \
+ "li $" #RT", " #RTval" \n\t" \
+ "swl $t0, 3($t1) \n\t" \
+ "swr $t0, 0($t1) \n\t" \
+ "lw %0, 0($"#RS") \n\t" \
+ : "=&r" (out) \
+ : "r" (mem2), "r" (RTval) \
+ : #RT, #RS, "memory" \
+ ); \
+ printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n" \
+ " :: RTval: 0x%x, out: 0x%x\n", \
+ RTval, out); \
}
void ppMem(unsigned int* m, int len)
|
|
From: Mark W. <ma...@kl...> - 2017-05-17 15:16:52
|
Hi,
Given that we are switching to release mode I ran valgrind (svn r16393,
VEX svn r3374) through some RHEL and Fedora builders to see how the
regtest results are looking. For the RHEL builds I don't have public
logs, but I will look at them and see what the failures are really
about. For the Fedora builds there are public logs in koji which include
the vgtest diffs.
= RHEL (gcc 4.8.5, binutils 2.25.1, glibc 2.17, gdb 7.6.1,
kernel 2.6.32/3.10.0)
ppc:
== 623 tests, 7 stderr failures, 0 stdout failures, 0 stderrB failures,
1 stdoutB failure, 2 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/origin2-not-quite (stderr)
memcheck/tests/test-plo-no (stderr)
massif/tests/big-alloc (post)
massif/tests/deep-D (post)
none/tests/rlimit64_nofile (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
drd/tests/annotate_trace_memory (stderr)
drd/tests/annotate_trace_memory_xml (stderr)
x86_64:
== 762 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/amd64/sh-mem-vec256-plo-no (stderr)
memcheck/tests/amd64/sh-mem-vec256-plo-yes (stderr)
pp64le:
== 618 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 1 stdoutB failure, 1 post failure ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/bug340392 (stderr)
memcheck/tests/vcpu_fnfns (stdout)
massif/tests/deep-D (post)
aarch64:
== 602 tests, 24 stderr failures, 5 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/arm64-linux/scalar (stderr)
memcheck/tests/dw4 (stderr)
memcheck/tests/leak-segv-jmp (stderr)
memcheck/tests/linux/getregset (stdout)
memcheck/tests/linux/getregset (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/varinfo1 (stderr)
memcheck/tests/varinfo2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo4 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/varinforestrict (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc20_verifywrap (stderr)
drd/tests/pth_cancel_locked (stderr)
drd/tests/std_thread2 (stderr)
drd/tests/tc04_free_lock (stderr)
drd/tests/tc09_bad_unlock (stderr)
exp-sgcheck/tests/bad_percentify (stdout)
exp-sgcheck/tests/bad_percentify (stderr)
exp-sgcheck/tests/globalerr (stderr)
exp-sgcheck/tests/hackedbz2 (stdout)
exp-sgcheck/tests/hackedbz2 (stderr)
exp-sgcheck/tests/hsg (stdout)
exp-sgcheck/tests/hsg (stderr)
exp-sgcheck/tests/preen_invars (stdout)
exp-sgcheck/tests/preen_invars (stderr)
exp-sgcheck/tests/stackerr (stderr)
ppc64:
== 661 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 1 stdoutB failure, 1 post failure ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/bug340392 (stderr)
memcheck/tests/vcpu_fnfns (stdout)
massif/tests/deep-D (post)
i386:
== 676 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
s390x:
== 716 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/memcmptest (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/varinfo6 (stderr)
none/tests/process_vm_readv_writev (stderr)
helgrind/tests/bar_bad (stderr)
= Fedora (gcc 7.1.1, binutils 2.28, glibc 2.25.90, gdb 7.99.90, kernel 4.10.14)
These look worse than they actually are because the gdbserver tests all
seem to fail because of some gdb/python initialization issue:
Python runtime initialized with LC_CTYPE=C (a locale with default ASCII
encoding), which may cause Unicode compatibility problems. Using
C.UTF-8, C.utf8, or UTF-8 (if available) as alternative
Unicode-compatible locales is recommended.
https://bugzilla.redhat.com/show_bug.cgi?id=1434601
x86_64:
https://kojipkgs.fedoraproject.org//work/tasks/5472/19595472/build.log
== 762 tests, 7 stderr failures, 3 stdout failures, 15 stderrB failures, 0 stdoutB failures, 2 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlself_invalidate (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/amd64/insn_basic (stdout)
memcheck/tests/amd64/sh-mem-vec256-plo-no (stderr)
memcheck/tests/amd64/sh-mem-vec256-plo-yes (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/overlap (stderr)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/amd64/avx-1 (stdout)
none/tests/amd64/insn_basic (stdout)
none/tests/rlimit_nofile (stderr)
exp-sgcheck/tests/stackerr (stderr)
pp64le:
https://kojipkgs.fedoraproject.org//work/tasks/5473/19595473/build.log
== 618 tests, 7 stderr failures, 1 stdout failure, 14 stderrB failures, 0 stdoutB failures, 3 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/bug340392 (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/linux/rfcomm (stderr)
memcheck/tests/ppc64/power_ISA2_05 (stderr)
memcheck/tests/ppc64/power_ISA2_07 (stderr)
memcheck/tests/vcpu_fnfns (stdout)
massif/tests/deep-D (post)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/rlimit_nofile (stderr)
aarch64:
https://kojipkgs.fedoraproject.org//work/tasks/5474/19595474/build.log
== 602 tests, 35 stderr failures, 5 stdout failures, 14 stderrB failures, 2 stdoutB failures, 2 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/hgtls (stdoutB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderr)
gdbserver_tests/nlgone_abrt (stdoutB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/arm64-linux/scalar (stderr)
memcheck/tests/badjump (stderr)
memcheck/tests/deep-backtrace (stderr)
memcheck/tests/dw4 (stderr)
memcheck/tests/leak-segv-jmp (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/linux/getregset (stdout)
memcheck/tests/linux/getregset (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/varinfo1 (stderr)
memcheck/tests/varinfo2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo4 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/varinforestrict (stderr)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/async-sigs (stderr)
none/tests/linux/blockfault (stderr)
none/tests/linux/stack-overflow (stderr)
none/tests/rlimit_nofile (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
drd/tests/pth_cancel_locked (stderr)
drd/tests/std_thread2 (stderr)
drd/tests/tc04_free_lock (stderr)
drd/tests/tc09_bad_unlock (stderr)
drd/tests/tc22_exit_w_lock (stderr)
exp-sgcheck/tests/bad_percentify (stdout)
exp-sgcheck/tests/bad_percentify (stderr)
exp-sgcheck/tests/globalerr (stderr)
exp-sgcheck/tests/hackedbz2 (stdout)
exp-sgcheck/tests/hackedbz2 (stderr)
exp-sgcheck/tests/hsg (stdout)
exp-sgcheck/tests/hsg (stderr)
exp-sgcheck/tests/preen_invars (stdout)
exp-sgcheck/tests/preen_invars (stderr)
exp-sgcheck/tests/stackerr (stderr)
ppc64:
https://kojipkgs.fedoraproject.org//work/tasks/5475/19595475/build.log
== 619 tests, 8 stderr failures, 2 stdout failures, 14 stderrB failures, 0 stdoutB failures, 3 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/bug340392 (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/linux/rfcomm (stderr)
memcheck/tests/ppc64/power_ISA2_05 (stderr)
memcheck/tests/ppc64/power_ISA2_07 (stderr)
memcheck/tests/vcpu_fnfns (stdout)
massif/tests/deep-D (post)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/ppc64/jm-vmx (stdout)
none/tests/rlimit_nofile (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
i386:
https://kojipkgs.fedoraproject.org//work/tasks/5476/19595476/build.log
== 677 tests, 3 stderr failures, 0 stdout failures, 14 stderrB failures, 1 stdoutB failure, 2 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/hgtls (stdoutB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/leak_cpp_interior (stderr)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/rlimit_nofile (stderr)
s390x:
https://kojipkgs.fedoraproject.org//work/tasks/5477/19595477/build.log
== 717 tests, 55 stderr failures, 3 stdout failures, 14 stderrB failures, 0 stdoutB failures, 2 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mcblocklistsearch (stderrB)
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderr)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
gdbserver_tests/nlgone_abrt (stderrB)
gdbserver_tests/nlgone_exit (stderrB)
gdbserver_tests/nlgone_return (stderrB)
gdbserver_tests/nlpasssigalrm (stderrB)
gdbserver_tests/nlsigvgdb (stderrB)
memcheck/tests/client-msg-as-xml (stderr)
memcheck/tests/client-msg (stderr)
memcheck/tests/deep-backtrace (stderr)
memcheck/tests/demangle (stderr)
memcheck/tests/inline (stderr)
memcheck/tests/inlinfo (stderr)
memcheck/tests/inlinfosupp (stderr)
memcheck/tests/inlinfosuppobj (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mempool (stderr)
memcheck/tests/mempool2 (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/recursive-merge (stderr)
memcheck/tests/s390x/cds (stderr)
memcheck/tests/s390x/cdsg (stderr)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/wrap6 (stdout)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/libvexmultiarch_test (stderr)
none/tests/rlimit_nofile (stderr)
none/tests/s390x/fpconv (stdout)
none/tests/s390x/fpconv (stderr)
none/tests/s390x/pfpo (stdout)
none/tests/s390x/pfpo (stderr)
none/tests/vgprintf (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/bar_bad (stderr)
helgrind/tests/cond_timedwait_invalid (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_barrier1 (stderr)
helgrind/tests/pth_barrier2 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/pth_destroy_cond (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
drd/tests/annotate_barrier (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/pth_detached3 (stderr)
armv7hl:
https://kojipkgs.fedoraproject.org//work/tasks/5478/19595478/build.log
== 582 tests, 63 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures ==
memcheck/tests/dw4 (stderr)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/leak-cases-full (stderr)
memcheck/tests/leak-cases-summary (stderr)
memcheck/tests/leak-cycle (stderr)
memcheck/tests/leak-segv-jmp (stderr)
memcheck/tests/leak-tree (stderr)
memcheck/tests/leak_cpp_interior (stderr)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/lks (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/partiallydefinedeq (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
memcheck/tests/varinfo1 (stderr)
memcheck/tests/varinfo2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo4 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/varinforestrict (stderr)
massif/tests/new-cpp (post)
massif/tests/overloaded-new (post)
none/tests/rlimit_nofile (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/bar_bad (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_barrier1 (stderr)
helgrind/tests/pth_barrier2 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/pth_destroy_cond (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
drd/tests/annotate_barrier (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/annotate_trace_memory (stderr)
drd/tests/annotate_trace_memory_xml (stderr)
drd/tests/atomic_var (stderr)
drd/tests/hg03_inherit (stderr)
drd/tests/hg04_race (stderr)
drd/tests/hg05_race2 (stderr)
drd/tests/rwlock_race (stderr)
drd/tests/std_thread2 (stderr)
drd/tests/tc19_shadowmem (stderr)
drd/tests/tc21_pthonce (stderr)
|
|
From: <sv...@va...> - 2017-05-17 14:51:21
|
Author: petarj
Date: Wed May 17 15:51:13 2017
New Revision: 16394
Log:
mips32: minor update to the branches test
Update inline assembly with .set noreorder.
This prevents assembler from reordering the instructions.
Modified:
trunk/none/tests/mips32/branches.c
trunk/none/tests/mips32/branches.stdout.exp
Modified: trunk/none/tests/mips32/branches.c
==============================================================================
--- trunk/none/tests/mips32/branches.c (original)
+++ trunk/none/tests/mips32/branches.c Wed May 17 15:51:13 2017
@@ -4,6 +4,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %1\n\t" \
"b end"#RSval"\n\t" \
"nop\n\t" \
@@ -11,9 +13,10 @@
"end"#RSval":\n\t" \
"addi $" #RD ", $" #RD", 1\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval) \
- : #RD, "cc", "memory" \
+ : #RD, "memory" \
); \
printf("B :: %d, RSval: %d\n", \
out, RSval); \
@@ -23,6 +26,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %1\n\t" \
"b end12"#RSval"\n\t" \
"addi $" #RD ", $" #RD", 3\n\t" \
@@ -30,9 +35,10 @@
"end12"#RSval":\n\t" \
"addi $" #RD ", $" #RD", 3\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval) \
- : #RD, "cc", "memory" \
+ : #RD, "memory" \
); \
printf("B :: %d, RSval: %d\n", \
out, RSval); \
@@ -42,6 +48,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %1\n\t" \
"bal end21"#RSval"\n\t" \
"nop\n\t" \
@@ -53,9 +61,10 @@
"jr $ra\n\t" \
"r_end"#RSval":\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval) \
- : #RD, "cc", "memory" \
+ : #RD, "memory" \
); \
printf("B BAL JR :: %d, RSval: %d\n", \
out, RSval); \
@@ -65,6 +74,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %1\n\t" \
"la $t0, end31"#RSval"\n\t" \
"jal $t0\n\t" \
@@ -78,9 +89,10 @@
"jr $ra\n\t" \
"r_end11"#RSval":\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval) \
- : #RD, "t0", "cc", "memory" \
+ : #RD, "t0", "memory" \
); \
printf("J JAL JR :: %d, RSval: %d\n", \
out, RSval); \
@@ -90,6 +102,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %1\n\t" \
"la $t0, end41"#RSval"\n\t" \
"jalr $t1, $t0\n\t" \
@@ -103,9 +117,10 @@
"jr $t1\n\t" \
"r_end21"#RSval":\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval) \
- : #RD, "t0", "t1", "cc", "memory" \
+ : #RD, "t0", "t1", "memory" \
); \
printf("J JALR JR :: %d, RSval: %d\n", \
out, RSval); \
@@ -115,6 +130,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RS ", %1\n\t" \
"move $" #RT ", %2\n\t" \
"move $" #RD ", %3\n\t" \
@@ -124,9 +141,10 @@
"end"instruction#RDval":\n\t" \
"addi $" #RD ", $" #RD", 1\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RTval), "r" (RDval) \
- : #RD, #RS, #RT, "cc", "memory" \
+ : #RD, #RS, #RT, "memory" \
); \
printf(instruction" :: %d, RSval: %d, RTval: %d\n", \
out, RSval, RTval); \
@@ -136,6 +154,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RS ", %1\n\t" \
"move $" #RD ", %2\n\t" \
instruction" $" #RS ", end"instruction#RDval"\n\t" \
@@ -144,9 +164,10 @@
"end"instruction#RDval":\n\t" \
"addi $" #RD ", $" #RD", 1\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RDval) \
- : #RD, #RS, "cc", "memory" \
+ : #RD, #RS, "memory" \
); \
printf(instruction" :: %d, RSval: %d\n", \
out, RSval); \
@@ -156,6 +177,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %2\n\t" \
"move $" #RS ", %1\n\t" \
instruction" $" #RS ", end21"instruction#RDval"\n\t" \
@@ -168,9 +191,10 @@
"jr $ra\n\t" \
"r_end"instruction#RDval":\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RDval) \
- : #RD, #RS, "cc", "memory" \
+ : #RD, #RS, "memory" \
); \
printf(instruction" :: %d, RSval: %d\n", \
out, RSval); \
@@ -180,6 +204,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RS ", %1\n\t" \
"move $" #RT ", %2\n\t" \
"move $" #RD ", %3\n\t" \
@@ -189,9 +215,10 @@
"end"instruction#RDval":\n\t" \
"addi $" #RD ", $" #RD", 1\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RTval), "r" (RDval) \
- : #RD, #RS, #RT, "cc", "memory" \
+ : #RD, #RS, #RT, "memory" \
); \
printf(instruction" :: %d, RSval: %d, RTval: %d\n", \
out, RSval, RTval); \
@@ -201,6 +228,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RS ", %1\n\t" \
"move $" #RD ", %2\n\t" \
instruction" $" #RS ", end"instruction#RDval"\n\t" \
@@ -209,9 +238,10 @@
"end"instruction#RDval":\n\t" \
"addi $" #RD ", $" #RD", 1\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RDval) \
- : #RD, #RS, "cc", "memory" \
+ : #RD, #RS, "memory" \
); \
printf(instruction" :: %d, RSval: %d\n", \
out, RSval); \
@@ -221,6 +251,8 @@
{ \
unsigned int out = 0; \
__asm__ volatile( \
+ ".set push \n\t" \
+ ".set noreorder \n\t" \
"move $" #RD ", %2\n\t" \
"move $" #RS ", %1\n\t" \
instruction" $" #RS ", end21"instruction#RDval"\n\t" \
@@ -233,9 +265,10 @@
"jr $ra\n\t" \
"r_end"instruction#RDval":\n\t" \
"move %0, $" #RD "\n\t" \
+ ".set pop \n\t" \
: "=&r" (out) \
: "r" (RSval), "r" (RDval) \
- : #RD, #RS, "cc", "memory" \
+ : #RD, #RS, "memory" \
); \
printf(instruction" :: %d, RSval: %d\n", \
out, RSval); \
Modified: trunk/none/tests/mips32/branches.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/branches.stdout.exp (original)
+++ trunk/none/tests/mips32/branches.stdout.exp Wed May 17 15:51:13 2017
@@ -24,30 +24,30 @@
B :: 23, RSval: 22
B :: 24, RSval: 23
b
-B :: 3, RSval: 0
-B :: 4, RSval: 1
-B :: 5, RSval: 2
-B :: 6, RSval: 3
-B :: 7, RSval: 4
-B :: 8, RSval: 5
-B :: 9, RSval: 6
-B :: 10, RSval: 7
-B :: 11, RSval: 8
-B :: 12, RSval: 9
-B :: 13, RSval: 10
-B :: 14, RSval: 11
-B :: 15, RSval: 12
-B :: 16, RSval: 13
-B :: 17, RSval: 14
-B :: 18, RSval: 15
-B :: 19, RSval: 16
-B :: 20, RSval: 17
-B :: 21, RSval: 18
-B :: 22, RSval: 19
-B :: 23, RSval: 20
-B :: 24, RSval: 21
-B :: 25, RSval: 22
-B :: 26, RSval: 23
+B :: 6, RSval: 0
+B :: 7, RSval: 1
+B :: 8, RSval: 2
+B :: 9, RSval: 3
+B :: 10, RSval: 4
+B :: 11, RSval: 5
+B :: 12, RSval: 6
+B :: 13, RSval: 7
+B :: 14, RSval: 8
+B :: 15, RSval: 9
+B :: 16, RSval: 10
+B :: 17, RSval: 11
+B :: 18, RSval: 12
+B :: 19, RSval: 13
+B :: 20, RSval: 14
+B :: 21, RSval: 15
+B :: 22, RSval: 16
+B :: 23, RSval: 17
+B :: 24, RSval: 18
+B :: 25, RSval: 19
+B :: 26, RSval: 20
+B :: 27, RSval: 21
+B :: 28, RSval: 22
+B :: 29, RSval: 23
b, bal, jr
B BAL JR :: 6, RSval: 0
B BAL JR :: 7, RSval: 1
@@ -244,141 +244,141 @@
bnez :: 15, RSval: -1
bnez :: 16, RSval: -1
beql
-beql :: 9, RSval: 0, RTval: 1
-beql :: 2, RSval: 1, RTval: 1
-beql :: 3, RSval: -1, RTval: -1
-beql :: 12, RSval: -1, RTval: -2
-beql :: 13, RSval: -2, RTval: -1
+beql :: 6, RSval: 0, RTval: 1
+beql :: 5, RSval: 1, RTval: 1
beql :: 6, RSval: -1, RTval: -1
-beql :: 7, RSval: 5, RTval: 5
-beql :: 16, RSval: -3, RTval: -4
-beql :: 9, RSval: 125, RTval: 125
-beql :: 10, RSval: -2147483648, RTval: -2147483648
-beql :: 19, RSval: -1, RTval: -2147483648
-beql :: 12, RSval: 598, RTval: 598
-beql :: 13, RSval: 85, RTval: 85
-beql :: 22, RSval: 4095, RTval: 221
-beql :: 23, RSval: -1, RTval: 5
-beql :: 16, RSval: -1, RTval: -1
+beql :: 9, RSval: -1, RTval: -2
+beql :: 10, RSval: -2, RTval: -1
+beql :: 9, RSval: -1, RTval: -1
+beql :: 10, RSval: 5, RTval: 5
+beql :: 13, RSval: -3, RTval: -4
+beql :: 12, RSval: 125, RTval: 125
+beql :: 13, RSval: -2147483648, RTval: -2147483648
+beql :: 16, RSval: -1, RTval: -2147483648
+beql :: 15, RSval: 598, RTval: 598
+beql :: 16, RSval: 85, RTval: 85
+beql :: 19, RSval: 4095, RTval: 221
+beql :: 20, RSval: -1, RTval: 5
+beql :: 19, RSval: -1, RTval: -1
BGEZALL
-bgezall :: 1, RSval: 0
-bgezall :: 2, RSval: 1
+bgezall :: 4, RSval: 0
+bgezall :: 5, RSval: 1
+bgezall :: 8, RSval: -1
+bgezall :: 9, RSval: -1
+bgezall :: 10, RSval: -2
bgezall :: 11, RSval: -1
-bgezall :: 12, RSval: -1
-bgezall :: 13, RSval: -2
-bgezall :: 14, RSval: -1
-bgezall :: 7, RSval: 5
-bgezall :: 16, RSval: -3
-bgezall :: 9, RSval: 125
-bgezall :: 18, RSval: -2147483648
-bgezall :: 19, RSval: -1
-bgezall :: 12, RSval: 598
-bgezall :: 13, RSval: 85
-bgezall :: 14, RSval: 4095
-bgezall :: 23, RSval: -1
-bgezall :: 24, RSval: -1
+bgezall :: 10, RSval: 5
+bgezall :: 13, RSval: -3
+bgezall :: 12, RSval: 125
+bgezall :: 15, RSval: -2147483648
+bgezall :: 16, RSval: -1
+bgezall :: 15, RSval: 598
+bgezall :: 16, RSval: 85
+bgezall :: 17, RSval: 4095
+bgezall :: 20, RSval: -1
+bgezall :: 21, RSval: -1
BGEZL
-bgezl :: 1, RSval: 0
-bgezl :: 2, RSval: 1
+bgezl :: 4, RSval: 0
+bgezl :: 5, RSval: 1
+bgezl :: 8, RSval: -1
+bgezl :: 9, RSval: -1
+bgezl :: 10, RSval: -2
bgezl :: 11, RSval: -1
-bgezl :: 12, RSval: -1
-bgezl :: 13, RSval: -2
-bgezl :: 14, RSval: -1
-bgezl :: 7, RSval: 5
-bgezl :: 16, RSval: -3
-bgezl :: 9, RSval: 125
-bgezl :: 18, RSval: -2147483648
-bgezl :: 19, RSval: -1
-bgezl :: 12, RSval: 598
-bgezl :: 13, RSval: 85
-bgezl :: 14, RSval: 4095
-bgezl :: 23, RSval: -1
-bgezl :: 24, RSval: -1
+bgezl :: 10, RSval: 5
+bgezl :: 13, RSval: -3
+bgezl :: 12, RSval: 125
+bgezl :: 15, RSval: -2147483648
+bgezl :: 16, RSval: -1
+bgezl :: 15, RSval: 598
+bgezl :: 16, RSval: 85
+bgezl :: 17, RSval: 4095
+bgezl :: 20, RSval: -1
+bgezl :: 21, RSval: -1
BGTZL
-bgtzl :: 9, RSval: 0
-bgtzl :: 2, RSval: 1
+bgtzl :: 6, RSval: 0
+bgtzl :: 5, RSval: 1
+bgtzl :: 8, RSval: -1
+bgtzl :: 9, RSval: -1
+bgtzl :: 10, RSval: -2
bgtzl :: 11, RSval: -1
-bgtzl :: 12, RSval: -1
-bgtzl :: 13, RSval: -2
-bgtzl :: 14, RSval: -1
-bgtzl :: 7, RSval: 5
-bgtzl :: 16, RSval: -3
-bgtzl :: 9, RSval: 125
-bgtzl :: 18, RSval: -2147483648
-bgtzl :: 19, RSval: -1
-bgtzl :: 12, RSval: 598
-bgtzl :: 13, RSval: 85
-bgtzl :: 14, RSval: 4095
-bgtzl :: 23, RSval: -1
-bgtzl :: 24, RSval: -1
+bgtzl :: 10, RSval: 5
+bgtzl :: 13, RSval: -3
+bgtzl :: 12, RSval: 125
+bgtzl :: 15, RSval: -2147483648
+bgtzl :: 16, RSval: -1
+bgtzl :: 15, RSval: 598
+bgtzl :: 16, RSval: 85
+bgtzl :: 17, RSval: 4095
+bgtzl :: 20, RSval: -1
+bgtzl :: 21, RSval: -1
BLEZL
-blezl :: 1, RSval: 0
-blezl :: 10, RSval: 1
-blezl :: 3, RSval: -1
-blezl :: 4, RSval: -1
-blezl :: 5, RSval: -2
+blezl :: 4, RSval: 0
+blezl :: 7, RSval: 1
blezl :: 6, RSval: -1
-blezl :: 15, RSval: 5
-blezl :: 8, RSval: -3
-blezl :: 17, RSval: 125
-blezl :: 10, RSval: -2147483648
-blezl :: 11, RSval: -1
-blezl :: 20, RSval: 598
-blezl :: 21, RSval: 85
-blezl :: 22, RSval: 4095
-blezl :: 15, RSval: -1
-blezl :: 16, RSval: -1
+blezl :: 7, RSval: -1
+blezl :: 8, RSval: -2
+blezl :: 9, RSval: -1
+blezl :: 12, RSval: 5
+blezl :: 11, RSval: -3
+blezl :: 14, RSval: 125
+blezl :: 13, RSval: -2147483648
+blezl :: 14, RSval: -1
+blezl :: 17, RSval: 598
+blezl :: 18, RSval: 85
+blezl :: 19, RSval: 4095
+blezl :: 18, RSval: -1
+blezl :: 19, RSval: -1
BGEZALL
bgezall :: 9, RSval: 0
bgezall :: 10, RSval: 1
+bgezall :: 7, RSval: -1
+bgezall :: 8, RSval: -1
+bgezall :: 9, RSval: -2
bgezall :: 10, RSval: -1
-bgezall :: 11, RSval: -1
-bgezall :: 12, RSval: -2
-bgezall :: 13, RSval: -1
bgezall :: 15, RSval: 5
-bgezall :: 15, RSval: -3
+bgezall :: 12, RSval: -3
bgezall :: 17, RSval: 125
-bgezall :: 17, RSval: -2147483648
-bgezall :: 18, RSval: -1
+bgezall :: 14, RSval: -2147483648
+bgezall :: 15, RSval: -1
bgezall :: 20, RSval: 598
bgezall :: 21, RSval: 85
bgezall :: 22, RSval: 4095
-bgezall :: 22, RSval: -1
-bgezall :: 23, RSval: -1
+bgezall :: 19, RSval: -1
+bgezall :: 20, RSval: -1
BLTZL
-bltzl :: 9, RSval: 0
-bltzl :: 10, RSval: 1
-bltzl :: 3, RSval: -1
-bltzl :: 4, RSval: -1
-bltzl :: 5, RSval: -2
+bltzl :: 6, RSval: 0
+bltzl :: 7, RSval: 1
bltzl :: 6, RSval: -1
-bltzl :: 15, RSval: 5
-bltzl :: 8, RSval: -3
-bltzl :: 17, RSval: 125
-bltzl :: 10, RSval: -2147483648
-bltzl :: 11, RSval: -1
-bltzl :: 20, RSval: 598
-bltzl :: 21, RSval: 85
-bltzl :: 22, RSval: 4095
-bltzl :: 15, RSval: -1
-bltzl :: 16, RSval: -1
+bltzl :: 7, RSval: -1
+bltzl :: 8, RSval: -2
+bltzl :: 9, RSval: -1
+bltzl :: 12, RSval: 5
+bltzl :: 11, RSval: -3
+bltzl :: 14, RSval: 125
+bltzl :: 13, RSval: -2147483648
+bltzl :: 14, RSval: -1
+bltzl :: 17, RSval: 598
+bltzl :: 18, RSval: 85
+bltzl :: 19, RSval: 4095
+bltzl :: 18, RSval: -1
+bltzl :: 19, RSval: -1
BNEL
-bnel :: 1, RSval: 0, RTval: 1
-bnel :: 10, RSval: 1, RTval: 1
+bnel :: 4, RSval: 0, RTval: 1
+bnel :: 7, RSval: 1, RTval: 1
+bnel :: 8, RSval: -1, RTval: -1
+bnel :: 7, RSval: -1, RTval: -2
+bnel :: 8, RSval: -2, RTval: -1
bnel :: 11, RSval: -1, RTval: -1
-bnel :: 4, RSval: -1, RTval: -2
-bnel :: 5, RSval: -2, RTval: -1
-bnel :: 14, RSval: -1, RTval: -1
-bnel :: 15, RSval: 5, RTval: 5
-bnel :: 8, RSval: -3, RTval: -4
-bnel :: 17, RSval: 125, RTval: 125
-bnel :: 18, RSval: -2147483648, RTval: -2147483648
-bnel :: 11, RSval: -1, RTval: -2147483648
-bnel :: 20, RSval: 598, RTval: 598
-bnel :: 21, RSval: 85, RTval: 85
-bnel :: 14, RSval: 4095, RTval: 221
-bnel :: 15, RSval: -1, RTval: 5
-bnel :: 24, RSval: -1, RTval: -1
+bnel :: 12, RSval: 5, RTval: 5
+bnel :: 11, RSval: -3, RTval: -4
+bnel :: 14, RSval: 125, RTval: 125
+bnel :: 15, RSval: -2147483648, RTval: -2147483648
+bnel :: 14, RSval: -1, RTval: -2147483648
+bnel :: 17, RSval: 598, RTval: 598
+bnel :: 18, RSval: 85, RTval: 85
+bnel :: 17, RSval: 4095, RTval: 221
+bnel :: 18, RSval: -1, RTval: 5
+bnel :: 21, RSval: -1, RTval: -1
j, jal, jr
J JAL JR :: 6, RSval: 0
J JAL JR :: 7, RSval: 1
|
|
From: <sv...@va...> - 2017-05-17 11:07:02
|
Author: iraisr
Date: Wed May 17 12:06:53 2017
New Revision: 16393
Log:
Fix test fb_test_amd64.
Follow up to r16372.
The test is now built if the compiler understands AVX
instructions. The test is executed if the host speaks AVX
is well. Finally bogus printf format flags were fixed as
they caused the output to be inconsistent on Linux and Solaris.
Modified:
trunk/none/tests/amd64/Makefile.am
trunk/none/tests/amd64/fb_test_amd64.c
trunk/none/tests/amd64/fb_test_amd64.vgtest
Modified: trunk/none/tests/amd64/Makefile.am
==============================================================================
--- trunk/none/tests/amd64/Makefile.am (original)
+++ trunk/none/tests/amd64/Makefile.am Wed May 17 12:06:53 2017
@@ -98,7 +98,6 @@
bug127521-64 bug132813-amd64 bug132918 bug137714-amd64 \
clc \
cmpxchg \
- fb_test_amd64 \
getseg \
$(INSN_TESTS) \
nan80and64 \
@@ -113,6 +112,7 @@
check_PROGRAMS += asorep
endif
if BUILD_AVX_TESTS
+ check_PROGRAMS += fb_test_amd64
if BUILD_VPCLMULQDQ_TESTS
check_PROGRAMS += avx-1
endif
Modified: trunk/none/tests/amd64/fb_test_amd64.c
==============================================================================
--- trunk/none/tests/amd64/fb_test_amd64.c (original)
+++ trunk/none/tests/amd64/fb_test_amd64.c Wed May 17 12:06:53 2017
@@ -362,6 +362,7 @@
printf("\n");
}
+__attribute__((format(__printf__, 1, 2)))
void xxprintf (const char *format, ...)
{
char buf[128];
@@ -947,9 +948,9 @@
la = a;
xxprintf("(float)%f = %f\n", a, fa);
xxprintf("(long double)%f = %Lf\n", a, la);
- xxprintf("a=%016Lx\n", *(long long *)&a);
- xxprintf("la=%016Lx %04x\n", *(long long *)&la,
- *(unsigned short *)((char *)(&la) + 8));
+ xxprintf("a=%016llx\n", *(unsigned long long int *) &a);
+ xxprintf("la=%016llx %04x\n", *(unsigned long long int *) &la,
+ *(unsigned short *) ((char *)(&la) + 8));
/* test all roundings */
asm volatile ("fstcw %0" : "=m" (fpuc));
@@ -963,7 +964,7 @@
asm volatile ("fldcw %0" : : "m" (fpuc));
xxprintf("(short)a = %d\n", wa);
xxprintf("(int)a = %d\n", ia);
- xxprintf("(int64_t)a = %Ld\n", lla);
+ xxprintf("(int64_t)a = %lld\n", lla);
xxprintf("rint(a) = %f\n", ra);
}
}
Modified: trunk/none/tests/amd64/fb_test_amd64.vgtest
==============================================================================
--- trunk/none/tests/amd64/fb_test_amd64.vgtest (original)
+++ trunk/none/tests/amd64/fb_test_amd64.vgtest Wed May 17 12:06:53 2017
@@ -1 +1,2 @@
prog: fb_test_amd64
+prereq: test -x fb_test_amd64 && ../../../tests/x86_amd64_features amd64-avx
|
|
From: <sv...@va...> - 2017-05-17 04:36:23
|
Author: iraisr
Date: Wed May 17 05:36:06 2017
New Revision: 16392
Log:
POST syscall wrapper for clock_gettime was not properly hooked up on Solaris.
This resulted in false positive undefined warnings.
Fixes BZ#379895.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-solaris.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 17 05:36:06 2017
@@ -198,6 +198,7 @@
379838 disAMode(x86): not an addr!
379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions, expected output
update.
+379895 clock_gettime does not execute POST syscall wrapper
Release 3.12.0 (20 October 2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/coregrind/m_syswrap/syswrap-solaris.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-solaris.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-solaris.c Wed May 17 05:36:06 2017
@@ -10953,7 +10953,7 @@
SOLXY(__NR_auditsys, sys_auditsys), /* 186 */
SOLX_(__NR_p_online, sys_p_online), /* 189 */
SOLX_(__NR_sigqueue, sys_sigqueue), /* 190 */
- SOLX_(__NR_clock_gettime, sys_clock_gettime), /* 191 */
+ SOLXY(__NR_clock_gettime, sys_clock_gettime), /* 191 */
SOLX_(__NR_clock_settime, sys_clock_settime), /* 192 */
SOLXY(__NR_clock_getres, sys_clock_getres), /* 193 */
SOLXY(__NR_timer_create, sys_timer_create), /* 194 */
|