* Linaro
Continued work on 64-bit multiplies. Cleaned up the patches a lot.
Started testing work to check for correctness. Ironed out a few bugs.
My turn for patch review week.
* Other
Spent most of the week in San Diego attending the formerly-known-as
CodeSourcery annual meeting, now Mentor Graphics' ESD TOOLS team annual
meeting.
Mostly bug hunting week with some time on Partial partial PRE.
==Progress===
* Fixed PR50313 - backport submitted to Linaro 4.6 branch for testing
- Testing on FSF GCC 4.6 branch as well currently.
* Followed up on PR48308 fix . No reply yet.
* Triaged some of the test failures that we are currently seeing on
FSF trunk. Reported a few bugs upstream which I think are now fixed.
There are still too many vect failures for my liking ( nearly 30 odd
unique) . Some of them are testisms and some of them probably need a
bit of knowledge in the vectoriser. So could do with a hand here in
case someone has some free time and needs things to look at .
* Read up on Partial-partial PRE . Slow progress but getting a handle
on the theory now.
* Handed over the vld1 / vldm work to Uli - found another case where
the compiler could do better while fixing up PR51819. Essentially in
loop end code where we have cleanup code involving single elements
from the vector, the backend prefers to move this to an integer
register and store the value to memory which is just silly - See
https://pastebin.linaro.org/385
* Fixed PR51819. Backported fix to Linaro 4.6 branch - The FSF 4.6
branch *doesn't* show this particular problem.
=== Plans ===
* Continue with partial-partial PRE .
* Finish submitting PGO patch and ABI tests patch
* Finish backporting PR50313 fix to the correct repositories.
* Follow up on PR48308 and investigate this a bit further.
* Start preparing for Connect 2012.q1
Absences.
* Feb 6-10 : Linaro Connect Q1.12.
* Feb 13- 18 : Holiday.
== GDB ==
* Fixed some final minor issues with remote "info proc".
Committed patch set to implement remote "info proc" (LP #804411)
and remote core file generation (LP #804406) to mainline.
Backported to Linaro GDB 7.3.
== GCC ==
* Created patch to fix optimization failures on x86_64 exposed by
Richard's subreg forward-propagation patch.
* Set up Richard's loop-microbenchmarks suite and verified that the
subreg forward-propagation patch causes no regression anywhere,
and shows measurable improvements on some cases in GCC mainline.
With the Linaro GCC 4.6 backport, results don't look as good;
still investigating the cause.
* Started looking into Ramana's vld1 patches.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
Hi,
* hacked the external toolchain recipe to use the latest version of the
binary toolchain
this kind of reverts the multiarch changes since oe doesn't support
it yet
* built the minimal, sato and qt images for armv7-a
in three different flavors (-O2, -O3 -fno-tree-vectorize, -O3)
using gcc-linaro-arm-linux-gnueabi-2012.01-20120112+bzr2318~linux
see: http://people.linaro.org/~kwerner/oe-core/
* encountered that binutils 2.22 (the gas) fails to build with -O3
due to a warning about an unitialized variable
I'm not convinced this is a real bug, I'll look at it as time permits
workaround: --disable-werror
* all nine of them (the images) are booting within qemu using
vexpress_defconfig!
There is one glitche with the mouse pointer:
it doesn't match to the one of the SDL/VNC window as
the guest pointer sometime accelerates faster that the host pointer
I can hardly imagine this is due to miscompiled code
* Extracted size informations about the generated ELF files:
https://docs.google.com/spreadsheet/ccc?key=0AmsCLxCMnnISdDNQSEM2ZHIxd3dVNj…
Regards,
Ken
RAG:
Red:
Amber:
Green: A15 vexpress system model sufficient for KVM guest now done
Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-02-20 || ||
||initial-a15-system-model || 2012-01-27 || 2012-01-27 || 2012-01-17 ||
||qemu-kvm-getting-started || 2012-03-04?|| 2012-03-04?|| ||
(for blueprint definitions: https://wiki.linaro.org/PeterMaydell/QemuKVM)
Historical Milestones:
||a15-usermode-support || 2011-11-10 || 2011-11-10 || 2011-10-27 ||
||upstream-omap3-cleanup || 2011-11-10 || 2011-12-15 || 2011-12-12 ||
== cp15-rework ==
* some (slow) progress on this
* made a list of the missing pieces in my current patchset and
knocked off a few of the easier ones
* fortunately this blueprint isn't really a critical blocker for
KVM work any more
== initial-a15-system-model ==
* vexpress-a15 now submitted upstream (in review) and in qemu-linaro
* ...so this blueprint is complete
* NB: doesn't boot in KVM but this is a trivial kernel-side issue
== other ==
* this category seems to take most of my time :-(
* patch review: still Calxeda, Samsung
* patch review: softfloat type fixes
* identified some bugs in softfloat and arm code that surface if a
softfloat type is 64 bits (at the moment it is 32 bits in practice
but it is being proposed to widen it)
* wrote up the issues to be solved so somebody else can do qemu-linaro
releases
* got qemu-jeos building for ARM [an attempt at making qemu testing
easier by having an automated "build toolchain/kernel/initrd" setup]
* retested QEMU fused-multiply-accumulate against an A15 FPGA
Hi Åsa. The GCC 4.7 release is coming up and the ARM testsuite shows
a lot of regressions:
http://ex.seabright.co.nz/helpers/testlog/gcc-4.7~svn183205/logs/armv7l-nat…
We've been running three builds a week:
http://ex.seabright.co.nz/helpers/buildlog/gcc-4.7~svn
and can use the result to track down the range of commits where a
fault was introduced or exposed.
Could you please look through the results and narrow down where each
failure appeared? I've uploaded all of the results to:
http://people.linaro.org/~michaelh/incoming/trunks.tar.xz
One way is to look at the testsuite-diff.txt in each build as it
should show the change in test results between one build and the next
but might be incomplete. Another way is to pull the failures out of
gcc-testsuite.txt and do a diff against the previous version.
The output should be a revision range for each of the current failures.
Script it up. Don't do it by hand. I'm not that mean.
Ta,
-- Michael
* Started with bug triaging, looked at four different bugs (including
Michael's example). Challenging, but interesting. Got great help from
Ramana and Andrew.
* -o2/-o3 benchmark runs with gcc-linaro-4.6-2012.01 done. coremark, eembc,
denbench, pybench and spec2000. Uploaded all results
~linaro-toolchain-wg/linaro-toolchain-benchmarks/private-runs. Posted
results for -o2-neon vs -o3-neon-novect. Working on charts including also
-o3-neon and -os. Got a bit too occupied with making the matplotlib charts
look pretty. I will try to get all results posted next week.
* Started the add-sunspider-as-a-benchmark blueprint in the background.
Built the v8-engine stand alone on x86 (just with default options). It has
a sample shell included. You can feed it with .js-files. Tried the v8
benchmark, which also comes with the engine.
Regards
Åsa
Hi all,
I will be out for vacation during Chinese Spring Festival (Jan
21-29, 2012). For emergency, call me at +86-13817948562.
Best regards!
-Zhenqiang