From 2a9870bd4c21a53bb1fad26248764444e0d67585 Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 6 Sep 2001 22:14:43 +0000 Subject: * simplify-rtx.c (simplify_binary_operation): Simplify contents of CONST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45447 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/simplify-rtx.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gcc/simplify-rtx.c') diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index ea1cc6d285a..7f358d3ddc4 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -1275,6 +1275,28 @@ simplify_binary_operation (code, mode, op0, op1) return simplify_gen_binary (AND, mode, op0, gen_rtx_NOT (mode, XEXP (op1, 0))); } + + /* Simplify operations with constants containing embedded offsets. */ + if (GET_CODE (op0) == CONST) + { + tem = simplify_binary_operation (code, mode, XEXP (op0, 0), op1); + if (tem) + { + if (CONSTANT_P (op1) && ! CONSTANT_P (tem)) + tem = gen_rtx_CONST (mode, tem); + return tem; + } + } + if (GET_CODE (op1) == CONST) + { + tem = simplify_binary_operation (code, mode, op0, XEXP (op1, 0)); + if (tem) + { + if (CONSTANT_P (op0) && ! CONSTANT_P (tem)) + tem = gen_rtx_CONST (mode, tem); + return tem; + } + } break; case MULT: -- cgit v1.2.1