diff mbox

[1/2,ARC] Update INSN_LENGTH_ALIGNMENT.

Message ID 1467282252-6108-1-git-send-email-claziss@synopsys.com
State New
Headers show

Commit Message

Claudiu Zissulescu June 30, 2016, 10:24 a.m. UTC
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(-)

Comments

Andrew Burgess Oct. 12, 2016, 2:03 p.m. UTC | #1
* 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
>
Claudiu Zissulescu Oct. 13, 2016, 11:49 a.m. UTC | #2
> This looks good to me.
> 
Committed r241104.

Thank you for ur review,
Claudiu
diff mbox

Patch

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