This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v850] fix v850e addr vec tables


v850e switch() has been broken for a while due to a half-disabled insn
pattern, this fixes it by disabling the other half.  Committed as
obvious.

2006-06-01  DJ Delorie  <dj@redhat.com>

	* config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
	shift, as we've disabled the "switch" insn that needs it.

Index: config/v850/v850.h
===================================================================
--- config/v850/v850.h	(revision 114314)
+++ config/v850/v850.h	(working copy)
@@ -987,12 +987,14 @@ typedef enum 
 
 /* This is how to output an element of a case-vector that is relative.  */
 
+/* Disable the shift, which is for the currently disabled "switch"
+   opcode.  Se casesi in v850.md.  */
 #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) 		\
   fprintf (FILE, "\t%s %s.L%d-.L%d%s\n",				\
 	   (TARGET_BIG_SWITCH ? ".long" : ".short"),			\
-	   (! TARGET_BIG_SWITCH && TARGET_V850E ? "(" : ""),		\
+	   (0 && ! TARGET_BIG_SWITCH && TARGET_V850E ? "(" : ""),		\
 	   VALUE, REL,							\
-	   (! TARGET_BIG_SWITCH && TARGET_V850E ? ")>>1" : ""))
+	   (0 && ! TARGET_BIG_SWITCH && TARGET_V850E ? ")>>1" : ""))
 
 #define ASM_OUTPUT_ALIGN(FILE, LOG)	\
   if ((LOG) != 0)			\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]