Commit 73a697d9 by Nick Clifton

Skip TRUNCATE operators in const pool addresses for v850 short switch tables

From-SVN: r45326
parent ef7112de
......@@ -1248,6 +1248,18 @@ do { \
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX "_"
/* When ASM_OUTPUT_SHORT is used to emit the offsets for a switch
table it can encounter (TRUNCATE:HI (MINUS:SI (LABEL_REF:SI) (LABEL_REF:SI))).
output_addr_const will normally barf at this, but it is OK to omit
the truncate and just emit the difference of the two labels. The
.hword directive will automatically handle the truncation for us. */
#define OUTPUT_ADDR_CONST_EXTRA(FILE, X, FAIL) \
if (GET_CODE (x) == TRUNCATE) \
return output_addr_const (FILE, XEXP (X, 0)); \
else \
goto FAIL;
/* This is how to output an assembler line defining a `double' constant.
It is .double or .float, depending. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment