= Progress ==
* Core mark benchmark and report for PGO and PGO + LTO (4/10)
More profiling and collected numbers and reported. JIRA card TCWG-181 updated.
Adding LTO gains in x86 and degrades in Aarch64 .
* Addressed machine bring up issues, debugged and installed necessary
packages for both x86 and Aarch64 (1/10)
* PR 62308 - Analyzed RTL dumps. Looks to be similar issue solved in
trunk. Git bisected and found the passing revision in trunk. posted my
comments. waiting for feedback. (2/10)
* Misc [3/10]
Internal work, emails, AMD meetings and 1-1 with inline manger.
1-1 with Maxim, christophe and 1-1 with ryan
Linaro status call
== Plan ==
* Coremark benchmark and profiling for PGO and PGO + LTO. Investigate
LTO degradation causes and report.
* Investigate PR 63173
* Setup Cbuildv2 build in internal machine.
== Issues ==
Experiencing Hardware connection issues and kernel instability issues
with my local machines.
== Holiday ==
* Public Holiday (2/10)
* Leave (4/10)
== Progress ==
* Zero/sign extension elimination with widening types (4/10)
- Started experimented with a pass for widening type.
- Verified for one simple test-case.
- Bootstrapping is failing and looking into it.
== Plan ==
* Continue with Zero/sign extension pass.
== Progress ==
* Automation Framework (CARD-1378 1/10)
- Planning LAVA server for new TCWG gateway
* Buildbots (TCWG-76 7/10)
- Fixing Compiler-RT buildbot (from 69 to 4 failures)
* Background (2/10)
- Code review, meetings, discussions, etc.
- Re-testing a change in inst combine that broke bots before
- Reviewing CMake builder for Windows builds
- Discussing clang-reformat on lld's codebase
== Plan ==
* Continue fixing the Compiler-RT buildbot
* Present 2 talks at Linux Plumbers
== Progress ==
* GCC trunk/4.9 cross-validation (CARD-647) (2/10)
- trunk build for aarch64 reported to fail because libsanitizer
requires an update. Pinged libsanitizers maintainers but got no answer
so far.
- posted testsuite patch to test if -shared is supported
- managed to find how to force target-dependent -mword-relocations
flags to compile testglue, without needing a testuite patch :-)
* Validation (3/10)
- compared cbuild2 schroot-test branch using (default) shared libs
and forcing static libs
Using static libs causes many unresolved and unsupported tests
- compared using unix.exp and arm-linux.exp: the latter causes
creates instability in the results
* Neon intrinsics tests (2/10)
- rebased on trunk, applied requested changes
- the make-check parallelization support has changed mid-September,
took some time to discover that my .exp harness was now incompatible.
* Misc (3/10)
- calls/meetings
== Next ==
* GCC trunk/4.9 cross-validation
- continue investigation of abi_check test
* Neon intrinsic tests update, trying to take float16 types into account
* cbuild2:
- compare results + validation time of stable and schroot-test branches
- look at backport-test script + logs
cbuild2 benchmarking - TCWG-360 [7/10]
* Cleaned up and upstreamed some code that works
* Fixed a couple of issues raised by LAVA people
** No longer scraping the logs
** No longer assuming stable IP addresses
lowlevellock.h comments - CARD-341 [1/10]
* Respun based on Carlos' comments
Meetings/mail/etc - [2/10]
=Plan=
cbuild2 benchmarking
* Upstream code-with-fixes
* Write a doc
* Invite people to start using this thing
** Assuming that the storage questions get resolved
* Work through list of tweaks
Get up to speed on glibc vector math thread
== Progress ==
* Investigate a number of bugs in Linaro toolchain (2/10)
- Submitted patches for cbuild build failure with eglibc and i686
- Investigated BZ #675, gdb baud rate issue. Should be fixed by
switch to cbuild
- AArch64 PIE support seems to be ok?
* Submitted a patch to add all missing relocs from AArch64 ABI 1.0 to
binutils (1/10)
* Email, meetings, etc. (1/10)
* More malloc single-thread optimizations (6/10, TCWG-436)
- Patches submitted to the list
== Issues ==
* None
== Plan ==
* More atomics work
* Tidy up and commit malloc app benchmarks
* Out Thursday and Friday for a wedding
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* LR register not used in leaf functions (TCWG-539) (1/10)
Reviewed Jiong's changes.
* bug #412 (2/10)
- Seems to have been fixed but since there is not specific test-case
except that it happens with spec2k gcc, need more work to be entirely sure.
* AArch64 Spec2006 int regression (1/10)
- Looked at bug databases and mailing list archive for more information
* armv3 (bug #85 and bug #410) (2/10)
- Looked at both the outstanding bug to find more information
- proposed using -mno-lra for armv3 after discussion with the team
* Misc (2/10)
- Public holiday (2/10)
- Annual Leave (2/10)
== Plan ==
* zero/sign extension elimination with widening types
== Holidays ==
* 06/10/2014 - Public holiday
* 07/10/2014 and 07/10/2014 - Annual leave
== This week ==
* TCWG-515 - Neon intrinsic testing part 1 (5/10)
- Developed fix for vclz DejaGnu failure
- Tested on ARM hardware
* Linaro bugzilla 602 - gcc 4.7.3 compiler internal error while building
hsail components (1/10)
- Unable to reproduce with either Linaro 4.8 or 4.9
* Linaro Bugzilla 540 - Median of three has unneeded register moves (1/10)
- Results of Triage indicate generated code has improved though still
not optimal
- No plans for further improvement
* Misc. (1/10)
- Completed ARM annual review paperwork
* Out sick Friday, October 3rd (2/10)
== Next week ==
- Full validation testing on vclz bug fix
- Create patch for vclz bug fix and send to gcc-patches list
- Resolve any blocking issues to patch for bugzilla 331
= Progress ==
* Core mark benchmark and report for PGO and PGO + LTO (2/10)
Collected benchmark scores and report sent internally.
Adding PGO benefits coremark. LTO seems to hurt. More runs and profiling
next week. Tired few experiments with -funroll-all-loops and seems to
benefit.
* Misc [2/10]
Internal meeting and 1-1 with Ryan and inline manger.
Revisited and closed PR61442
Short week leave on 29 Sep, 2 and 3rd Oct (6/10).
== Plan ==
* Coremark benchmark and profiling for PGO and PGO + LTO
* Investigate PR 62308
* Setup Cbuildv2 build in internal machine.
== Progress ==
* Fixed test infrastructure bugs (TCWG 1378 - 8/10).
- Installed Foundation Model on all Hetzner machines so
aarch64 bare metal testing works.
- Refactored all board support files to eliminate duplication to
reduce maintainance headaches. Fixed ldflags so now getting
good results.
- Backport job is working good now.
- Worked on Gerrit/Jenkins integration, with the goal of having
the notifications work *after* the test and validation is done.
- More work on optimizing SSH connections by reducing extraneous
commands in the test framework.
- Recreated stable branch from master now that results are much
better.
* Meetings and Misc (2/10)
* Fixed National Park internal wireless network, getting access to
much better bandwidth than the crappy Guest one. :-)
== Plan ==
* Escape Yosemite, hard during a great weather window, and being
the only person in my group with a job...
* Continue fixing remote testing support, merge "boards" branch
into master, then make it stable after more testing.
== Progress ==
Closed bug #405 (not a bug)
NEON load/store
. reworked patches not to do type-punning [9/10]
. investigated alternative ways to solve poor code generation with
array of vector types
Started investigating NEON bugs 403, 418 [1/10]
== Plan ==
NEON load/store - submit new patches, continue upstream discussion
Try out validation infrastructure for my own patches
== Progres ==
* GCC trunk/4.9 cross-validation (CARD-647) (3/10)
- aarch64 address sanitizer tests currently all fail at execution
under qemu because they try to reserve 50GB of memory. Tried to push
the limits with no success so far.
- working on fixing support for testcases generating a shared lib
- newly introduced abi_check for aarch64 fails on my side, probable
testsuite configuration problem.
* Linaro branches
- updated backports spreadsheet
- reviewed backports prepared by Yvan
* Validation (3/10)
- manually running builds+validations to compare master and chroot
branches, see the diffs between static and dynamic libs in terms of
PASS/FAIL, ....
* Neon intrinsics tests (1/10)
- No need to comply to the GNU coding style since it's imported from
and existing testsuite.
- only minor changes requested
- should help having the 1st subset committed soon
* Misc (3/10)
- calls/meetings
- bugzilla admin etc..
cbuild2 benchmarking - TCWG-360 [9/10]
* Knocked off a lot of rough edges
* Now working fairly robustly
lowlevellock.h comments - CARD-341 [4/10]
* Got a bit stuck trying to follow condvar locking
* But wasn't really needed to describe the code in question
LCA [10/10]
LCA recovery day [2/10]
Meetings/mail/etc [5/10]
=Plan=
cbuild2 benchmarking:
* Push upstream for others to look at
* Sort out storage story for benchmark sources and results
* Try to get working on a Juno (in LAVA, therefore on OE)
* Look at our Jenkins scripts with a view to figuring out how to hook in
* Work through list of bits 'n' pieces to fix -
+ Don't scrape logs (bad for server)
+ Don't fail on network timeouts
+ Extra target control knobs - disable ASLR, set a nasty nice value,
maybe hugepages
+ Set appropriate flags automatically for cross-builds
== Progress ==
* Monday off to recover from Connect (2/10)
* Catch up on email (1/10)
* Upstream work (1/10, CARD-341)
- Patch review
* Investigate malloc single-thread optimizations (1/10, TCWG-436)
- More exploratory work on atomics
* Investigate binutils support for full range of AArch64 relocs (1/10)
* Annual leave Thursday and Friday (4/10)
== Issues ==
* None
== Plan ==
* More work on atomics
* Figure out how to make an LLVM cross compiler with gas/ld
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* LR register not used in leaf functions (TCWG-539) (2/10)
Posted the patch after regression testing
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01833.html
* AArch64 Spec2006 int regression (3/10)
- After struggling to boot Juno, found the combination that works
- Ran spec2006 int benchmarks to try reproduce
- waiting for more information to continue
* Launchpad bugs (LP1331112, LP1332640. LP1331126 and LP1320965) (3/10)
- Set-up cbuild2 and spec2k on aarch64 board
- ran aarch32 and aarch64 in aarch64 board with 09.2014
- Updated the bug entries with the results
* Misc (2/10)
- Connect recovery (2/10)
== Plan ==
* 29/09/2014 - Public holiday
* Get back to zero/sign extension with pass to promote operations
== Progress ==
* Connect recovery [6/10]
Very short week short week travel back from connect
22nd - 23rd travel.
25th - sick leave.
* Backport - Bug 676 - CSE did not optimize the redundant cmp
instruction on aarch64 [2/10].
Checked the issue by building latest trunk, linaro branch and by
adding the patch on top of linaro branch . Validated the code
generated at -O2 and it seemed to be optimal and bug does not occur.
Discussed with Christophe and decided to rebackport it along with
211881. It was reverted because of an libjava bug which is fixed in
211881. Used back flip to back port, git review was not automatically
working. So manually amended by adding the change log for combined
backport of revisions 209643 and 211881.
* Misc [2/10]
Prepared notes on LCU14 to AMD team.
Examined spec benchmark in internal Aarch64 hardware for a support issue.
Internal meeting and 1-1 with manager.
== Plan ==
* Coremark benchmark and report for PGO and PGO + LTO
* Get profiles on trunk for PGO and PGO + LTO
* 29/9/2014 - Personal day off
* 2/10/2014 - 3/10/2014- Dusserra Holidays Leave
== Progress ==
* Connect recovery [4/10]
* NEON load/stores (TCWG-516 [5/10])
. initial review of my vldN_lane asm()->__builtin patches is promising
. the other patches for other loads/stores are wrong. Have been investigating
(with upstream) how much bigger the can of worms is.
* Misc [1/10]
. LCA15 travel
. bug investigation (#405)
== Plan ==
* more NEON load/store
Short week, 2 days holiday (4/10)
== Progress ==
* GCC trunk/4.9 cross-validation (2/10)
- reported a few new FAILs
- trying to allocate time to fix new FAILs introduced in the 4.9
branch on devirt-28a.C, mostly because a testsuite configuration
problem.
- fixed reporting of email-driven validations
* AArch64 libsanitizer
- finally committed asan+ubsan support for AArch64!
* Misc (4/10)
* email catch-up
* calls/meetings
* updated backports speadsheet, backlog now > 75
* bugzilla management
== Next ==
* GCC trunk/4.9 cross-validation:
- actually reproduce+propose fixes for a couple of regressions
recently observed
* AArch64 thread sanitizer
* Neon intrinsic tests
* Analyze failures in Backport job in Jenkins
* Analyze differences in validation results between using shared libs
and static libs
I just updated the stable branch to match master, which in my testing
has been reliable and stable. I also changed the following Jenkins jobs
to use the stable branch: Backport, BuildFarm, BinaryRelease, SourceRelease.
Note that now any Jenkins job that runs tests and validates them using
the tcwgweb.sh script, the build and test run may succeed, but if there
are any regressions, the dot will be Red now instead of Green. This
primarily effects the Backport and the Release jobs.
- rob -
Hi Sugar,
the toolchain you need is the one with the aarch64-linux-gnu triplet.
Regards,
Yvan
On 18 September 2014 08:05, Sugar <shugelinux(a)gmail.com> wrote:
> Hi yvan,
> I saw linaro have released
> gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.bz2. I have compiled
> cortex-a53 by 'arm-linux-gnueabihf', but its binary is 'ELF 32-bit LSB
> executable', not 'ELF 64-bit'.
> Is it only compile to aarch32? If I want to compile aarch64, which
> toolchains I should choose? Or what options should pass to compiler.
>
> Thanks.
Hi all,
I'm using ct-ng to rebuild Linaro toolchain (arm-linux-gnueabihf ) for Linux kernel 2.6.36.
Ct-ng version: ct-ng-linaro-1.13.1-4.8-2014.01-01
There is a “FATAL: Kernel too old” message after mounting the rootfs. It turns out the default config using pre-built sysroot from Linaro website. After setting " CT_PREBUILT_SYSROOT=n" to build sysroot with lower kernel version, I get the following error:
[EXTRA] Building final compiler
[ERROR] /projects/broadcom-linux/joelz/opt/gcc-linaro-arm-linux-2.6-gnueabihf/arm-linux-gnueabihf/libc/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
[ERROR] make[5]: *** [_muldi3.o] Error 1
[ERROR] make[4]: *** [multi-do] Error 1
I tried to put " -mfloat-abi=hard" as CFLAG in different place, still can't pass this error.
If you have any idea how to fix it, please let me know.
Thanks,
Joel
== Progress ==
* GCC trunk/4.9 cross-validation (2/10)
- noticed a couple of newly introduced failing tests in some corner cases
- improved notification of selected commits to help fill the
backports speadsheet
* AArch64 libsanitizer
- answered Marcus/Andrew after their feedback
* Misc (conf calls, meetings, ....) 6/10
- usual 1/1 and team calls
- Connect preparation
- travelled on Friday
== Next ==
* Connect LCU14
== Progress ==
* More work on malloc app benchmark framework (1/10, TCWG-441)
- Postgres still has an issue with SELinux on Fedora...
* Email, meetings, etc. (1/10)
* Upstream work (3/10, CARD-341)
- Patch review
- Investigate glibc testsuite build failures on ARM
* Investigate malloc single-thread optimizations (4/10, TCWG-436)
- Atomics changes look like they will only help on AArch64
- Some improvements can be made to atomic code in general on ARM and AArch64
- Still need to look at locking
* Peparing and packing for Connect (1/10)
== Issues ==
* Electric/gas meter replacement and broken refrigerator consumed some time
== Plan ==
* Linaro Connect
--
Will Newton
Toolchain Working Group, Linaro
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2014.09
release of the Linaro GCC 4.9 source package.
Linaro GCC 4.9 2014.08 is the sixth Linaro GCC source package release.
It is based
on FSF GCC 4.9.2-pre+svn214896 and includes performance improvements
and bug fixes.
With the imminent release of ARMv8 hardware and the recent release of
the GCC 4.9
compiler the Linaro TCWG will be focusing on stabilization and
performance of the
compiler as the FSF GCC compiler. The Linaro TCWG provides stable[1] quarterly
releases and monthly enginering[2] releases.
Interesting changes in this GCC source package release include
* Updates to GCC 4.9.2-pre+svn214896
* Backport of [AArch32] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook
* Backport of [AArch32] Enable arm target in ira-shrinkwrap-prep* testcases
* Backport of [AArch32] fix check_effective_target_arm_nothumb
* Backport of Do not convert cast + __builtin_round into __builtin_lround unless
-fno-math-errno is used
* Backport of [AArch64] Fix Thumb2 testsuite fallout
* Backport of [AArch64_be] Fix vec_select hi/lo mask confusions.
* Backport of [AArch64_be] Don't fold reduction intrinsics
* Backport of [AArch64] Fix offset glitch in load reg pair pattern
* Backport of [AArch64][2/2] Add constrain to address offset in
storewb_pair/loadwb_pair insns
* Backport of [AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook
* Backport of [AArch64] Removed unused get_lane and dup_lane builtins.
* Backport of [sched-deps] Generalise usage of macro fusion to work on
any two insns
* Backport of [doc] Document clrsb optab and fix some inconsistencies
* Backport of [AArch64] Some aarch64-builtins.c cleanup.
* Backport of Guard transformation to lrint by -fno-math-errno
* Backport of [AArch32] Adjust clz, rbit and rev patterns for -mrestrict-it
* Backport of [AArch32/AArch64] Add CRC32 scheduling information to
Cortex-A53 and
Cortex-A57
* Backport of [AArch64] Use REG_P and CONST_INT_P instead of GET_CODE
+ comparison
* Backport of [AArch64] Prefer dup to zip for vec_perm_const; enable
dup for bigendian;
* Backport of [AArch32] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook
* Backport of [AArch64] Use MOVN to generate 64-bit negative
immediates where sensible
* Backport of [AArch64] Delete f_sels, f_seld types, use fcsel instead
* Backport of PR target/60606 target/61330 fix ICE
* Backport of [AArch64] PR target/63190
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
** Linaro Toolchain Development "mailing list":
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
** Linaro Toolchain IRC channel on irc.freenode.net at @#linaro-tcwg@
* Bug reports should be filed in Launchpad against "Linaro GCC project":
http://bugs.launchpad.net/gcc-linaro/+filebug.
* Questions? "ask Linaro":
http://ask.linaro.org/.
* Interested in commercial support? inquire at "Linaro support":mailto:
support(a)linaro.org
[1] Stable source package releases are defined as releases where the full Linaro
Toolchain validation plan is executed.
[2] Engineering source package releases are defined as releases where the
compiler is only put through unit-testing and full validation is not
performed.
Hi,
I'm having some very odd problems building the 2014.08 toolchain respin --
in the cbuild1 i686-lucid env, building glibc fails with
[ERROR] ../sysdeps/unix/sysv/linux/bits/sched.h:127:14: error:
variably modified '__bits' at file scope
[ERROR] ../sysdeps/unix/sysv/linux/bits/sched.h:127:14: error:
variably modified '__bits' at file scope
[ERROR] ../sysdeps/unix/sysv/linux/bits/sigset.h:29:23: error:
variably modified '__val' at file scope
[ERROR] ../sysdeps/unix/sysv/linux/bits/sigset.h:29:23: error:
variably modified '__val' at file scope
[ERROR] ../misc/sys/select.h:69:15: error: variably modified
'fds_bits' at file scope
[ERROR] ../misc/sys/select.h:69:15: error: variably modified
'fds_bits' at file scope
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/linux/posix_types.h:25:16:
error: variably modified 'fds_bits' at file scope
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/asm/sigcontext.h:33:2:
error: requested alignment is not a positive power of 2
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/asm/sigcontext.h:53:2:
error: unknown type name '__uint128_t'
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/linux/posix_types.h:25:16:
error: variably modified 'fds_bits' at file scope
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/asm/sigcontext.h:33:2:
error: requested alignment is not a positive power of 2
[ERROR] /cbuild/slaves/oorts/crosstool-ng/builds/aarch64_be-linux-gnu-linux/install/aarch64_be-linux-gnu/libc/usr/include/asm/sigcontext.h:53:2:
error: unknown type name '__uint128_t'
[ERROR] ../ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h:32:3:
error: unknown type name '__uint128_t'
[ERROR] ../ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h:32:3:
error: unknown type name '__uint128_t'
(Yes, the fix is to get rid of cbuild1 and more importantly the requirement
for 32-bit builds in a prehistoric environment - it builds just fine on
64-bit present-day boxes... But I don't think we want to make that change
in a respin).
The "variably modified" errors remain even after hardcoding
typedef struct {
__cpu_mask __bits[16];
} cpu_set_t;
instead of relying on __CPU_SETSIZE and __NCPUBITS, and the line where it
complains about alignment not being a positive power of 2 actually
hardcodes an alignment of 16.
Have you run into those before?
ttyl
bero
== Progress ==
Debug KGDB with gdb for testing [4/10]
LCU14 slides preparation and study for presentation. [2/10]
Miscellaneous [4/10]
* Configure to use hackbox to test aarch64 gdb remote configs
* Retrieve gdb test results in different configurations.
* Emails/Patch scrolling/Meetings etc
== Plan ==
patch updates and re submission.
Figure ARM and AArch64 gdb missing features.
Prepare and travel LCU14
=Progress=
cbuild2 benchmarking - TCWG-360 [8/10]
* Got an end-to-end run in my test environment
* Patched tests to run more selectively (in review)
Meetings/mail/etc - [2/10]
=Plan=
cbuild2 benchmarking:
* Clean up some lose ends
* Sort out source/results storage
glibc:
* Finish comments in lowlevellock.h (if time)
4 days week.
== Issues ==
* Unfortunate cbuild schroot-branch merge, silently brake the validation, and we
had to revert a commit in our FSF repo.
* aarch64 bare valdiation was broken all week, now workaround but it
still have to
be fixed.
== Progress ==
* GCC 4.9 2014.09 (6/10)
- Completed new backports.
- Started FSF 4.9 branch merge for 2014.09
- Investigated validation breakages.
* Misc:
- Various meetings (2/10)
== Next ==
- 4.9 2014.09 release.
- Prepare LCU hacking session
- Travel to CA
== This week ==
* USA Holiday, Monday September 1st
* TCWG-534 - Neon intrinsic testing part 8 (2/10)
- Tested final eighteen neon intrinsics on ARM with no regressions
identified
- Unable to test on aarch64 due to test harness issues
* Linaro Bugzilla 331 - [4.9 Regression] ICE in final_scan_insn, at
final.c:2952 (aarch64-linux-gnu) (2/10)
- Bug fix investigation
* Launchpad 1312931- gcc 4.8 internal compiler error: in add_stores, at
var-tracking.c (2/10)
- validation test results review and code review submission
* Misc. (2/10)
- Linaro Connect presentation finalization and conference call
- 1:1 with Christophe
== Next week ==
- Complete Neon intrinsic testing on Aarch64
- Identify bug fix for Linaro Bugzilla 331
- Investigate failures identified in Neon intrinsic testing
== Progress ==
* TCWG-181 - Bench marking core mark with LTO (2/10)
Measured -O3 -flto vs -O3 on Aarch64 machine with Linaro GCC and
Trunk FSF GCC on Aarch64 and X86_64. Performance in both cases seems
to be same level. Planning to remeasure in trunk now.
* TCWG-531 Fix invalid use of vector register (3/10).
Completed fixing. patch tested on Aarch64 machine and up streamed the
patch to FSF trunk.
* TCWG-532 Fix abinit fails to build on AArch64 (2/10)
Bug does not appear in trunk. Case of missing back port.
Did git bisect experiments in trunk and found that r213078 solves the problem.
Case of code generation for loading labels at -O0 getting fixed after
changes to IRA register class.
* Cbuildv2 preparation for hack session in LCU14.(1/10)
* Others (2/10)
* Meetings Christophe, Ryan, Maxim and GCC status meeting
* Misc and internal meeting.
* Cbuildv2 preparation for hack session in LCU14.
== Plan ==
* Continue testing fix for TCWG-532
* Continue backport fix for TCWG-531.
* Continue Benchmark Core mark with LTO (TCWG-181).
* TCWG-533 Creating scripting to run git bisect with cbuild2.
* Cbuildv2 preparation for hack session in LCU14.
== Progress ==
* Regression on alphaev68-linux-gnu due to uxt/sxt commit (6/10)
- posted patch for promoted type based VRP after fixing issues found in
bootstrapping and regression testing. But had to drop this as this might
have performance implications.
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00288.html
- Proposed setting a flag to indicating overflow/wrap so that we can
remove uxt/sxt safely.
* Preparation for connect hacking session (2/10)
- Started with materials for the discussions.
* misc (2/10)
- Visa
- Meetings
== Issues ==
- Value range data generated by VRP is not reliable for uxt/sxt removal
as wrapping/overflow is not propagated.
- Patch for Calculating range in promoted type is rejected
- Proposed propagating additional flag (with some tweaking to preserve
size) so that this information is available at the time we deicide on
uxt/sxt redundancy
- If this cannot be agreed, this patch has to be reverted
== Plan ==
* finalize overflow/wrap propagation
* prepare for connect
== Progress ==
* Email, meetings, etc. (1/10)
* Upstream work (1/10, CARD-341)
- Patch review
* LCU14 slides and review (4/10)
* More work on malloc app benchmark framework (4/10, TCWG-441)
- Ironed out a few bugs and sources of noise
- Still need to find a broader range of workloads
== Issues ==
* None
== Plan ==
* Look into malloc single thread optimization patches situation
* Find more workloads to add to malloc benchmarks
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Automation Framework (CARD-1378 2/10)
- Configuring D01s into a three-schroot box
- Turned out unstable, reverting to 4-core setup
* Toolchain (CARD-862 0/10)
- Re-committed vectorizer patch with MSVC2012-friendly code
* LLVM 3.5 Release (TCWG-476 1/10)
- Final release out, all done
* Buildbots (TCWG-76 4/10)
- Adding support for CMake on buildbot Zorg's interface
- Making the CMake builds test without NEON
- Created a compiler-rt bot, found some bugs, investigating
- Submitting changes upstream, will be up soon
* Background (3/10)
- Code review, meetings, discussions, etc.
- Presentations (Connect, LPC)
== Plan ==
* Migrate stack unwinding to VFP for ARMv7+ in compiler-rt
* Start implementing fpu stuff in assembler (parser/attributes)
* Finish LPC presentations
== Progress ==
* GCC trunk/4.9 cross-validation (1/10)
- monitoring results
- noticed failures on newly introduced tests when running on armeb.
Kyrill will fix his tests.
* bug #306 (bootstrap failure on i686) (1/10)
- unable to reproduce it
* AArch64 libsanitizer (3/10)
- asan and most of ubsan tests now pass
- submitted a gcc patch to enable it
- thread sanitizer does not work yet
* Neon intrinsic tests (1/10)
- ran the whole testsuite on aarch64* and arm* targets on gcc trunk
- reported an ICE on aarch64*; was a duplicated, fixed today by Carrot
- there are still several tests failing at runtime, need time to
reduce the testcases
* Misc (conf calls, meetings, ...) (4/10)
- usual 1:1 and team calls
- bugzilla management
== Next ==
* GCC trunk/4.9 cross-validation monitoring
* AArch64 thread sanitizer
* Neon intrinsic tests
* Connect preparation (hacking sessions)
Folks,
Clang+LLVM 3.5.0 was released yesterday (3rd Sep) and Linaro, as
usual, have tested both ARM and AArch64 native builds. This is a major
milestone for LLVM on ARM/AArch64, please read the release notes to
find out more.
http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html
You can download the native ARM binaries (and sources) at:
http://llvm.org/releases/download.html#3.5.0
Since LLVM is natively a cross-compiler, you can download the binary
to your host platform and compile to ARM or AArch64, but you'll need
extra tools (linker, libc, etc).
The main changes are:
* EHABI is now enabled by default and it's compatible with both gcc_eh
and libc++abi unwinding libraries.
* The integrated assembler has got a complete makeover and is now
enabled by default on ARM and AArch64. It supports most of what GCC
produces and a good part of the hand-coded assembly we've seen in the
wild. Please report bugs!
* The current AArch64 back-end is the resulting of a merge between the
existing back-end with Apple's own private back-end (that they open
sourced). It's faster and as stable as the previous and has been
further improved since the merge.
* Compiler-RT has been integrated to the ARM/AArch64 CMake build,
including the sanitizers, though the resulting quality is still beta.
Please report bugs!
This is the first time that Linaro has produced binaries for both ARM
and AArch64 and we'll continue to do so for all major and minor
releases from now on. If there is any patch on trunk for ARM/AArch64
that you need back-ported to 3.5.1 (and beyond), please let us know.
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
** Linaro Toolchain Development "mailing list":
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
** Linaro Toolchain IRC channel on irc.freenode.net at @#linaro-tcwg@
* Bug reports should be filed in LLVM's bugzilla:
http://www.llvm.org/bugs/
* Questions? "ask Linaro":
http://ask.linaro.org/.
* Interested in commercial support? Inquire at "Linaro support":mailto:
support(a)linaro.org
Regards,
--renato
On 09/02/2014 01:36 PM, Renato Golin wrote:
> Plus, the American culture that I like the most is steak. And bacon. I
> think I'll pass.
I won't be making it either. Around here, American culture is called
the Rodeo. :-)
- rob -
== Progress ==
Arm gdb record-replay pending patches up-streaming [3/10]
* Update, test and resubmit patches
AArch64 gdb record-replay patches up-streaming [3/10]
* Update, test and resubmit patches
Miscellaneous [4/10]
* Configure git for replying to previous patch submission using send email.
* PERF try out on chromebook
* Update record-replay slides and debug using cdt integration.
* Emails/Patch scrolling/Meetings etc
== Plan ==
Up-streaming of all pending patches after updates.
GDB Tracepoints/Fast Tracepoints support on arm [TCWG-480]
LCU14 slides preparation and study for presentation.
== This week ==
* TCWG-515 - Neon intrinsic testing part 1 (1/10)
- Completed testing on ARM targets
- Identified failure on vclz intrinsic at all optimization levels
* TCWG-524 - Neon intrinsic testing part 4 (1/10)
- Completed ARM testing with no regressions found
* TCWG-525 - Neon intrinsic testing part 5 (1/10)
- Completed ARM testing with no regressions found
* TCWG-528 - Neon intrinsic testing part 6 (1/10)
- Completed ARM testing with no regressions found
* TCWG-529 - Neon intrinsic testing part 7 (1/10)
- Completed ARM testing with no regressions found
* Launchpad 1312931- gcc 4.8 internal compiler error: in add_stores, at
var-tracking.c (2/10)
- Resolved and tested on linaro 4.9 branch
* Linaro Connect Presentation (2/10)
- Completed "Optimization Levels" portion of presentatio
* Misc. (2/10)
- Launchpad to bugzilla transition
- Conference calls with Ryan and Christophe
* Issues
- Delay in validating Launcpad 1312931 due to SchrootFarm instability
- Unable to issue code review on Gerrit after server upgrade
== Next week ==
- USA Holiday, Monday, september 1s
- Continue Neon intrinsic testing
- Finalize Linaro Connect presentation
- Bug fixing
== Progress ==
* TCWG-181 - Bench marking core mark with LTO (2/10)
Measuring -O3 -flto vs -O3 on Aarch64 machine with Linaro GCC and
Trunk FSF GCC.
* TCWG-520 ICE in linaro compiler for ARMv7 target (4/10).
Completed fixing. patch tested on schroot. Backported revision from
trunk using gerrit and jenkins. upstreamed the patch.
* Others (2/10)
* Meetings Christophe, Ryan, Maxim and GCC status meeting
* Misc and internal meeting.
* Discussed with Yvan on using gerrit and backflip script.
4 day week, Friday 29/8 was holiday.
== Plan ==
* Another Bug fixing task .
* Continue Benchmark Core mark with LTO (TCWG-181).
* Upstream patch review.
* Cbuildv2 preparation for hack session in LCU14.
== Progress ==
* Regression on alphaev68-linux-gnu due to uxt/sxt commit (7/10)
- built cross alphaev68-linux-gnu and reproduces it with qemu.
- Issue is due to PROMOTE_MODE definition and VRP truncating values.
- discussed upstream and after a failed patch, it was suggested that
the value ranges have to be calculated in promoted_mode precision.
- Patch to do VRP in promoted_mode is in testing. There are few
failures to fix.
- An easier fix probably is to check the promoted mode against
word_mode and disable uxt/sxt elimination.
* TCWG-521 - Analysed Coremark and Spec2k for uxt/sxt optimizations
TCWG-521(2/10)
- Continue with Coremark and have additional patches in development for
missing cases.
* bswap pr43550 (No card yet) (1/10)
- Finished regression testing. Will post the patch after resolving
regression with alpha.
== Paln ==
* Continue with VRP in promoted mode, TCWG-521 and bswap pr43550.
== Issues ==
* Multiple validation infrastructure issues (gerrit/jenkins/git.linaro.org)
now fixed.
* aarch64-none-elf is now really long to complete (~11hrs) whereas it
was less than 1hr last week.
== Progress ==
* GCC 4.9 2014.09 (3/10)
- Committed last week backports
- More backports under validation
- vca* intrinsics test are faiures analysis ongoing.
* Misc
- Linaro GCC git repo migration: (2/10)
+ Discussed and test the migration with Milo,
we'll be ready to move the coming week.
- Upstream bugzilla: (2/10)
+ Fixed PR 62248 : Configure error with --with-fpu=fp-armv8
- Linaro bugzilla: (1/10)
+ Fixed #562 : New tests failed on linaro 4_9 branch
- Various meetings: (1/10)
- Helped Venkat with backports (1/10)
- launchpad bug migration duty.
== Next ==
* Off on Monday
* Complete backports.
* Back on AArch64 libunwind
* Prepare Connect Hacking session
== Progress ==
* Monday bank holiday (2/10)
* Email, meetings, etc. (1/10)
* Upstream work (1/10, CARD-341)
- Patch review
* Built releases of newlib, binutils and gdb for 2014.09 (2/10)
* LCU14 research and slides (4/10)
== Issues ==
* None
== Plan ==
* Finish LCU slides
* malloc benchmarking
--
Will Newton
Toolchain Working Group, Linaro