diff options
author | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-28 13:24:30 +0000 |
---|---|---|
committer | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-28 13:24:30 +0000 |
commit | 978d3329528cd7c769be21d04451707fa40e48da (patch) | |
tree | 4eb155dd27c59f6721e27ee56600e72905e1eb8d /gcc/config/arm/lib1funcs.asm | |
parent | 8ff9a629db8f64a7e458aea706635d729e40b53f (diff) | |
download | gcc-978d3329528cd7c769be21d04451707fa40e48da.tar.gz |
* config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81246 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/lib1funcs.asm')
-rw-r--r-- | gcc/config/arm/lib1funcs.asm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm index cdf71151b58..7174ed343ad 100644 --- a/gcc/config/arm/lib1funcs.asm +++ b/gcc/config/arm/lib1funcs.asm @@ -74,11 +74,17 @@ Boston, MA 02111-1307, USA. */ #endif #if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) \ - || defined(__ARM_ARCH_5TE__) + || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \ + || defined(__ARM_ARCH_5TEJ__) # undef __ARM_ARCH__ # define __ARM_ARCH__ 5 #endif +#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) +# undef __ARM_ARCH__ +# define __ARM_ARCH__ 6 +#endif + /* How to return from a function call depends on the architecture variant. */ #ifdef __APCS_26__ @@ -876,7 +882,11 @@ LSYM(Lover12): /* Do not build the interworking functions when the target architecture does not support Thumb instructions. (This can be a multilib option). */ -#if defined L_call_via_rX && (defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__ || defined __ARM_ARCH_5TE__) +#if defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__\ + || defined __ARM_ARCH_5TE__ || defined __ARM_ARCH_5TEJ__ \ + || __ARM_ARCH__ >= 6 + +#if defined L_call_via_rX /* These labels & instructions are used by the Arm/Thumb interworking code. The address of function to be called is loaded into a register and then @@ -914,10 +924,8 @@ LSYM(Lover12): call_via lr #endif /* L_call_via_rX */ -/* ------------------------------------------------------------------------ */ -/* Do not build the interworking functions when the target architecture does - not support Thumb instructions. (This can be a multilib option). */ -#if defined L_interwork_call_via_rX && (defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__ || defined __ARM_ARCH_5TE__) + +#if defined L_interwork_call_via_rX /* These labels & instructions are used by the Arm/Thumb interworking code, when the target address is in an unknown instruction set. The address @@ -993,6 +1001,7 @@ LSYM(Lchange_\register): SIZE (_interwork_call_via_lr) #endif /* L_interwork_call_via_rX */ +#endif /* Arch supports thumb. */ #include "ieee754-df.S" #include "ieee754-sf.S" |