public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor.
  2016-07-08 11:42 [PATCH 0/2] [libgcc] Add support for QuarkSE and cleanup macros Claudiu Zissulescu
@ 2016-07-08 11:42 ` Claudiu Zissulescu
  2016-09-29 19:58   ` Andrew Burgess
  2016-07-08 11:42 ` [PATCH 2/2] [ARC] [libgcc] Fix defines Claudiu Zissulescu
  1 sibling, 1 reply; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-07-08 11:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: Claudiu.Zissulescu, gnu, Francois.Bedard

libgcc/
2016-05-26  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__.
---
 libgcc/config/arc/dp-hack.h   |  12 +++--
 libgcc/config/arc/fp-hack.h   |   8 +--
 libgcc/config/arc/lib1funcs.S | 120 ++++++++++++++++++++++--------------------
 3 files changed, 74 insertions(+), 66 deletions(-)

diff --git a/libgcc/config/arc/dp-hack.h b/libgcc/config/arc/dp-hack.h
index 3c727b1..1f7f213 100644
--- a/libgcc/config/arc/dp-hack.h
+++ b/libgcc/config/arc/dp-hack.h
@@ -30,21 +30,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define FINE_GRAINED_LIBRARIES
 #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_unpack_df
 #define L_make_df
 #define L_thenan_df
 #define L_sf_to_df
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_addsub_df
 #elif ARC_DP_DEBUG
 #define L_addsub_df
 #define __adddf3 __adddf3_c
 #define __subdf3 __subdf3_c
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_mul_df
 #define L_div_df
 #elif (!defined (__ARC700__) && !defined (__ARC_MUL64__) \
@@ -59,7 +61,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define L_div_df
 #define __divdf3 __divdf3_c
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_df_to_sf
 #define L_si_to_df
 #define L_df_to_si
@@ -77,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define L_usi_to_df
 #define __floatunsidf __floatunsidf_c
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_fpcmp_parts_df
 #define L_compare_df
 #define L_eq_df
diff --git a/libgcc/config/arc/fp-hack.h b/libgcc/config/arc/fp-hack.h
index 30b547a..5144bb9 100644
--- a/libgcc/config/arc/fp-hack.h
+++ b/libgcc/config/arc/fp-hack.h
@@ -30,13 +30,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define ARC_FP_DEBUG 1
 #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_unpack_sf
 #define L_make_sf
 #define L_thenan_sf
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_addsub_sf
 #define L_mul_sf
 #define L_div_sf
@@ -61,7 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define L_usi_to_sf
 #define __floatunsisf __floatunsisf_c
 #endif
-#ifndef __ARC_NORM__
+#if !ARC_OPTFPE
 #define L_fpcmp_parts_sf
 #define L_compare_sf
 #define L_eq_sf
diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S
index 1c8961c..9bb25e0 100644
--- a/libgcc/config/arc/lib1funcs.S
+++ b/libgcc/config/arc/lib1funcs.S
@@ -32,29 +32,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    This exception does not however invalidate any other reasons why
    the executable file might be covered by the GNU General Public License.  */
 
- 
+
  /* ANSI concatenation macros.  */
- 
+
  #define CONCAT1(a, b) CONCAT2(a, b)
  #define CONCAT2(a, b) a ## b
- 
+
  /* Use the right prefix for global labels.  */
- 
+
  #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
- 
+
 #ifndef WORKING_ASSEMBLER
 #define abs_l abs
 #define asl_l asl
 #define mov_l mov
 #endif
- 	
+
 #define FUNC(X)         .type SYM(X),@function
 #define HIDDEN_FUNC(X)	FUNC(X)` .hidden X
 #define ENDFUNC0(X)     .Lfe_##X: .size X,.Lfe_##X-X
 #define ENDFUNC(X)      ENDFUNC0(X)
 
-	
-	
+
+
 #ifdef  L_mulsi3
 	.section .text
 	.align 4
@@ -64,10 +64,10 @@ SYM(__mulsi3):
 
 /* This the simple version.
 
-  while (a) 
+  while (a)
     {
       if (a & 1)
-        r += b;
+	r += b;
       a >>= 1;
       b <<= 1;
     }
@@ -132,7 +132,7 @@ SYM(__mulsi3):
 	add2.cs r0,r0,r1
 	lsr.f r2,r2
 	add3.cs r0,r0,r1
-	bne.d .Loop	
+	bne.d .Loop
 	add3 r1,r3,r1
 	j_s	[blink]
 	ENDFUNC(__mulsi3)
@@ -143,17 +143,17 @@ SYM(__mulsi3):
 .Lloop:
 	bbit0 r0,0,@.Ly
 	add_s r2,r2,r1		; r += b
-.Ly:	
+.Ly:
 	lsr_s r0,r0		; a >>= 1
-	asl_s r1,r1		; b <<= 1	
-	brne_s r0,0,@.Lloop	
+	asl_s r1,r1		; b <<= 1
+	brne_s r0,0,@.Lloop
 .Ldone:
 	j_s.d [blink]
 	mov_s r0,r2
 	ENDFUNC(__mulsi3)
 /********************************************************/
 #endif
-	
+
 #endif /* L_mulsi3 */
 
 #ifdef  L_umulsidi3
@@ -178,10 +178,10 @@ SYM(__umulsi3_highpart):
 
 /* This the simple version.
 
-  while (a) 
+  while (a)
     {
       if (a & 1)
-        r += b;
+	r += b;
       a >>= 1;
       b <<= 1;
     }
@@ -455,18 +455,18 @@ SYM(__udivmodsi4):
 	mov_s r2,1		; bit = 1
 	mov_s r3,0		; res = 0
 .Lloop1:
-  	brhs r1,r0,@.Lloop2
+	brhs r1,r0,@.Lloop2
 	bbit1 r1,31,@.Lloop2
 	asl_s r1,r1		; den <<= 1
 	b.d @.Lloop1
 	asl_s r2,r2		; bit <<= 1
 .Lloop2:
-  	brlo r0,r1,@.Lshiftdown
+	brlo r0,r1,@.Lshiftdown
 	sub_s r0,r0,r1		; num -= den
 	or_s r3,r3,r2		; res |= bit
 .Lshiftdown:
 	lsr_s r2,r2		; bit >>= 1
-	lsr_s r1,r1		; den >>= 1	
+	lsr_s r1,r1		; den >>= 1
 	brne_s r2,0,@.Lloop2
 .Ldivmodend:
 	mov_s r1,r0		; r1 = mod
@@ -785,15 +785,15 @@ __muldiv:
 	neg	r4,r2
 	ld.as	r5,[pcl,r4]
 	abs_s	r12,r0
-        bic.f	0,r2,r4
-        mpyhu.ne r12,r12,r5
+	bic.f	0,r2,r4
+	mpyhu.ne r12,r12,r5
 	norm	r3,r2
 	xor.f	0,r0,r1
-        ; write port allocation stall
-        rsub	r3,r3,30
-        lsr	r0,r12,r3
-        j_s.d	[blink]
-        neg.mi	r0,r0
+	; write port allocation stall
+	rsub	r3,r3,30
+	lsr	r0,r12,r3
+	j_s.d	[blink]
+	neg.mi	r0,r0
 
 	.balign	4
 SYM(__divsi3):
@@ -876,7 +876,7 @@ SYM(__divsi3):
 #endif	/* ifndef __ARC700__ */
 	ENDFUNC(__divsi3)
 
-	
+
 #endif /* L_divsi3 */
 
 #ifdef  L_umodsi3
@@ -951,7 +951,7 @@ SYM(__modsi3):
        .section .text
        .align 4
        .global SYM (__clzsi2)
-SYM(__clzsi2):	
+SYM(__clzsi2):
 #ifdef __ARC_NORM__
 	HIDDEN_FUNC(__clzsi2)
 	norm.f	r0,r0
@@ -1002,7 +1002,7 @@ SYM(__clzsi2):
 
 
 ;;; MILLICODE THUNK LIB ;***************
-	
+
 ;;; 	.macro push_regs from, to, offset
 ;;; 		st_s "\from", [sp, \offset]
 ;;; 		.if \to-\from
@@ -1019,22 +1019,22 @@ SYM(__clzsi2):
 ;;;;   		.set regno, \from+1
 ;;;;   		.set shift, 32
 ;;;;   		.set shift, shift - 1
-;;;;   #		st_s %shift @3 lsl #shift 
+;;;;   #		st_s %shift @3 lsl #shift
 ;;;;   		.if \to-\from
 ;;;;   		sum "(\from+1)", \to, "(\three)"
-;;;;   		.endif		
+;;;;   		.endif
 ;;;;   	.endm
-;;;;   	
+;;;;
 ;;;;   	SUM 0,5, 9
-;;;;   	
-;	.altmacro		
+;;;;
+;	.altmacro
 ;;  	.macro push_regs from=0, to=3, offset
 ;;  		st_s r\from, [sp, \offset]
 ;;  		.if \to-\from
 ;;  			push_regs "\from+1 ",\to,"(\offset+4)"
 ;;  		.endif
 ;;  	.endm
-;;  
+;;
 ;;  	.macro expand_to_push from=13, to
 ;;  ;		.section .text
 ;;  ;		.align 4
@@ -1042,11 +1042,11 @@ SYM(__clzsi2):
 ;;  ;		.type foo,
 ;;  	st_13_to_25:
 ;;  ;		push_regs \from, \to, 0
-;;  	push_regs 0,3		; 
+;;  	push_regs 0,3		;
 ;;  	.endm
-;;  
+;;
 ;;  	expand_to_push 13,18
-;;  
+;;
 ;#endif
 
 #ifdef L_millicodethunk_st
@@ -1077,25 +1077,25 @@ SYM(__clzsi2):
 	.align 4
 SYM(__st_r13_to_r25):
 	st r25, [sp,48]
-SYM(__st_r13_to_r24):	
+SYM(__st_r13_to_r24):
 	st r24, [sp,44]
-SYM(__st_r13_to_r23):	
+SYM(__st_r13_to_r23):
 	st r23, [sp,40]
-SYM(__st_r13_to_r22):	
+SYM(__st_r13_to_r22):
 	st r22, [sp,36]
-SYM(__st_r13_to_r21):	
+SYM(__st_r13_to_r21):
 	st r21, [sp,32]
-SYM(__st_r13_to_r20):	
-	st r20, [sp,28]		
-SYM(__st_r13_to_r19):	
+SYM(__st_r13_to_r20):
+	st r20, [sp,28]
+SYM(__st_r13_to_r19):
 	st r19, [sp,24]
-SYM(__st_r13_to_r18):	
+SYM(__st_r13_to_r18):
 	st r18, [sp,20]
-SYM(__st_r13_to_r17):	
+SYM(__st_r13_to_r17):
 	st r17, [sp,16]
-SYM(__st_r13_to_r16):	
+SYM(__st_r13_to_r16):
 	st r16, [sp,12]
-SYM(__st_r13_to_r15):	
+SYM(__st_r13_to_r15):
 #ifdef __ARC700__
 	st r15, [sp,8] ; minimum function size to avoid stall: 6 bytes.
 #else
@@ -1103,7 +1103,7 @@ SYM(__st_r13_to_r15):
 #endif
 	st_s r14, [sp,4]
 	j_s.d [%blink]
-	st_s r13, [sp,0]	
+	st_s r13, [sp,0]
 	ENDFUNC(__st_r13_to_r15)
 	ENDFUNC(__st_r13_to_r16)
 	ENDFUNC(__st_r13_to_r17)
