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

Ok to apply?
Claudiu


gcc/
2016-06-20  Claudiu Zissulescu  <claz...@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

Reply via email to