aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-07-10 20:03:06 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-07-10 20:03:06 -0400
commitf07064d38b93bdd383feb78f4c226d9023453ff2 (patch)
treef31ce895048fceb677d3fb37cce10849895a86cc /gcc
parent07516036197ed7b8eeabc11bac334d9a5212cb85 (diff)
downloadgcc-f07064d38b93bdd383feb78f4c226d9023453ff2.zip
gcc-f07064d38b93bdd383feb78f4c226d9023453ff2.tar.gz
gcc-f07064d38b93bdd383feb78f4c226d9023453ff2.tar.bz2
(matcher for (shiftable_op (cond-exp) (reg))): If shiftable_op is
minus, then subtract from zero when cond fails. From-SVN: r10115
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index db8a357..2ccc61e 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -4114,6 +4114,8 @@
output_asm_insn (\"cmp\\t%2, %3\", operands);
if (GET_CODE (operands[5]) == AND)
output_asm_insn (\"mov%D4\\t%0, #0\", operands);
+ else if (GET_CODE (operands[5]) == MINUS)
+ output_asm_insn (\"rsb%D4\\t%0, %1, #0\", operands);
else if (which_alternative != 0)
output_asm_insn (\"mov%D4\\t%0, %1\", operands);
return \"%i5%d4\\t%0, %1, #1\";