@@ -1121,7 +1121,7 @@ SYM(__st_r13_to_r15):
 #ifdef L_millicodethunk_ld
 	.section .text
 	.align 4
-;	================================== 
+;	==================================
 ;	the loads
 
 	.global SYM(__ld_r13_to_r15)
@@ -1157,7 +1157,7 @@ SYM(__ld_r13_to_r22):
 SYM(__ld_r13_to_r21):
 	ld r21, [sp,32]
 SYM(__ld_r13_to_r20):
-	ld r20, [sp,28]		
+	ld r20, [sp,28]
 SYM(__ld_r13_to_r19):
 	ld r19, [sp,24]
 SYM(__ld_r13_to_r18):
@@ -1226,7 +1226,7 @@ SYM(__ld_r13_to_r22_ret):
 SYM(__ld_r13_to_r21_ret):
 	ld r21, [sp,32]
 SYM(__ld_r13_to_r20_ret):
-	ld r20, [sp,28]		
+	ld r20, [sp,28]
 SYM(__ld_r13_to_r19_ret):
 	ld r19, [sp,24]
 SYM(__ld_r13_to_r18_ret):
@@ -1258,6 +1258,9 @@ SYM(__ld_r13_to_r14_ret):
 
 #endif /* L_millicodethunk_ret */
 
+#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__))
+
+#if ARC_OPTFPE
 #ifdef  L_adddf3
 #ifdef __ARC_NORM__
 #include "ieee-754/adddf3.S"
@@ -1265,7 +1268,7 @@ SYM(__ld_r13_to_r14_ret):
 #endif
 
 #ifdef  L_muldf3
-#if defined (__ARC700__) || defined (__HS__)
+#ifdef __ARC_MPY__
 #include "ieee-754/muldf3.S"
 #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
 #include "ieee-754/arc600-mul64/muldf3.S"
@@ -1281,7 +1284,7 @@ SYM(__ld_r13_to_r14_ret):
 #endif
 
 #ifdef  L_mulsf3
-#if defined (__ARC700__) || defined (__HS__)
+#ifdef  __ARC_MPY__
 #include "ieee-754/mulsf3.S"
 #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
 #include "ieee-754/arc600-mul64/mulsf3.S"
@@ -1293,7 +1296,7 @@ SYM(__ld_r13_to_r14_ret):
 #endif
 
 #ifdef  L_divdf3
-#if defined (__ARC700__) || defined (__HS__)
+#ifdef  __ARC_MPY__
 #include "ieee-754/divdf3.S"
 #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
 #include "ieee-754/arc600-mul64/divdf3.S"
@@ -1303,7 +1306,7 @@ SYM(__ld_r13_to_r14_ret):
 #endif
 
 #ifdef  L_divsf3
-#if defined (__ARC700__) || defined (__HS__)
+#ifdef  __ARC_MPY__
 #include "ieee-754/divsf3-stdmul.S"
 #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
 #include "ieee-754/arc600-mul64/divsf3.S"
@@ -1421,3 +1424,4 @@ SYM(__ld_r13_to_r14_ret):
 #include "ieee-754/ordsf2.S"
 #endif
 #endif
