diff options
author | eager <eager@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-08 16:02:47 +0000 |
---|---|---|
committer | eager <eager@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-08 16:02:47 +0000 |
commit | e975e3457095a7c2f014c702085fc5a73bf3b92e (patch) | |
tree | e89c91d4a2ac443eb8452695e07233cfe95d791e /gcc/config/microblaze/microblaze-c.c | |
parent | 5ef30aea284c2a61df00aef66e08ffa578ff774c (diff) | |
download | gcc-e975e3457095a7c2f014c702085fc5a73bf3b92e.tar.gz |
gcc:
* config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
(microblaze*-*-elf): Likewise
* config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
LINK_SPEC
* config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN
and _BIG_ENDIAN
* config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to
TARGET_DEFAULT flags.
Expand ASM_SPEC and LINK_SPEC.
Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN
* config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal
instructions to use low-order / high-order reg print_operands
* config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
options and inversemask / mask of LITTLE_ENDIAN
* config/microblaze/t-microblaze: Expand multilib options to include mlittle-
endian (le) and update exceptions patterns
gcc/testsuite:
* 20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195893 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/microblaze/microblaze-c.c')
-rw-r--r-- | gcc/config/microblaze/microblaze-c.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c index d22dc2afe2f..a1a20b74346 100644 --- a/gcc/config/microblaze/microblaze-c.c +++ b/gcc/config/microblaze/microblaze-c.c @@ -41,6 +41,19 @@ microblaze_cpp_define (cpp_reader *pfile) builtin_assert ("cpu=microblaze"); builtin_assert ("machine=microblaze"); builtin_define ("__MICROBLAZE__"); + builtin_define ("__microblaze__"); + if (TARGET_LITTLE_ENDIAN) + { + builtin_define ("_LITTLE_ENDIAN"); + builtin_define ("__LITTLE_ENDIAN__"); + builtin_define ("__MICROBLAZEEL__"); + } + else + { + builtin_define ("_BIG_ENDIAN"); + builtin_define ("__BIG_ENDIAN__"); + builtin_define ("__MICROBLAZEEB__"); + } if (!TARGET_SOFT_MUL) { if (!flag_iso) |