Worked on the ARM 16 -> 64-bit multiply-and-accumulate problem. Bernd kindly provided a prototype patch to help. I've tried to understand what needs to be done, but I didn't have enough time to get to the bottom of it. So far, I think I know why the existing code doesn't work, and I think I have a way forward. It does appear that the real problem ought to be solved in the tree optimizers, though.
- Committed the FSF GCC 4.5.3 merge to the Linaro 4.5 branch. Testing did not show any trouble.
- Matthias requested an additional 4.5 merge to pick up a new bug fix, so I've done the merge, and submitted the merge request for testing.
- Committed Maxim's compound conditionals optimization patch - a merge from Linaro GCC 4.5.
- There was some confusion caused by the lp:gcc-linaro/4.6 branch history accidentally getting re-written. After some discussion on #bzr I managed to figure out what happened, posted a warning to linaro-toolchain mailing list, and changed the branch configuration to prevent it happening again.
- Committed Mark Shinwell's BRANCH_COST patch to Linaro GCC 4.6 - another merge from GCC 4.5.
- Merged from FSF GCC 4.6 to Linaro 4.6 and submitted the patch for testing.
- Richard Earnshaw approved my recent Thumb2 constants patch, but only if I modify it slightly. I've begun work on the changes, but I still need to test them. I won't be able to commit them until the ADDW/SUBW patch has been approved.
- Ramana has reviewed my EABI half-precision function names patch, and discovered that the return types are wrong. I have no idea how this happened - the changes are deliberate so they must have been based on something, but I no longer have the same documents I had when I did the work, and it clearly doesn't match my current ones. In any case, the changes make no practical difference as function return values are always as wide a register anyway.
- Launchpad #748138: "ICE in redirect_jump, at jump.c:1443". Related to shrink-wrap, discussed a bit with Bernd off-list. Sent fix today (Mon.) to gnu-internal; will need to merge to Linaro.
CoreMark combine canonicalize compares patch set: bootstrapped and tested with clean results on powerpc, added comments and updated upstream submission. Machine independent parts okayed by Jeff Law, now committed upstream. ARM parts still pending review.
Compiled back-list of upstream patches, and sent to email@example.com
- Traveled to Budapest, Hungary for Linaro Developer Summit on Saturday.
- Linaro Developer Summit at Budapest all week.
- Tracked bug 774175 (apt segfault on armel on oneiric) down to the
cortex-a8 branch erratum bug that we found as part of the bug jam a few weeks ago (affecting the more obscure vtk package) - Richard's existing binutils fix should fix this.
- Struggled to get 'perf' to get sane results from profiling spec; some of the samples are obviously being associated with the wrong process somewhere along the process (e.g. it's showing significant samples in the sh process but in a library that's used by the actual benchmark.
- latrace on spec still running on ursa2
- Wrote a non-neon memcpy; as expected it's aligned performance is very similar to libc/kernel - it's a bit faster in some places but slower in some odd places (e.g. n*32+1 bytes is a lot slower for some
reason). It's also really bad on mis-aligned cases, I tried to take advantage of the v7's ability to do misaligned loads - but they really are quite slow.
- backported vzip fix to GCC 4.5 and 4.6 (PR 48252)
- merged auto-detection of vector size patch to gcc-linaro 4.6
- started looking into vectorization of ffmpeg
finished libunwind support of detection and handling of signal frames on ARM Linux. RT and non-RT signal frames are handled for both >=2.6.18 and <2.6.18 kernels. The *test-resume-sig testcases are passing now.
briefly looked into what needs to be done in order to add 64bit sync_* ops
- prepared for LDS
- some minor patches committed: SPARC build issues, Neon UNDEFs, restore base reg properly for Thumb LDMs that abort midway
- v2 of configure patch to print list of valid targets
- some work on fixing QEMU FPSCR status flags (last remaining item in this blueprint); submitted a patchset fixing everything except the various VCVT instructions (which have trickier softfloat bugs)
- submitted patch fixing NaN behaviour in VMLA/VMLS/VNMLA/VNMLS
- the Google Summer of Code QEMU project to work on upstreaming some of the Android emulator has been approved; I will be mentoring Patrick Jackson, who is the student who will be doing this work
qemu-linaro 2011-05 is unlikely to have any code changes since 2011-04; we might release it anyway just because it's the final one of the cycle Current qemu patch status is tracked here: https://wiki.linaro.org/PeterMaydell/QemuPatchStatus
- 13-19 May: UDS, Budapest
(maybe but unlikely) 15-16 August: QEMU/KVM strand at LinuxCon NA,
Vancouver [LinuxCon proper follows on 17-19th]
Regarding the patch 'Support closing_branch_deps' http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00350.html Continued discussions with Ayal Zaks (SMS maintainer) regrading this patch. (http://gcc.gnu.org/ml/gcc-patches/2011-0 /msg00250.html) I'm now working on simplifying the patch for resubmission according the recommendation.
Regarding the patch 'Avoid considering debug_insn when calculating SCCs' http://gcc.gnu.org/ml/gcc-patches/2011-04/msg01294.html The problem exposed while testing patch  and it seems that is part of a bigger problem -- SMS does not support debug_insn properly. I've asked Alexandre Oliva who inserted the support for debug_insn to haifa sched and selective sched to help with that.
Regarding the patch 'Support instructions with REG_INC_NOTE' http://gcc.gnu.org/ml/gcc-patches/2011-04/msg01309.html The fix for debug_insn (which the patch  tries to solve) is needed for bootstrapping this patch. So I'm putting it on hold for now.
- Committed interleaved load/store vectorisation changes upstream.
- Merged the vldN and vstN intrinsic improvements into Linaro 4.5 and 4.6. (Thanks for the quick reviews here.)
- Backported the interleaved load/store vectorisation changes to Linaro 4.5 and 4.6. This took a while because the patch series touches turbulent code. Submitted merge requests.
- Merged Sergey Grechanik's NEON reload improvement into Linaro 4.5 and 4.6.
- Got ready for summit.
- Committed support for NEON registers in core dumps (bug #615972) to Linaro GDB (not yet in mainline).
- Investigated root cause of bug #615996 (gdb.cp/templates.exp) and started exploring ways to fix it.
- Committed fix for bug #759409 (Profiled bootstrap fails in GCC 4.5) to FSF GCC 4.5 branch and Linaro GCC 4.5.
WorkingGroups/ToolChain/ActivityReports/2011-05-06 (last modified 2011-05-16 18:51:41)