+#endif /* ARC_OPTFPE */
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/2] [ARC] [libgcc] Fix defines
  2016-07-08 11:42 [PATCH 0/2] [libgcc] Add support for QuarkSE and cleanup macros Claudiu Zissulescu
  2016-07-08 11:42 ` [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor Claudiu Zissulescu
@ 2016-07-08 11:42 ` Claudiu Zissulescu
  2016-09-29 19:59   ` Andrew Burgess
  1 sibling, 1 reply; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-07-08 11:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: Claudiu.Zissulescu, gnu, Francois.Bedard

Don't use CPU macros, use CPU feature macros.

libgcc/
2016-05-26  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/lib1funcs.S (__mulsi3): Use feature defines instead
	of checking for cpus.
	(__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3)
	(__modsi3, __clzsi2): Likewise.
---
 libgcc/config/arc/lib1funcs.S | 45 +++++++++++++++++++++++--------------------
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S
index 9bb25e0..422fd95 100644
--- a/libgcc/config/arc/lib1funcs.S
+++ b/libgcc/config/arc/lib1funcs.S
@@ -79,7 +79,7 @@ SYM(__mulsi3):
 	j_s.d [blink]
 	mov_s r0,mlo
 	ENDFUNC(__mulsi3)
-#elif defined (__ARC700__) || defined (__HS__)
+#elif defined (__ARC_MPY__)
 	HIDDEN_FUNC(__mulsi3)
 	mpyu	r0,r0,r1
 	nop_s
@@ -98,7 +98,7 @@ SYM(__mulsi3):
 	add_s	r1,r1,r1
 .Lend:	j_s [blink]
 	ENDFUNC(__mulsi3)
-#elif !defined (__OPTIMIZE_SIZE__) && !defined(__ARC601__)
+#elif !defined (__OPTIMIZE_SIZE__) && defined (__ARC_BARREL_SHIFTER__)
 	/* Up to 3.5 times faster than the simpler code below, but larger.  */
 	FUNC(__mulsi3)
 	ror.f	r2,r0,4
@@ -170,7 +170,8 @@ SYM(__umulsidi3):
    umulsi3_highpart implementation; the use of the latter label doesn't
    actually benefit ARC601 platforms, but is useful when ARC601 code is linked
    against other libraries.  */
-#if defined (__ARC700__) || defined (__ARC_MUL64__) || defined (__ARC601__)
+#if defined (__ARC_MPY__) || defined (__ARC_MUL64__) \
+	|| !defined (__ARC_BARREL_SHIFTER__)
 	.global SYM(__umulsi3_highpart)
 SYM(__umulsi3_highpart):
 	HIDDEN_FUNC(__umulsi3_highpart)
@@ -188,18 +189,18 @@ SYM(__umulsi3_highpart):
 */
 #include "ieee-754/arc-ieee-754.h"
 
-#ifdef __ARC700__
+#ifdef __ARC_MPY__
 	mov_s	r12,DBL0L
 	mpyu	DBL0L,r12,DBL0H
 	j_s.d	[blink]
-	mpyhu	DBL0H,r12,DBL0H
+	MPYHU	DBL0H,r12,DBL0H
 #elif defined (__ARC_MUL64__)
 /* Likewise for __ARC_MUL64__ */
 	mulu64 r0,r1
 	mov_s DBL0L,mlo
 	j_s.d [blink]
 	mov_s DBL0H,mhi
-#else /* !__ARC700__ && !__ARC_MUL64__ */
+#else /* !__ARC_MPY__ && !__ARC_MUL64__ */
 /* Although it might look tempting to extend this to handle muldi3,
    using mulsi3 twice with 2.25 cycles per 32 bit add is faster
    than one loop with 3 or four cycles per 32 bit add.  */
@@ -223,9 +224,10 @@ SYM(__umulsi3_highpart):
 	mov_s DBL0L,r3
 	j_s.d [blink]
 	mov DBL0H,r2
-#endif /* !__ARC700__*/
+#endif /* !__ARC_MPY__*/
 	ENDFUNC(__umulsidi3)
-#if defined (__ARC700__) || defined (__ARC_MUL64__) || defined (__ARC601__)
+#if defined (__ARC_MPY__) || defined (__ARC_MUL64__) \
+	|| !defined (__ARC_BARREL_SHIFTER__)
 	ENDFUNC(__umulsi3_highpart)
 #endif
 #endif /* L_umulsidi3 */
@@ -235,7 +237,8 @@ SYM(__umulsi3_highpart):
 /* For use without a barrel shifter, and for ARC700 / ARC_MUL64, the
    mulsidi3 algorithms above look better, so for these, there is an
    extra label up there.  */
-#if !defined (__ARC700__) && !defined (__ARC_MUL64__) && !defined (__ARC601__)
+#if !defined (__ARC_MPY__) && !defined (__ARC_MUL64__) \
+	&& defined (__ARC_BARREL_SHIFTER__)
 	.global SYM(__umulsi3_highpart)
 SYM(__umulsi3_highpart):
 	HIDDEN_FUNC(__umulsi3_highpart)
@@ -251,7 +254,7 @@ SYM(__umulsi3_highpart):
 /* Make the result register peephole-compatible with mulsidi3.  */
 	lsr DBL0H,r2,r3
 	ENDFUNC(__umulsi3_highpart)
-#endif /* !__ARC700__  && !__ARC601__ */
+#endif /* !__ARC_MPY__  && __ARC_BARREL_SHIFTER__ */
 #endif /* L_umulsi3_highpart */
 
 #ifdef L_divmod_tools
@@ -295,7 +298,7 @@ udivmodsi4(int modwanted, unsigned long num, unsigned long den)
 	FUNC(__udivmodsi4)
 SYM(__udivmodsi4):
 
-#if defined (__ARC700__)
+#if defined (__ARC_EA__)
 /* Normalize divisor and divident, and then use the appropriate number of
    divaw (the number of result bits, or one more) to produce the result.
    There are some special conditions that need to be tested:
@@ -368,7 +371,7 @@ SYM(__udivmodsi4):
 	j_s.d	[blink]
 	mov.c	r0,0
 #elif !defined (__OPTIMIZE_SIZE__)
-#ifdef __ARC_NORM__
+#if defined (__ARC_NORM__) && defined (__ARC_BARREL_SHIFTER__)
 	lsr_s r2,r0
 	brhs.d r1,r2,.Lret0_3
 	norm r2,r2
@@ -393,17 +396,17 @@ SYM(__udivmodsi4):
 	lsr_s r1,r1
 	cmp_s r0,r1
 	xor.f r2,lp_count,31
-#if !defined (__EM__)
+#if !defined (__ARCEM__) && !defined (__ARCHS__)
 	mov_s lp_count,r2
 #else
 	mov lp_count,r2
 	nop_s
-#endif /* !__EM__ */
+#endif /* !__ARCEM__ && !__ARCHS__ */
 #endif /* !__ARC_NORM__ */
 	sub.cc r0,r0,r1
 	mov_s r3,3
 	sbc r3,r3,0
-#ifndef __ARC601__
+#if defined (__ARC_BARREL_SHIFTER__)
 	asl_s r3,r3,r2
 	rsub r1,r1,1
 	lpne @.Lloop2_end
@@ -503,7 +506,7 @@ SYM(__udivsi3):
 	.global SYM(__divsi3)
 	FUNC(__divsi3)
 
-#ifndef __ARC700__
+#ifndef __ARC_EA__
 SYM(__divsi3):
 	/* A5 / ARC60? */
 	mov r7,blink
@@ -514,7 +517,7 @@ SYM(__divsi3):
 	tst r6,r6
 	j.d [r7]
 	 neg.mi r0,r0
-#else 	/* !ifndef __ARC700__ */
+#else 	/* !ifndef __ARC_EA__ */
 	;; We can use the abs, norm, divaw and mpy instructions for ARC700
 #define MULDIV
 #ifdef MULDIV
@@ -907,7 +910,7 @@ SYM(__umodsi3):
 	.global SYM (__modsi3)
 	FUNC(__modsi3)
 SYM(__modsi3):
-#ifndef __ARC700__
+#ifndef __ARC_EA__
 	/* A5 / ARC60? */
 	mov_s r12,blink
 	mov_s r6,r0
@@ -918,7 +921,7 @@ SYM(__modsi3):
 	neg_s r0,r1
 	j_s.d [r12]
 	 mov.pl r0,r1
-#else /* __ARC700__ */
+#else /* __ARC_EA__ */
 	abs_s	r2,r1
 	norm.f	r4,r0
 	neg	r5,r2
@@ -942,7 +945,7 @@ SYM(__modsi3):
 	cmp_s	r12,r2
 	j_s.d	[blink]
 	sub.hs	r0,r0,r5
-#endif /* __ARC700__ */
+#endif /* !__ARC_EA__ */
 	ENDFUNC(__modsi3)
 
 #endif /* L_modsi3 */
@@ -959,7 +962,7 @@ SYM(__clzsi2):
 	j_s.d	[blink]
 	add.pl	r0,r0,1
 	ENDFUNC(__clzsi2)
-#elif defined (__ARC601__)
+#elif !defined (__ARC_BARREL_SHIFTER__)
 	FUNC(__clzsi2)
 	mov lp_count,10
 	mov_l r1,0
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/2] [libgcc] Add support for QuarkSE and cleanup macros.
@ 2016-07-08 11:42 Claudiu Zissulescu
  2016-07-08 11:42 ` [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor Claudiu Zissulescu
  2016-07-08 11:42 ` [PATCH 2/2] [ARC] [libgcc] Fix defines Claudiu Zissulescu
  0 siblings, 2 replies; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-07-08 11:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: Claudiu.Zissulescu, gnu, Francois.Bedard

This is a set of two libgcc patches that is adding support for QuarkSE
processor as well as it is changing the guarding of the ARC libgcc
support routines from cpu macros to feature macros.

Ok to apply?
Claudiu

Claudiu Zissulescu (2):
  [ARC] [libgcc] Add support for QuarkSE processor.
  [ARC] [libgcc] Fix defines

 libgcc/config/arc/dp-hack.h   |  12 +--
 libgcc/config/arc/fp-hack.h   |   8 +-
 libgcc/config/arc/lib1funcs.S | 165 ++++++++++++++++++++++--------------------
 3 files changed, 98 insertions(+), 87 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor.
  2016-07-08 11:42 ` [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor Claudiu Zissulescu
@ 2016-09-29 19:58   ` Andrew Burgess
  2016-09-30  9:23     ` Claudiu Zissulescu
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Burgess @ 2016-09-29 19:58 UTC (permalink / raw)
  To: Claudiu Zissulescu; +Cc: gcc-patches, gnu, Francois.Bedard

* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2016-07-08 13:41:22 +0200]:

> libgcc/
> 2016-05-26  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__.

There's significant whitespace changes in lib1funcs.S that's not
mentioned in the ChangeLog, and is in parts of the file not touched by
the actual functional changes.

I'd personally prefer to see the whitespace changes pushed as their
own commit as they make (for me) the diff harder to read.

Otherwise this all looks fine.

Thanks,
Andrew



> ---
>  libgcc/config/arc/dp-hack.h   |  12 +++--
>  libgcc/config/arc/fp-hack.h   |   8 +--
>  libgcc/config/arc/lib1funcs.S | 120 ++++++++++++++++++++++--------------------
>  3 files changed, 74 insertions(+), 66 deletions(-)
> 
> diff --git a/libgcc/config/arc/dp-hack.h b/libgcc/config/arc/dp-hack.h
> index 3c727b1..1f7f213 100644
> --- a/libgcc/config/arc/dp-hack.h
> +++ b/libgcc/config/arc/dp-hack.h
> @@ -30,21 +30,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  
>  #define FINE_GRAINED_LIBRARIES
>  #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_unpack_df
>  #define L_make_df
>  #define L_thenan_df
>  #define L_sf_to_df
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_addsub_df
>  #elif ARC_DP_DEBUG
>  #define L_addsub_df
>  #define __adddf3 __adddf3_c
>  #define __subdf3 __subdf3_c
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_mul_df
>  #define L_div_df
>  #elif (!defined (__ARC700__) && !defined (__ARC_MUL64__) \
> @@ -59,7 +61,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  #define L_div_df
>  #define __divdf3 __divdf3_c
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_df_to_sf
>  #define L_si_to_df
>  #define L_df_to_si
> @@ -77,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  #define L_usi_to_df
>  #define __floatunsidf __floatunsidf_c
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_fpcmp_parts_df
>  #define L_compare_df
>  #define L_eq_df
> diff --git a/libgcc/config/arc/fp-hack.h b/libgcc/config/arc/fp-hack.h
> index 30b547a..5144bb9 100644
> --- a/libgcc/config/arc/fp-hack.h
> +++ b/libgcc/config/arc/fp-hack.h
> @@ -30,13 +30,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  
>  #define ARC_FP_DEBUG 1
>  #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_unpack_sf
>  #define L_make_sf
>  #define L_thenan_sf
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_addsub_sf
>  #define L_mul_sf
>  #define L_div_sf
> @@ -61,7 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  #define L_usi_to_sf
>  #define __floatunsisf __floatunsisf_c
>  #endif
> -#ifndef __ARC_NORM__
> +#if !ARC_OPTFPE
>  #define L_fpcmp_parts_sf
>  #define L_compare_sf
>  #define L_eq_sf
> diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S
> index 1c8961c..9bb25e0 100644
> --- a/libgcc/config/arc/lib1funcs.S
> +++ b/libgcc/config/arc/lib1funcs.S
> @@ -32,29 +32,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>     This exception does not however invalidate any other reasons why
>     the executable file might be covered by the GNU General Public License.  */
>  
> - 
> +
>   /* ANSI concatenation macros.  */
> - 
> +
>   #define CONCAT1(a, b) CONCAT2(a, b)
>   #define CONCAT2(a, b) a ## b
> - 
> +
>   /* Use the right prefix for global labels.  */
> - 
> +
>   #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
> - 
> +
>  #ifndef WORKING_ASSEMBLER
>  #define abs_l abs
>  #define asl_l asl
>  #define mov_l mov
>  #endif
> - 	
> +
>  #define FUNC(X)         .type SYM(X),@function
>  #define HIDDEN_FUNC(X)	FUNC(X)` .hidden X
>  #define ENDFUNC0(X)     .Lfe_##X: .size X,.Lfe_##X-X
>  #define ENDFUNC(X)      ENDFUNC0(X)
>  
> -	
> -	
> +
> +
>  #ifdef  L_mulsi3
>  	.section .text
>  	.align 4
> @@ -64,10 +64,10 @@ SYM(__mulsi3):
>  
>  /* This the simple version.
>  
> -  while (a) 
> +  while (a)
>      {
>        if (a & 1)
> -        r += b;
> +	r += b;
>        a >>= 1;
>        b <<= 1;
>      }
> @@ -132,7 +132,7 @@ SYM(__mulsi3):
>  	add2.cs r0,r0,r1
>  	lsr.f r2,r2
>  	add3.cs r0,r0,r1
> -	bne.d .Loop	
> +	bne.d .Loop
>  	add3 r1,r3,r1
>  	j_s	[blink]
>  	ENDFUNC(__mulsi3)
> @@ -143,17 +143,17 @@ SYM(__mulsi3):
>  .Lloop:
>  	bbit0 r0,0,@.Ly
>  	add_s r2,r2,r1		; r += b
> -.Ly:	
> +.Ly:
>  	lsr_s r0,r0		; a >>= 1
> -	asl_s r1,r1		; b <<= 1	
> -	brne_s r0,0,@.Lloop	
> +	asl_s r1,r1		; b <<= 1
> +	brne_s r0,0,@.Lloop
>  .Ldone:
>  	j_s.d [blink]
>  	mov_s r0,r2
>  	ENDFUNC(__mulsi3)
>  /********************************************************/
>  #endif
> -	
> +
>  #endif /* L_mulsi3 */
>  
>  #ifdef  L_umulsidi3
> @@ -178,10 +178,10 @@ SYM(__umulsi3_highpart):
>  
>  /* This the simple version.
>  
> -  while (a) 
> +  while (a)
>      {
>        if (a & 1)
> -        r += b;
> +	r += b;
>        a >>= 1;
>        b <<= 1;
>      }
> @@ -455,18 +455,18 @@ SYM(__udivmodsi4):
>  	mov_s r2,1		; bit = 1
>  	mov_s r3,0		; res = 0
>  .Lloop1:
> -  	brhs r1,r0,@.Lloop2
> +	brhs r1,r0,@.Lloop2
>  	bbit1 r1,31,@.Lloop2
>  	asl_s r1,r1		; den <<= 1
>  	b.d @.Lloop1
>  	asl_s r2,r2		; bit <<= 1
>  .Lloop2:
> -  	brlo r0,r1,@.Lshiftdown
> +	brlo r0,r1,@.Lshiftdown
>  	sub_s r0,r0,r1		; num -= den
>  	or_s r3,r3,r2		; res |= bit
>  .Lshiftdown:
>  	lsr_s r2,r2		; bit >>= 1
> -	lsr_s r1,r1		; den >>= 1	
> +	lsr_s r1,r1		; den >>= 1
>  	brne_s r2,0,@.Lloop2
>  .Ldivmodend:
>  	mov_s r1,r0		; r1 = mod
> @@ -785,15 +785,15 @@ __muldiv:
>  	neg	r4,r2
>  	ld.as	r5,[pcl,r4]
>  	abs_s	r12,r0
> -        bic.f	0,r2,r4
> -        mpyhu.ne r12,r12,r5
> +	bic.f	0,r2,r4
> +	mpyhu.ne r12,r12,r5
>  	norm	r3,r2
>  	xor.f	0,r0,r1
> -        ; write port allocation stall
> -        rsub	r3,r3,30
> -        lsr	r0,r12,r3
> -        j_s.d	[blink]
> -        neg.mi	r0,r0
> +	; write port allocation stall
> +	rsub	r3,r3,30
> +	lsr	r0,r12,r3
> +	j_s.d	[blink]
> +	neg.mi	r0,r0
>  
>  	.balign	4
>  SYM(__divsi3):
> @@ -876,7 +876,7 @@ SYM(__divsi3):
>  #endif	/* ifndef __ARC700__ */
>  	ENDFUNC(__divsi3)
>  
> -	
> +
>  #endif /* L_divsi3 */
>  
>  #ifdef  L_umodsi3
> @@ -951,7 +951,7 @@ SYM(__modsi3):
>         .section .text
>         .align 4
>         .global SYM (__clzsi2)
> -SYM(__clzsi2):	
> +SYM(__clzsi2):
>  #ifdef __ARC_NORM__
>  	HIDDEN_FUNC(__clzsi2)
>  	norm.f	r0,r0
> @@ -1002,7 +1002,7 @@ SYM(__clzsi2):
>  
>  
>  ;;; MILLICODE THUNK LIB ;***************
> -	
> +
>  ;;; 	.macro push_regs from, to, offset
>  ;;; 		st_s "\from", [sp, \offset]
>  ;;; 		.if \to-\from
> @@ -1019,22 +1019,22 @@ SYM(__clzsi2):
>  ;;;;   		.set regno, \from+1
>  ;;;;   		.set shift, 32
>  ;;;;   		.set shift, shift - 1
> -;;;;   #		st_s %shift @3 lsl #shift 
> +;;;;   #		st_s %shift @3 lsl #shift
>  ;;;;   		.if \to-\from
>  ;;;;   		sum "(\from+1)", \to, "(\three)"
> -;;;;   		.endif		
> +;;;;   		.endif
>  ;;;;   	.endm
> -;;;;   	
> +;;;;
>  ;;;;   	SUM 0,5, 9
> -;;;;   	
> -;	.altmacro		
> +;;;;
> +;	.altmacro
>  ;;  	.macro push_regs from=0, to=3, offset
>  ;;  		st_s r\from, [sp, \offset]
>  ;;  		.if \to-\from
>  ;;  			push_regs "\from+1 ",\to,"(\offset+4)"
>  ;;  		.endif
>  ;;  	.endm
> -;;  
> +;;
>  ;;  	.macro expand_to_push from=13, to
>  ;;  ;		.section .text
>  ;;  ;		.align 4
> @@ -1042,11 +1042,11 @@ SYM(__clzsi2):
>  ;;  ;		.type foo,
>  ;;  	st_13_to_25:
>  ;;  ;		push_regs \from, \to, 0
> -;;  	push_regs 0,3		; 
> +;;  	push_regs 0,3		;
>  ;;  	.endm
> -;;  
> +;;
>  ;;  	expand_to_push 13,18
> -;;  
> +;;
>  ;#endif
>  
>  #ifdef L_millicodethunk_st
> @@ -1077,25 +1077,25 @@ SYM(__clzsi2):
>  	.align 4
>  SYM(__st_r13_to_r25):
>  	st r25, [sp,48]
> -SYM(__st_r13_to_r24):	
> +SYM(__st_r13_to_r24):
>  	st r24, [sp,44]
> -SYM(__st_r13_to_r23):	
> +SYM(__st_r13_to_r23):
>  	st r23, [sp,40]
> -SYM(__st_r13_to_r22):	
> +SYM(__st_r13_to_r22):
>  	st r22, [sp,36]
> -SYM(__st_r13_to_r21):	
> +SYM(__st_r13_to_r21):
>  	st r21, [sp,32]
> -SYM(__st_r13_to_r20):	
> -	st r20, [sp,28]		
> -SYM(__st_r13_to_r19):	
> +SYM(__st_r13_to_r20):
> +	st r20, [sp,28]
> +SYM(__st_r13_to_r19):
>  	st r19, [sp,24]
> -SYM(__st_r13_to_r18):	
> +SYM(__st_r13_to_r18):
>  	st r18, [sp,20]
> -SYM(__st_r13_to_r17):	
> +SYM(__st_r13_to_r17):
>  	st r17, [sp,16]
> -SYM(__st_r13_to_r16):	
> +SYM(__st_r13_to_r16):
>  	st r16, [sp,12]
> -SYM(__st_r13_to_r15):	
> +SYM(__st_r13_to_r15):
>  #ifdef __ARC700__
>  	st r15, [sp,8] ; minimum function size to avoid stall: 6 bytes.
>  #else
> @@ -1103,7 +1103,7 @@ SYM(__st_r13_to_r15):
>  #endif
>  	st_s r14, [sp,4]
>  	j_s.d [%blink]
> -	st_s r13, [sp,0]	
> +	st_s r13, [sp,0]
>  	ENDFUNC(__st_r13_to_r15)
>  	ENDFUNC(__st_r13_to_r16)
>  	ENDFUNC(__st_r13_to_r17)
> @@ -1121,7 +1121,7 @@ SYM(__st_r13_to_r15):
>  #ifdef L_millicodethunk_ld
>  	.section .text
>  	.align 4
> -;	================================== 
> +;	==================================
>  ;	the loads
>  
>  	.global SYM(__ld_r13_to_r15)
> @@ -1157,7 +1157,7 @@ SYM(__ld_r13_to_r22):
>  SYM(__ld_r13_to_r21):
>  	ld r21, [sp,32]
>  SYM(__ld_r13_to_r20):
> -	ld r20, [sp,28]		
> +	ld r20, [sp,28]
>  SYM(__ld_r13_to_r19):
>  	ld r19, [sp,24]
>  SYM(__ld_r13_to_r18):
> @@ -1226,7 +1226,7 @@ SYM(__ld_r13_to_r22_ret):
>  SYM(__ld_r13_to_r21_ret):
>  	ld r21, [sp,32]
>  SYM(__ld_r13_to_r20_ret):
> -	ld r20, [sp,28]		
> +	ld r20, [sp,28]
>  SYM(__ld_r13_to_r19_ret):
>  	ld r19, [sp,24]
>  SYM(__ld_r13_to_r18_ret):
> @@ -1258,6 +1258,9 @@ SYM(__ld_r13_to_r14_ret):
>  
>  #endif /* L_millicodethunk_ret */
>  
> +#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__))
> +
> +#if ARC_OPTFPE
>  #ifdef  L_adddf3
>  #ifdef __ARC_NORM__
>  #include "ieee-754/adddf3.S"
> @@ -1265,7 +1268,7 @@ SYM(__ld_r13_to_r14_ret):
>  #endif
>  
>  #ifdef  L_muldf3
> -#if defined (__ARC700__) || defined (__HS__)
> +#ifdef __ARC_MPY__
>  #include "ieee-754/muldf3.S"
>  #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
>  #include "ieee-754/arc600-mul64/muldf3.S"
> @@ -1281,7 +1284,7 @@ SYM(__ld_r13_to_r14_ret):
>  #endif
>  
>  #ifdef  L_mulsf3
> -#if defined (__ARC700__) || defined (__HS__)
> +#ifdef  __ARC_MPY__
>  #include "ieee-754/mulsf3.S"
>  #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
>  #include "ieee-754/arc600-mul64/mulsf3.S"
> @@ -1293,7 +1296,7 @@ SYM(__ld_r13_to_r14_ret):
>  #endif
>  
>  #ifdef  L_divdf3
> -#if defined (__ARC700__) || defined (__HS__)
> +#ifdef  __ARC_MPY__
>  #include "ieee-754/divdf3.S"
>  #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
>  #include "ieee-754/arc600-mul64/divdf3.S"
> @@ -1303,7 +1306,7 @@ SYM(__ld_r13_to_r14_ret):
>  #endif
>  
>  #ifdef  L_divsf3
> -#if defined (__ARC700__) || defined (__HS__)
> +#ifdef  __ARC_MPY__
>  #include "ieee-754/divsf3-stdmul.S"
>  #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__)
>  #include "ieee-754/arc600-mul64/divsf3.S"
> @@ -1421,3 +1424,4 @@ SYM(__ld_r13_to_r14_ret):
>  #include "ieee-754/ordsf2.S"
>  #endif
>  #endif
> +#endif /* ARC_OPTFPE */
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] [ARC] [libgcc] Fix defines
  2016-07-08 11:42 ` [PATCH 2/2] [ARC] [libgcc] Fix defines Claudiu Zissulescu
@ 2016-09-29 19:59   ` Andrew Burgess
  2016-09-30  9:17     ` Claudiu Zissulescu
  2016-11-15 15:43     ` Claudiu Zissulescu
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Burgess @ 2016-09-29 19:59 UTC (permalink / raw)
  To: Claudiu Zissulescu; +Cc: gcc-patches, gnu, Francois.Bedard

* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2016-07-08 13:41:23 +0200]:

> Don't use CPU macros, use CPU feature macros.
> 
> libgcc/
> 2016-05-26  Claudiu Zissulescu  <claziss@synopsys.com>
> 
> 	* config/arc/lib1funcs.S (__mulsi3): Use feature defines instead
> 	of checking for cpus.
> 	(__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3)
> 	(__modsi3, __clzsi2): Likewise.
> ---
>  libgcc/config/arc/lib1funcs.S | 45 +++++++++++++++++++++++--------------------
>  1 file changed, 24 insertions(+), 21 deletions(-)
> 
> diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S
> index 9bb25e0..422fd95 100644
> --- a/libgcc/config/arc/lib1funcs.S
> +++ b/libgcc/config/arc/lib1funcs.S
> @@ -188,18 +189,18 @@ SYM(__umulsi3_highpart):
>  */
>  #include "ieee-754/arc-ieee-754.h"
>  
> -#ifdef __ARC700__
> +#ifdef __ARC_MPY__
>  	mov_s	r12,DBL0L
>  	mpyu	DBL0L,r12,DBL0H
>  	j_s.d	[blink]
> -	mpyhu	DBL0H,r12,DBL0H
> +	MPYHU	DBL0H,r12,DBL0H

Is there a reason that instruction should be uppercase?

This otherwise looks fine to me.

Thanks,
Andrew

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH 2/2] [ARC] [libgcc] Fix defines
  2016-09-29 19:59   ` Andrew Burgess
@ 2016-09-30  9:17     ` Claudiu Zissulescu
  2016-11-15 15:43     ` Claudiu Zissulescu
  1 sibling, 0 replies; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-09-30  9:17 UTC (permalink / raw)
  To: Andrew Burgess; +Cc: gcc-patches, gnu, Francois.Bedard

> > +	MPYHU	DBL0H,r12,DBL0H
> 
> Is there a reason that instruction should be uppercase?
> 

Yes, MPYHU is a macro which selects the right mnemonic depending on which CPU you are going to compile (i.e., mpyhu for ARCv1 and mpymu for ARCv2), see arc-ieee-754.h.

Thanks,
Claudiu

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor.
  2016-09-29 19:58   ` Andrew Burgess
@ 2016-09-30  9:23     ` Claudiu Zissulescu
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-09-30  9:23 UTC (permalink / raw)
  To: Andrew Burgess; +Cc: gcc-patches, gnu, Francois.Bedard


> There's significant whitespace changes in lib1funcs.S that's not
> mentioned in the ChangeLog, and is in parts of the file not touched by
> the actual functional changes.

Yes, there are a lot of trailing spaces which are not complying to GNU standards. I'm trying to correct those sloppy files as I am reviewing/changing them.

 > I'd personally prefer to see the whitespace changes pushed as their
> own commit as they make (for me) the diff harder to read.

I'll make them a separate commit, and push it as obvious if you do not have something against.

> 
> Otherwise this all looks fine.
> 

This patch needs to be pushed after the main compiler Quarkse functionality is added. I will keep u updated when this will happen.

Thanks,
Claudiu

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH 2/2] [ARC] [libgcc] Fix defines
  2016-09-29 19:59   ` Andrew Burgess
  2016-09-30  9:17     ` Claudiu Zissulescu
@ 2016-11-15 15:43     ` Claudiu Zissulescu
  1 sibling, 0 replies; 8+ messages in thread
From: Claudiu Zissulescu @ 2016-11-15 15:43 UTC (permalink / raw)
  To: Andrew Burgess; +Cc: gcc-patches, Francois.Bedard

 
> Is there a reason that instruction should be uppercase?
> 
> This otherwise looks fine to me.
> 

Committed r242428. 
Thank you for your review,
Claudiu

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-11-15 15:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-08 11:42 [PATCH 0/2] [libgcc] Add support for QuarkSE and cleanup macros Claudiu Zissulescu
2016-07-08 11:42 ` [PATCH 1/2] [ARC] [libgcc] Add support for QuarkSE processor Claudiu Zissulescu
2016-09-29 19:58   ` Andrew Burgess
2016-09-30  9:23     ` Claudiu Zissulescu
2016-07-08 11:42 ` [PATCH 2/2] [ARC] [libgcc] Fix defines Claudiu Zissulescu
2016-09-29 19:59   ` Andrew Burgess
2016-09-30  9:17     ` Claudiu Zissulescu
2016-11-15 15:43     ` Claudiu Zissulescu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).