aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2004-05-31 23:34:26 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2004-05-31 21:34:26 +0000
commita4a90b847aac34b2cbede88ffeef45343214d066 (patch)
treed91d56afe424dca67642ecfc22d5d221aeaf7799 /gcc/config/sparc/sparc.h
parentc8b2e872a83dd3869ffc4443201a1f3096bc3a6c (diff)
downloadgcc-a4a90b847aac34b2cbede88ffeef45343214d066.zip
gcc-a4a90b847aac34b2cbede88ffeef45343214d066.tar.gz
gcc-a4a90b847aac34b2cbede88ffeef45343214d066.tar.bz2
re PR target/15693 (ICE - unrecognizable insn)
PR target/15693 * config/sparc/sparc.c (compare_operand): New predicate. * config/sparc/sparc.h (PREDICATE_CODES): Add it. * config/sparc/sparc.md (cmpsi expander): Use it. If the first operand is a ZERO_EXTRACT and the second operand is not zero, force the former to a register. (cmpdi expander): Likewise. From-SVN: r82500
Diffstat (limited to 'gcc/config/sparc/sparc.h')
-rw-r--r--gcc/config/sparc/sparc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 33c1256..3e0b1c9 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -2612,6 +2612,7 @@ do { \
{"uns_arith_operand", {SUBREG, REG, CONST_INT}}, \
{"clobbered_register", {REG}}, \
{"input_operand", {SUBREG, REG, CONST_INT, MEM, CONST}}, \
+{"compare_operand", {SUBREG, REG, ZERO_EXTRACT}}, \
{"const64_operand", {CONST_INT, CONST_DOUBLE}}, \
{"const64_high_operand", {CONST_INT, CONST_DOUBLE}}, \
{"tgd_symbolic_operand", {SYMBOL_REF}}, \