aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoern Rennecke <amylaar@gcc.gnu.org>1996-11-06 03:48:54 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1996-11-06 03:48:54 +0000
commitfc2380b93fff8f0f32b7e8b5d019bb6ed5310b74 (patch)
tree4be5d62cf7b208ac996c6070836698bb8d639f75
parent24c50999b5af9cd09fb72f22d8d1c2f46772df2e (diff)
downloadgcc-fc2380b93fff8f0f32b7e8b5d019bb6ed5310b74.zip
gcc-fc2380b93fff8f0f32b7e8b5d019bb6ed5310b74.tar.gz
gcc-fc2380b93fff8f0f32b7e8b5d019bb6ed5310b74.tar.bz2
(define_split for and_shl_scratch):
Use rtx_equal_p on the operands to find out which alternative is used. From-SVN: r13102
-rw-r--r--gcc/config/sh/sh.md3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 5e99bfd..07bc69a 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1224,12 +1224,11 @@
[(use (reg:SI 0))]
"
{
- rtx and_source = operands[1];
+ rtx and_source = operands[rtx_equal_p (operands[0], operands[1]) ? 3 : 1];
if (INTVAL (operands[2]))
{
gen_shifty_op (LSHIFTRT, operands);
- and_source = operands[3];
}
emit_insn (gen_andsi3 (operands[0], operands[0], and_source));
operands[2] = operands[4];