From 76069764344e8637046fa002ad98108a24b00271 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 18 Mar 2011 00:29:15 +0000 Subject: Check zero/sign extended hard registers. gcc/ 2011-03-17 H.J. Lu PR middle-end/47725 * combine.c (cant_combine_insn_p): Check zero/sign extended hard registers. gcc/testsuite/ 2011-03-17 H.J. Lu PR middle-end/47725 * gcc.dg/torture/pr47725.c: New. From-SVN: r171124 --- gcc/combine.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/combine.c') diff --git a/gcc/combine.c b/gcc/combine.c index f9d33b3..67aecf1 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2137,6 +2137,12 @@ cant_combine_insn_p (rtx insn) return 0; src = SET_SRC (set); dest = SET_DEST (set); + if (GET_CODE (src) == ZERO_EXTEND + || GET_CODE (src) == SIGN_EXTEND) + src = XEXP (src, 0); + if (GET_CODE (dest) == ZERO_EXTEND + || GET_CODE (dest) == SIGN_EXTEND) + dest = XEXP (dest, 0); if (GET_CODE (src) == SUBREG) src = SUBREG_REG (src); if (GET_CODE (dest) == SUBREG) -- cgit v1.1