Commit 48c842ab by Claudiu Zissulescu Committed by Claudiu Zissulescu

[ARC][libgcc] Add support for QuarkSE processor.

libgcc/
2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/dp-hack.h (ARC_OPTFPE): Define.
	(__ARC_NORM__): Use instead ARC_OPTFPE.
	* config/arc/fp-hack.h: Likewise.
	* config/arc/lib1funcs.S (ARC_OPTFPE): Define.
	(__ARC_MPY__): Use it insetead of __ARC700__ and __HS__.

From-SVN: r242547
parent c4014855
2016-11-17 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/dp-hack.h (ARC_OPTFPE): Define.
(__ARC_NORM__): Use instead ARC_OPTFPE.
* config/arc/fp-hack.h: Likewise.
* config/arc/lib1funcs.S (ARC_OPTFPE): Define.
(__ARC_MPY__): Use it insetead of __ARC700__ and __HS__.
2016-11-16 Alexander Monakov <amonakov@ispras.ru> 2016-11-16 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/crt0.c (__main): Setup __nvptx_stacks and __nvptx_uni. * config/nvptx/crt0.c (__main): Setup __nvptx_stacks and __nvptx_uni.
......
...@@ -30,21 +30,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -30,21 +30,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define FINE_GRAINED_LIBRARIES #define FINE_GRAINED_LIBRARIES
#define ARC_DP_DEBUG 1 #define ARC_DP_DEBUG 1
#if !defined (__ARC_NORM__) || ARC_DP_DEBUG #define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__))
#if !ARC_OPTFPE || ARC_DP_DEBUG
#define L_pack_df #define L_pack_df
#define L_unpack_df #define L_unpack_df
#define L_make_df #define L_make_df
#define L_thenan_df #define L_thenan_df
#define L_sf_to_df #define L_sf_to_df
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_addsub_df #define L_addsub_df
#elif ARC_DP_DEBUG #elif ARC_DP_DEBUG
#define L_addsub_df #define L_addsub_df
#define __adddf3 __adddf3_c #define __adddf3 __adddf3_c
#define __subdf3 __subdf3_c #define __subdf3 __subdf3_c
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_mul_df #define L_mul_df
#define L_div_df #define L_div_df
#elif (!defined (__ARC700__) && !defined (__ARC_MUL64__) \ #elif (!defined (__ARC700__) && !defined (__ARC_MUL64__) \
...@@ -59,7 +61,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -59,7 +61,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define L_div_df #define L_div_df
#define __divdf3 __divdf3_c #define __divdf3 __divdf3_c
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_df_to_sf #define L_df_to_sf
#define L_si_to_df #define L_si_to_df
#define L_df_to_si #define L_df_to_si
...@@ -77,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -77,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define L_usi_to_df #define L_usi_to_df
#define __floatunsidf __floatunsidf_c #define __floatunsidf __floatunsidf_c
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_fpcmp_parts_df #define L_fpcmp_parts_df
#define L_compare_df #define L_compare_df
#define L_eq_df #define L_eq_df
......
...@@ -30,13 +30,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -30,13 +30,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define ARC_FP_DEBUG 1 #define ARC_FP_DEBUG 1
#define FINE_GRAINED_LIBRARIES #define FINE_GRAINED_LIBRARIES
#if !defined (__ARC_NORM__) || ARC_FP_DEBUG #define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__))
#if !ARC_OPTFPE || ARC_FP_DEBUG
#define L_pack_sf #define L_pack_sf
#define L_unpack_sf #define L_unpack_sf
#define L_make_sf #define L_make_sf
#define L_thenan_sf #define L_thenan_sf
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_addsub_sf #define L_addsub_sf
#define L_mul_sf #define L_mul_sf
#define L_div_sf #define L_div_sf
...@@ -61,7 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -61,7 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define L_usi_to_sf #define L_usi_to_sf
#define __floatunsisf __floatunsisf_c #define __floatunsisf __floatunsisf_c
#endif #endif
#ifndef __ARC_NORM__ #if !ARC_OPTFPE
#define L_fpcmp_parts_sf #define L_fpcmp_parts_sf
#define L_compare_sf #define L_compare_sf
#define L_eq_sf #define L_eq_sf
......
...@@ -1261,6 +1261,9 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1261,6 +1261,9 @@ SYM(__ld_r13_to_r14_ret):
#endif /* L_millicodethunk_ret */ #endif /* L_millicodethunk_ret */
#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__))
#if ARC_OPTFPE
#ifdef L_adddf3 #ifdef L_adddf3
#ifdef __ARC_NORM__ #ifdef __ARC_NORM__
#include "ieee-754/adddf3.S" #include "ieee-754/adddf3.S"
...@@ -1268,7 +1271,7 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1268,7 +1271,7 @@ SYM(__ld_r13_to_r14_ret):
#endif #endif
#ifdef L_muldf3 #ifdef L_muldf3
#if defined (__ARC700__) || defined (__HS__) #ifdef __ARC_MPY__
#include "ieee-754/muldf3.S" #include "ieee-754/muldf3.S"
#elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
#include "ieee-754/arc600-mul64/muldf3.S" #include "ieee-754/arc600-mul64/muldf3.S"
...@@ -1284,7 +1287,7 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1284,7 +1287,7 @@ SYM(__ld_r13_to_r14_ret):
#endif #endif
#ifdef L_mulsf3 #ifdef L_mulsf3
#if defined (__ARC700__) || defined (__HS__) #ifdef __ARC_MPY__
#include "ieee-754/mulsf3.S" #include "ieee-754/mulsf3.S"
#elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
#include "ieee-754/arc600-mul64/mulsf3.S" #include "ieee-754/arc600-mul64/mulsf3.S"
...@@ -1296,7 +1299,7 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1296,7 +1299,7 @@ SYM(__ld_r13_to_r14_ret):
#endif #endif
#ifdef L_divdf3 #ifdef L_divdf3
#if defined (__ARC700__) || defined (__HS__) #ifdef __ARC_MPY__
#include "ieee-754/divdf3.S" #include "ieee-754/divdf3.S"
#elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
#include "ieee-754/arc600-mul64/divdf3.S" #include "ieee-754/arc600-mul64/divdf3.S"
...@@ -1306,7 +1309,7 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1306,7 +1309,7 @@ SYM(__ld_r13_to_r14_ret):
#endif #endif
#ifdef L_divsf3 #ifdef L_divsf3
#if defined (__ARC700__) || defined (__HS__) #ifdef __ARC_MPY__
#include "ieee-754/divsf3-stdmul.S" #include "ieee-754/divsf3-stdmul.S"
#elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
#include "ieee-754/arc600-mul64/divsf3.S" #include "ieee-754/arc600-mul64/divsf3.S"
...@@ -1424,3 +1427,4 @@ SYM(__ld_r13_to_r14_ret): ...@@ -1424,3 +1427,4 @@ SYM(__ld_r13_to_r14_ret):
#include "ieee-754/ordsf2.S" #include "ieee-754/ordsf2.S"
#endif #endif
#endif #endif
#endif /* ARC_OPTFPE */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment