public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT.
@ 2016-06-30 10:29 Claudiu Zissulescu
  2016-06-30 10:33 ` [PATCH 2/2] [ARC] Fix mul32x16 patterns Claudiu Zissulescu
  2016-10-12 14:03 ` [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Andrew Burgess
  0 siblings, 2 replies; 6+ messages in thread
From: Claudiu Zissulescu @ 2016-06-30 10:29 UTC (permalink / raw)
  To: gcc-patches; +Cc: Claudiu.Zissulescu, gnu, Francois.Bedard

Update the INSN_LENGTH_ALIGNMENT macro to handle jump tables placed in
program memory.

Ok to apply?
Claudiu


gcc/
2016-06-20  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
---
 gcc/config/arc/arc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 3376ad8..d2adf4d 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -1519,10 +1519,10 @@ extern int arc_return_address_regs[4];
 #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \
   ASM_OUTPUT_ALIGN ((FILE), ADDR_VEC_ALIGN (TABLE));
 
-#define INSN_LENGTH_ALIGNMENT(INSN) \
-  ((JUMP_P (INSN) \
+#define INSN_LENGTH_ALIGNMENT(INSN)		  \
+  ((JUMP_TABLE_DATA_P (INSN)			  \
     && GET_CODE (PATTERN (INSN)) == ADDR_DIFF_VEC \
-    && GET_MODE (PATTERN (INSN)) == QImode) \
+    && GET_MODE (PATTERN (INSN)) == QImode)	  \
    ? 0 : length_unit_log)
 
 /* Define if operations between registers always perform the operation
-- 
1.9.1

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

* [PATCH 2/2] [ARC] Fix mul32x16 patterns.
  2016-06-30 10:29 [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Claudiu Zissulescu
@ 2016-06-30 10:33 ` Claudiu Zissulescu
  2016-10-12 14:05   ` Andrew Burgess
  2016-10-12 14:03 ` [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Andrew Burgess
  1 sibling, 1 reply; 6+ messages in thread
From: Claudiu Zissulescu @ 2016-06-30 10:33 UTC (permalink / raw)
  To: gcc-patches; +Cc: Claudiu.Zissulescu, gnu, Francois.Bedard

The mululw instructions are wrongly used in the patterns, fix them.

Okt to apply?
Claudiu

gcc/
2016-06-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (umul_600): Change.
	(umul64_600): Likewise.
---
 gcc/config/arc/arc.md | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 2464a19..41b8eed 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -1937,13 +1937,11 @@
 				  (const_int 0))))
    (clobber (match_operand:SI 3 "acc1_operand" ""))]
   "TARGET_MULMAC_32BY16_SET"
-  "@mululw 0, %0, %1
-    mululw 0, %0, %1
-    mululw%? 0, %1, %0"
+  "mululw 0, %0, %1"
   [(set_attr "length" "4,4,8")
-   (set_attr "type" "mulmac_600, mulmac_600, mulmac_600")
-   (set_attr "predicable" "no, no, yes")
-   (set_attr "cond" "nocond, canuse_limm, canuse")])
+   (set_attr "type" "mulmac_600")
+   (set_attr "predicable" "no")
+   (set_attr "cond" "nocond")])
 
 (define_insn "mac_600"
   [(set (match_operand:SI 2 "acc2_operand" "")
@@ -2372,13 +2370,11 @@
 				  (const_int 0))))
   ]
   "TARGET_MULMAC_32BY16_SET"
-  "@mululw 0, %0, %1
-    mululw 0, %0, %1
-    mululw%? 0, %1, %0"
+  "mululw 0, %0, %1"
   [(set_attr "length" "4,4,8")
    (set_attr "type" "mulmac_600")
-   (set_attr "predicable" "no,no,yes")
-   (set_attr "cond" "nocond, canuse_limm, canuse")])
+   (set_attr "predicable" "no")
+   (set_attr "cond" "nocond")])
 
 
 (define_insn "umac64_600"
-- 
1.9.1

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

* Re: [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT.
  2016-06-30 10:29 [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Claudiu Zissulescu
  2016-06-30 10:33 ` [PATCH 2/2] [ARC] Fix mul32x16 patterns Claudiu Zissulescu
@ 2016-10-12 14:03 ` Andrew Burgess
  2016-10-13 11:53   ` Claudiu Zissulescu
  1 sibling, 1 reply; 6+ messages in thread
From: Andrew Burgess @ 2016-10-12 14:03 UTC (permalink / raw)
  To: Claudiu Zissulescu; +Cc: gcc-patches, gnu, Francois.Bedard

* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2016-06-30 12:24:11 +0200]:

> Update the INSN_LENGTH_ALIGNMENT macro to handle jump tables placed in
> program memory.
> 
> Ok to apply?
> Claudiu

This looks good to me.


Thanks,
Andrew


> 
> 
> gcc/
> 2016-06-20  Claudiu Zissulescu  <claziss@synopsys.com>
> 
> 	* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
> ---
>  gcc/config/arc/arc.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
> index 3376ad8..d2adf4d 100644
> --- a/gcc/config/arc/arc.h
> +++ b/gcc/config/arc/arc.h
> @@ -1519,10 +1519,10 @@ extern int arc_return_address_regs[4];
>  #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \
>    ASM_OUTPUT_ALIGN ((FILE), ADDR_VEC_ALIGN (TABLE));
>  
> -#define INSN_LENGTH_ALIGNMENT(INSN) \
> -  ((JUMP_P (INSN) \
> +#define INSN_LENGTH_ALIGNMENT(INSN)		  \
> +  ((JUMP_TABLE_DATA_P (INSN)			  \
>      && GET_CODE (PATTERN (INSN)) == ADDR_DIFF_VEC \
> -    && GET_MODE (PATTERN (INSN)) == QImode) \
> +    && GET_MODE (PATTERN (INSN)) == QImode)	  \
>     ? 0 : length_unit_log)
>  
>  /* Define if operations between registers always perform the operation
> -- 
> 1.9.1
> 

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

* Re: [PATCH 2/2] [ARC] Fix mul32x16 patterns.
  2016-06-30 10:33 ` [PATCH 2/2] [ARC] Fix mul32x16 patterns Claudiu Zissulescu
@ 2016-10-12 14:05   ` Andrew Burgess
  2016-10-13 11:53     ` Claudiu Zissulescu
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Burgess @ 2016-10-12 14:05 UTC (permalink / raw)
  To: Claudiu Zissulescu; +Cc: gcc-patches, gnu, Francois.Bedard

* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2016-06-30 12:24:12 +0200]:

> The mululw instructions are wrongly used in the patterns, fix them.
> 
> Okt to apply?
> Claudiu
> 
> gcc/
> 2016-06-28  Claudiu Zissulescu  <claziss@synopsys.com>
> 
> 	* config/arc/arc.md (umul_600): Change.
> 	(umul64_600): Likewise.

Looks fine, though maybe you could be a little more descriptive with
the ChangeLog entry.

Thanks,
Andrew




> ---
>  gcc/config/arc/arc.md | 18 +++++++-----------
>  1 file changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
> index 2464a19..41b8eed 100644
> --- a/gcc/config/arc/arc.md
> +++ b/gcc/config/arc/arc.md
> @@ -1937,13 +1937,11 @@
>  				  (const_int 0))))
>     (clobber (match_operand:SI 3 "acc1_operand" ""))]
>    "TARGET_MULMAC_32BY16_SET"
> -  "@mululw 0, %0, %1
> -    mululw 0, %0, %1
> -    mululw%? 0, %1, %0"
> +  "mululw 0, %0, %1"
>    [(set_attr "length" "4,4,8")
> -   (set_attr "type" "mulmac_600, mulmac_600, mulmac_600")
> -   (set_attr "predicable" "no, no, yes")
> -   (set_attr "cond" "nocond, canuse_limm, canuse")])
> +   (set_attr "type" "mulmac_600")
> +   (set_attr "predicable" "no")
> +   (set_attr "cond" "nocond")])
>  
>  (define_insn "mac_600"
>    [(set (match_operand:SI 2 "acc2_operand" "")
> @@ -2372,13 +2370,11 @@
>  				  (const_int 0))))
>    ]
>    "TARGET_MULMAC_32BY16_SET"
> -  "@mululw 0, %0, %1
> -    mululw 0, %0, %1
> -    mululw%? 0, %1, %0"
> +  "mululw 0, %0, %1"
>    [(set_attr "length" "4,4,8")
>     (set_attr "type" "mulmac_600")
> -   (set_attr "predicable" "no,no,yes")
> -   (set_attr "cond" "nocond, canuse_limm, canuse")])
> +   (set_attr "predicable" "no")
> +   (set_attr "cond" "nocond")])
>  
>  
>  (define_insn "umac64_600"
> -- 
> 1.9.1
> 

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

* RE: [PATCH 2/2] [ARC] Fix mul32x16 patterns.
  2016-10-12 14:05   ` Andrew Burgess
@ 2016-10-13 11:53     ` Claudiu Zissulescu
  0 siblings, 0 replies; 6+ messages in thread
From: Claudiu Zissulescu @ 2016-10-13 11:53 UTC (permalink / raw)
  To: Andrew Burgess; +Cc: gcc-patches, gnu, Francois.Bedard

> > gcc/
> > 2016-06-28  Claudiu Zissulescu  <claziss@synopsys.com>
> >
> > 	* config/arc/arc.md (umul_600): Change.
> > 	(umul64_600): Likewise.
> 
> Looks fine, though maybe you could be a little more descriptive with
> the ChangeLog entry.
> 

Committed r241105 with the requested change.

Thank you for ur review,
Claudiu

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

* RE: [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT.
  2016-10-12 14:03 ` [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Andrew Burgess
@ 2016-10-13 11:53   ` Claudiu Zissulescu
  0 siblings, 0 replies; 6+ messages in thread
From: Claudiu Zissulescu @ 2016-10-13 11:53 UTC (permalink / raw)
  To: Andrew Burgess; +Cc: gcc-patches, gnu, Francois.Bedard

 > This looks good to me.
> 
Committed r241104.

Thank you for ur review,
Claudiu

 

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

end of thread, other threads:[~2016-10-13 11:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-30 10:29 [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Claudiu Zissulescu
2016-06-30 10:33 ` [PATCH 2/2] [ARC] Fix mul32x16 patterns Claudiu Zissulescu
2016-10-12 14:05   ` Andrew Burgess
2016-10-13 11:53     ` Claudiu Zissulescu
2016-10-12 14:03 ` [PATCH 1/2] [ARC] Update INSN_LENGTH_ALIGNMENT Andrew Burgess
2016-10-13 11:53   ` 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).