diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2015-06-30 16:40:19 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2015-06-30 09:40:19 -0700 |
commit | d90639476f7769578682cbf34628968a3428ebec (patch) | |
tree | 4b11edb9006a44c882a5134990b54d722da2f220 /configure | |
parent | 3db55b2b6d83f9d3406af133e42db688b9379395 (diff) | |
download | gcc-d90639476f7769578682cbf34628968a3428ebec.zip gcc-d90639476f7769578682cbf34628968a3428ebec.tar.gz gcc-d90639476f7769578682cbf34628968a3428ebec.tar.bz2 |
IA MCU psABI support: GCC changes
This patch introduces basic IA MCU psABI support into GCC.
* configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu
target.
* configure: Regenerate.
gcc/
* config.gcc: Support i[34567]86-*-elfiamcu target.
* config/i386/iamcu.h: New.
* config/i386/i386.opt: Add -miamcu.
* doc/invoke.texi: Document -miamcu.
* common/config/i386/i386-common.c (ix86_handle_option): Turn
off x87/MMX/SSE/AVX codegen for -miamcu.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__iamcu/__iamcu__ for -miamcu.
* config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
(BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
* config/i386/i386.c (ix86_option_override_internal): Ignore and
warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
MCU by default. Default long double to 64-bit for Intel MCU.
Turn on -freg-struct-return for Intel MCU. Issue an error when
-miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
AVX is turned on.
(function_arg_advance_32): Pass value whose size is no larger
than 8 bytes in registers for Intel MCU.
(function_arg_32): Likewise.
(ix86_return_in_memory): Return value whose size is no larger
than 8 bytes in registers for Intel MCU.
(iamcu_alignment): New function.
(ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
true.
(ix86_local_alignment): Don't increase alignment for Intel MCU.
(x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
true.
From-SVN: r225197
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -6914,7 +6914,7 @@ case "${enable_target_optspace}:${target}" in :d30v-*) ospace_frag="config/mt-d30v" ;; - :m32r-* | :d10v-* | :fr30-*) + :m32r-* | :d10v-* | :fr30-* | :i?86*-*-elfiamcu) ospace_frag="config/mt-ospace" ;; no:* | :*) |