aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8
Commit message (Collapse)AuthorAgeFilesLines
* Fix a typo in vmlaq_lane_s32Andrew Hsieh2014-06-251-1/+1
| | | | | | BUG=15526898 Change-Id: I4e35a764d369d378808dab29beefe34d1f93249b
* Merge "[4.8, REAPPLY] Backport of two patches for additional SLM-tuning."Andrew Hsieh2014-06-201-2/+2
|\
| * [4.8, REAPPLY] Backport of two patches for additional SLM-tuning.Alexander Ivchenko2014-06-191-2/+2
| | | | | | | | | | | | | | | | Reapplying https://android-review.googlesource.com/#/c/80436 after 4.8.3 merge Change-Id: Ie14bec963d609507e8b2c2c8d20df007f77eabe6 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* | Merge "[4.8, REAPPLY] Add -mtune=intel support"Andrew Hsieh2014-06-203-8/+34
|\|
| * [4.8, REAPPLY] Add -mtune=intel supportPavel Chupin2014-06-193-8/+34
| | | | | | | | | | | | | | | | Reapplying https://android-review.googlesource.com/#/c/71782 after 4.8.3 merge Change-Id: Ia29210fc489a73e4c20ca1f6a0907f93746a0413 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Merge "[4.8, REAPPLY] Extended Silvermont tuning."Andrew Hsieh2014-06-204-80/+323
|\|
| * [4.8, REAPPLY] Extended Silvermont tuning.Pavel Chupin2014-06-194-80/+323
| | | | | | | | | | | | | | | | Reapplying https://android-review.googlesource.com/#/c/60083 after 4.8.3 merge Change-Id: I93a985ae43d9349ed3fa0dd37e485f5477774f37 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Merge "[4.8, REAPPLY] Release basic tuning for new Silvermont architecture"Andrew Hsieh2014-06-208-32/+898
|\|
| * [4.8, REAPPLY] Release basic tuning for new Silvermont architecturePavel Chupin2014-06-198-32/+898
| | | | | | | | | | | | | | | | Reapplying https://android-review.googlesource.com/#/c/59726 after 4.8.3 merge Change-Id: I855de6c963d423f68899f90aada1758ae6f6c0d9 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Merge "Merge GCC 4.8.3"Andrew Hsieh2014-06-201087-14695/+60369
|\|
| * Merge GCC 4.8.3Andrew Hsieh2014-06-191087-14695/+60369
| | | | | | | | Change-Id: I0abe59f7705b3eccc6b2f123af75b2e30917696a
* | Merge "revert 41eff3d706b202f682f64fcc7773c64abd59ac45"Andrew Hsieh2014-06-208-901/+33
|\|
| * revert 41eff3d706b202f682f64fcc7773c64abd59ac45Andrew Hsieh2014-06-198-901/+33
| | | | | | | | | | | | | | | | | | For the purpose of merging gcc-4.8.3, will put it back. https://android-review.googlesource.com/#/c/59726 [4.7, 4.8] Release basic tuning for new Silvermont architecture Change-Id: Id2b9e714418b3cf0a7eef0f599c39ba81df47d13
* | Merge "revert 01b34967a57ca33621130d36e007214b93bdfeaa"Andrew Hsieh2014-06-204-323/+80
|\|
| * revert 01b34967a57ca33621130d36e007214b93bdfeaaAndrew Hsieh2014-06-194-323/+80
| | | | | | | | | | | | | | | | | | For the purpose of merging gcc-4.8.3, will put it back. https://android-review.googlesource.com/#/c/60083 [4.7, 4.8] Extended Silvermont tuning Change-Id: If13a6989286c0ab57def1dd65f0bbd2f6ed8d807
* | Merge "revert 03518e5fd50ca1389a55a9d443d7277ec03d1cde"Andrew Hsieh2014-06-204-36/+8
|\|
| * revert 03518e5fd50ca1389a55a9d443d7277ec03d1cdeAndrew Hsieh2014-06-194-36/+8
| | | | | | | | | | | | | | | | | | For the purpose of merging gcc-4.8.3, will put it back. https://android-review.googlesource.com/#/c/71782 [4.6, 4.8] Add -mtune=intel support Change-Id: Ie340828ac3809fd6694985dd52c3392b661fb9b2
* | Merge "revert a108aa5cbab7efe4eedd19f68d7a9bbe021b2168"Andrew Hsieh2014-06-201-2/+2
|\|
| * revert a108aa5cbab7efe4eedd19f68d7a9bbe021b2168Andrew Hsieh2014-06-191-2/+2
| | | | | | | | | | | | | | | | | | For the purpose of merging gcc-4.8.3, will put it back. https://android-review.googlesource.com/#/c/80436 [4.7, 4.8] Backport of two patches for additional SLM-tuning. Change-Id: I4e5e08ee8c6a9f863b4696a6eb18c2cdbf16cd1f
* | Setup x86_64 ABI and add -mssse3 to x86 ABIPavel Chupin2014-06-201-2/+6
|/ | | | | | | | | | | 32-bit: replace -msse3 by -mssse3 64-bit: setup default options as -msse4.2 -mpopcnt Note: when multilib compiler is used -m32 will match 32-bit options and -m64 or default (neither -m32 nor -m64) will match 64-bit options. Change-Id: Ia20a03f54e3ff5857108e9ab0ae1c4c7c1e6cc7f Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [4.6,4.8,4.9] Porting ARM NEON intrinsics to SSE x86Anton Konovalov2014-06-072-2/+8643
| | | | | | | | Added arm_neon.h to gcc 4.6, 4.8 and 4.9 toolchains. Updated config.gcc files. Change-Id: If9c12c3e31f5256b178816dffb41c86af0912db0 Signed-off-by: Anton Konovalov <anton.konovalov@intel.com> Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Merge "[4.8, 4.9] Fix aarch64/arm_neon.h vqdmulh_n_s16"Andrew Hsieh2014-05-271-74/+74
|\
| * [4.8, 4.9] Fix aarch64/arm_neon.h vqdmulh_n_s16Andrew Hsieh2014-05-201-74/+74
| | | | | | | | | | | | | | | | | | | | To use FP_LO_REGS for the 2nd SIMD register with h[index] See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61202 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/SQDMULH_advsimd_elt_scalar.html Google BUG 14825026 Change-Id: Ifd870e8ab851d93bda6734aee04d09db17461bdd
* | [4.9] Refresh GCC 4.9 to the 20140514 snapshot.Ben Cheng2014-05-171-11/+11
|/ | | | | | For critical bug fixes including devirtualization and codegen. Change-Id: I8138d3dc408fc12db5eecb01d2753d39219712f2
* [4.8, 4.9] Add simplify-gotCarrot Wei2014-05-1514-0/+572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pass optimize GOT_PREL (already exists in toolchain/gcc/gcc-4.6) Backport from svn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6-mobile UNSPEC_GOT_PREL_SYM is now in new file arm/unspecs.md 4.9 port is slightly different due to changes in gcc passes See Google b/14811006 r173209 | carrot | 2011-04-30 16:07:46 +0800 (Sat, 30 Apr 2011) | 21 lines * hooks.c (hook_rtx_void_null): New function. * hooks.h (hook_rtx_void_null): New prototype. * target.def (got_access): New hook vector declaration. * tree-pass.h (pass_simplify_got): New pass. * timevar.def (TV_SIMPLIFY_GOT): New TV id. * simplify-got.c: New source file. * Makefile.in (simplify-got.o): Add a new file. * passes.c (init_optimization_passes): Add a new pass. * config/arm/arm.c (arm_output_addr_const_extra): Output GOT_PREL relocation. (arm_get_pic_reg): New function. (arm_clear_pic_reg): New function. (arm_can_simplify_got_access): New function. (arm_loaded_global_var): New function. (arm_load_global_address): New function. * config/arm/arm.md (UNSPEC_GOT_PREL_SYM): New UNSPEC symbol. * testsuite/gcc.target/arm/got1.c: New testcase. * testsuite/gcc.target/arm/got2.c: New testcase. Change-Id: I91e881df19bb6937a5fbcc8e6b83d158717c7773
* Merge "Fix GNU4.7/4.8/4.9 libstdc++ for clang"Andrew Hsieh2014-04-292-4/+3
|\
| * Fix GNU4.7/4.8/4.9 libstdc++ for clangAndrew Hsieh2014-04-282-4/+3
| | | | | | | | | | | | | | | | 1. Undo fix in ed7057a1ece24733fe30423cd94131deb8ccb2ca which precludes __atomic_fetch_add() now supported by clang >= 3.3 2. __float128 is supported by clang >= 3.4 Change-Id: Ic2856368d83d261e3a27e0e24ccc09743afdc68b
* | [4.9] aarch64: uncomment md_unwind_header; [4.8,4.9] aarch64: enable ↵Andrew Hsieh2014-04-281-5/+0
|/ | | | | | libatomic,libgomp Change-Id: I21bb83a2de8d27b465afb9d45440cd7966f837ee
* [4.8] Backport fix on bad aarch64 codegen in multiple inheritance thunksAndrew Hsieh2014-04-243-1/+137
| | | | | | | | | | | | | | | | | See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59695 http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=206703 2014-01-17 Kugan Vivekanandarajah <kuganv@linaro.org> Backport from mainline 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> Kugan Vivekanandarajah <kuganv@linaro.org> PR target/59695 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect truncation. Change-Id: I94f2c9ad01ed489b4a167ce67a34365db37a8200
* [4.6, 4.8] Backport fix PR libstdc++/59392: Fix ARM EABI uncaught throw from ↵Andrew Hsieh2014-04-213-6/+71
| | | | | | | | | | | | | | | | | unexpected exception handler http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=208519 2014-03-12 Roland McGrath <mcgrathr@google.com> Mark Seaborn <mseaborn@google.com> libstdc++-v3/ PR libstdc++/59392 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with the address of a null pointer, not with a null pointer to pointer. Copy comment for this case from eh_personality.cc:__cxa_call_unexpected. * testsuite/18_support/bad_exception/59392.cc: New file. Change-Id: I14e060bccb72881ba8d7e24022d429cd304e2ae3
* Pass link -maarch64linux flagAndrew Hsieh2014-04-151-2/+3
| | | | | | | | | | | | | | | | Backport upstream patch which adds -maarch64linux for linker. eg. ld.mcld may support multiple targets, and more likely than not needs explicit emulation switch [AArch64] Define BE loader name. 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand loader name using mbig-endian. (LINUX_TARGET_LINK_SPEC): Pass linker -m flag. Change-Id: I2d10f85fbdf5c998d17098c1381ecad628922ba0
* Fix mips64el-linux-android-4.8 build with new android-20 headersAndrew Hsieh2014-04-111-0/+1
| | | | | | | In the new header, signal.h no longer includes asm/sigcontext.h which provide truct sigcontext Change-Id: Ic8d6545ddd68e7512d69a4fabe2caf94723dfb2d
* Merge "GCC 4.6-4.8: Only quote arguments in pex-win32.c that need it."Andrew Hsieh2014-04-101-9/+38
|\
| * GCC 4.6-4.8: Only quote arguments in pex-win32.c that need it.Ray Donnelly2014-03-171-9/+38
| | | | | | | | | | | | .. it always quoted all arguments, irrespective of whether there was a need to. This means the 32k limit is getting hit more often than it needs to.
* | Remove asm/page.h added long time ago specially for AndroidPavel Chupin2014-03-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't have it anymore. In bionic it's removed here: https://android-review.googlesource.com/#/c/83299 In development/ndk it's removed here: https://android-review.googlesource.com/#/c/88690 Change-Id: I048f6427e6ecb53823a7f34e452cb61da6fcedbc Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Fix missing _U, _L, etcAndrew Hsieh2014-03-241-0/+14
|/ | | | | | | | | Since 5e9b20f7212c23110693a4bd1f122ccac3fece80 bionic rename _U to _CTYPE_U, etc. Detect the presence of _U and define it to _CTYPE_U in case new bionic headers are in used Change-Id: I7df4792ad6fa1487d91de7f337bff489f6d3ade0
* Merge "Define bionic aarch64 linker path."Andrew Hsieh2014-02-061-0/+1
|\
| * Define bionic aarch64 linker path.Ben Cheng2014-02-051-0/+1
| | | | | | | | Change-Id: Id343d7a1b74dea14cc0856cfc1e230a01db7c740
* | Merge "[4.8] Add -mlong-double-128 and make it default for 64-bit Bionic"Andrew Hsieh2014-02-0631-10/+232
|\ \ | |/ |/|
| * [4.8] Add -mlong-double-128 and make it default for 64-bit BionicPavel Chupin2014-02-0531-10/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of r207428: 2014-02-03 H.J. Lu <hongjiu.lu@intel.com> gcc/ * config/i386/i386.c (flag_opts): Add -mlong-double-128. (ix86_option_override_internal): Default long double to 64-bit for 32-bit Bionic and to 128-bit for 64-bit Bionic. * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if TARGET_LONG_DOUBLE_128 is true. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64. (mlong-double-64): Negate -mlong-double-128. (mlong-double-128): New option. * config/i386/i386-c.c (ix86_target_macros): Define __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128. * doc/invoke.texi: Document -mlong-double-128. gcc/testsuite/ * gcc.target/i386/long-double-64-1.c: Verify __multf3 isn't used. * gcc.target/i386/long-double-64-4.c: Likewise. * gcc.target/i386/long-double-80-1.c: Likewise. * gcc.target/i386/long-double-80-2.c: Likewise. * gcc.target/i386/long-double-80-3.c: Likewise. * gcc.target/i386/long-double-80-4.c: Likewise. * gcc.target/i386/long-double-80-5.c: Likewise. * gcc.target/i386/long-double-64-2.c: Limit to ia32. Verify __multf3 isn't used. * gcc.target/i386/long-double-64-3.c: Likewise. * gcc.target/i386/long-double-128-1.c: New test. * gcc.target/i386/long-double-128-2.c: Likewise. * gcc.target/i386/long-double-128-3.c: Likewise. * gcc.target/i386/long-double-128-4.c: Likewise. * gcc.target/i386/long-double-128-5.c: Likewise. * gcc.target/i386/long-double-128-6.c: Likewise. * gcc.target/i386/long-double-128-7.c: Likewise. * gcc.target/i386/long-double-128-8.c: Likewise. * gcc.target/i386/long-double-128-9.c: Likewise. * gcc.target/i386/long-double-64-5.c: Likewise. * gcc.target/i386/long-double-64-6.c: Likewise. * gcc.target/i386/long-double-64-7.c: Likewise. * gcc.target/i386/long-double-64-8.c: Likewise. * gcc.target/i386/long-double-64-9.c: Likewise. * gcc.target/i386/long-double-80-10.c: Likewise. * gcc.target/i386/long-double-80-8.c: Likewise. * gcc.target/i386/long-double-80-9.c: Likewise. Change-Id: I2e1ce44792dd78df521fa485f2c0d2303dbb83bd Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Merge "Fix aarch64 to use Android specs."Ben Cheng2014-02-051-0/+21
|\ \
| * | Fix aarch64 to use Android specs.Ben Cheng2014-02-041-0/+21
| |/ | | | | | | | | | | | | | | | | | | | | Flags include: - CC1_SPEC - CC1PLUS_SPEC - LIB_SPEC - STARTFILE_SPEC - ENDFILE_SPEC Change-Id: Ia96ca57ade849c964c91f5390e6c9cded16a9bf4
* / [4.7, 4.8] Backport of two patches for additional SLM-tuning.Alexander Ivchenko2014-01-301-2/+2
|/ | | | | | | | | | | | | | | | | | | We don't have config/i386/x86-tune.def in 4.8, instead initial_ix86_tune_features is modified. This one is for 4.8 only. 2013-09-12 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM. Update HImode imul cost for Silvermont 2013-12-13 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/i386.c (slm_cost): Fix imul cost for HI. Change-Id: I3e6e7b157897e93bc3874738635db4ecf4e7f587 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* [4.6, 4.8] Add additional multilib option: mfloat-abi=hardAndrew Hsieh2013-12-262-4/+5
| | | | | | | | | | | | Only available with "-march=armv7-a", this CL add two set of libraries 1. "armv7-a/hard": -march=armv7-a -mfloat-abi=hard 2. "armv7-a/thumb/hard": -march=armv7-a -mthumb -mfloat-abi=hard Note that -mhard-float implies -mfloat-abi=hard, which in turns select one of the above /hard libraries dependeing on the presence of -mthumb or not. (ie. no need to explicitly specifly -mfloat-abi=hard after -mhard-float) Change-Id: Ib803ecaa911082d6bc4f98b542d7d28e98be6726
* Merge "[4.8] backport fix for partial specialization of template"Andrew Hsieh2013-12-264-22/+52
|\
| * [4.8] backport fix for partial specialization of templateAndrew Hsieh2013-12-104-22/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | 2013-12-05 Jason Merrill <jason@redhat.com> PR c++/59044 PR c++/59052 * pt.c (most_specialized_class): Use the partially instantiated template for deduction. Drop the TMPL parameter. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59052 Change-Id: I4760e719def2f5eacac438af2df0b18c1f2d16a8
* | Add built-in macro __ANDROID__ for aarch64-linux-android-gccBen Cheng2013-12-121-0/+1
|/ | | | | | | | | | | | | | | | | This is to match the existing behavior of 32-bit toolchains. For example in gcc/config/arm/linux-eabi.h it has the following: do { TARGET_BPABI_CPP_BUILTINS(); GNU_USER_TARGET_OS_CPP_BUILTINS(); ANDROID_TARGET_OS_CPP_BUILTINS(); } while (false) I'll try to upstream this patch. Change-Id: I22aa6ba5a0d7b5c9cd5a314f7079dc1edd2d382c
* [4.6, 4.8] Add -mtune=intel supportPavel Chupin2013-12-094-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is backport of r205719 and r205754 from trunk. Now -mtune=intel matches -mtune=slm for 4.8 and -mtune=atom for 4.6. As written in gcc-4.8 docs: Produce code optimized for the most current Intel processors, which are Haswell and Silvermont for this version of GCC. If you know the CPU on which your code will run, then you should use the corresponding -mtune or -march option instead of -mtune=intel. But, if you want your application performs better on both Haswell and Silvermont, then you should use this option. As new Intel processors are deployed in the marketplace, the behavior of this option will change. Therefore, if you upgrade to a newer version of GCC, code generation controlled by this option will change to reflect the most current Intel processors at the time that version of GCC is released. There is no -march=intel option because -march indicates the instruction set the compiler can use, and there is no common instruction set applicable to all processors. In contrast, -mtune indicates the processor (or, in this case, collection of processors) for which the code is optimized. Change-Id: I3ec4c3b5423d9b3547cd8e3aa77a18af3fd89598 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [4.8] fix for GCC 4.8.2 libstdc++ bug in std::nth_elementDavid Turner2013-12-033-2/+63
| | | | | | | | | | | | | | | | | Backport fix for a GCC 4.8 libstdc++ issue where the generated code random segfault on std::nth_element See https://code.google.com/p/android/issues/detail?id=62910 2013-10-20 Chris Jefferson <chris@bubblescope.net> Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/58800 * include/bits/stl_algo.h (__unguarded_partition_pivot): Change __last - 2 to __last - 1. * testsuite/25_algorithms/nth_element/58800.cc: New Change-Id: I76f86bb7162a6bbc340dac84f54c16a97f9f18fc
* Remove *.orig; update libgo testdataAndrew Hsieh2013-12-0312-151851/+0
| | | | | | | 1. *.orig files are artifact after patch 2. restore 3 testdata which were reset to zero-byte in last rebase Change-Id: I32e80c33349249cb11397b57698c2a241793652c