summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorchaoyingfu <chaoyingfu@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-30 23:09:28 +0000
committerchaoyingfu <chaoyingfu@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-30 23:09:28 +0000
commitb563b483b9f482b0ebd10d79d5982fb6eb3653d7 (patch)
tree147d8f8e5f66c5b18b1af215b5ed27814c9a27a1 /gcc/final.c
parent84373723043bc16686594a725911ed92be41db24 (diff)
downloadgcc-b563b483b9f482b0ebd10d79d5982fb6eb3653d7.tar.gz
* c-lex.c (interpret_fixed): Declare.
(interpret_float): Process _Fract and _Accum. (interpret_fixed): New function. * final.c (output_addr_const): Process CONST_FIXED. * simplify-rtx.c (simplify_const_unary_operation): Handle US_NEG. (simplify_binary_operation_1): Handle US_ASHIFT, SS_MULT, US_MULT, SS_DIV, US_DIV. (simplify_const_binary_operation): Handle SS_MULT, US_MULT, SS_DIV, US_DIV, US_ASHIFT. (simplify_immed_subreg): Support CONST_FIXED. Process MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. (simplify_subreg): Support CONST_FIXED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127941 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c
index aac9a9e3c0f..7c2b4ea9f08 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3377,6 +3377,10 @@ output_addr_const (FILE *file, rtx x)
output_operand_lossage ("floating constant misused");
break;
+ case CONST_FIXED:
+ fprintf (file, HOST_WIDE_INT_PRINT_HEX, CONST_FIXED_VALUE_LOW (x));
+ break;
+
case PLUS:
/* Some assemblers need integer constants to appear last (eg masm). */
if (GET_CODE (XEXP (x, 0)) == CONST_INT)