diff options
| author | Lai Wei-Chih <Robert.Lai@mediatek.com> | 2013-08-01 15:09:46 +0800 |
|---|---|---|
| committer | Andrew Hsieh <andrewhsieh@google.com> | 2013-08-02 09:16:10 +0800 |
| commit | a3529b2d6b2bcc7136fd67e00e539301942e74d1 (patch) | |
| tree | 3a65fd83e08762984d1721884e17215244460b14 /gcc-4.7/gcc/config/arm/arm.md | |
| parent | 15ba1ff9c0885836175afdcd03701e5a3e514ae1 (diff) | |
| download | toolchain_gcc-a3529b2d6b2bcc7136fd67e00e539301942e74d1.tar.gz toolchain_gcc-a3529b2d6b2bcc7136fd67e00e539301942e74d1.tar.bz2 toolchain_gcc-a3529b2d6b2bcc7136fd67e00e539301942e74d1.zip | |
Add an internal switch -minline-thumb1-jumptable to ARM gcc4.6/4.7/4.8
Default is off (ie. no changes of behavior), meaning that gcc may
generate thumb1 jumptable helper calls (eg. __gnu_thumb1_case_sqi) for
switch/case.
Use -minline-thumb1-jumptable to compile code which can be linked
with compiler-rt where helper __gnu_thumb1_case_* doesn't exist.
This is mainly for use to compile NDK gabi++/stlport/libc++ to be
independent of libgcc.a. The only affected binaries are all
in armeabi. ABIs armeabi-v7a and x86/mips aren't affected. Size
differences are
libgabi++_static.a 176286 -> 176538 +0.1%
libstlport_static.a 1406346 -> 1413318 +0.5%
libc++_static.a 2426814 -> 2439074 +0.5%
Change-Id: I582898955b28e53e988a91bc1a64b76fba677e58
Diffstat (limited to 'gcc-4.7/gcc/config/arm/arm.md')
| -rw-r--r-- | gcc-4.7/gcc/config/arm/arm.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc-4.7/gcc/config/arm/arm.md b/gcc-4.7/gcc/config/arm/arm.md index fee20175f..d9a07ae8f 100644 --- a/gcc-4.7/gcc/config/arm/arm.md +++ b/gcc-4.7/gcc/config/arm/arm.md @@ -8755,7 +8755,7 @@ (match_operand:SI 2 "const_int_operand" "") ; total range (match_operand:SI 3 "" "") ; table label (match_operand:SI 4 "" "")] ; Out of range label - "TARGET_32BIT || optimize_size || flag_pic" + "TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)" " { enum insn_code code; |
