diff options
author | Torbjorn Granlund <tege@gnu.org> | 1995-12-14 23:08:23 +0000 |
---|---|---|
committer | Torbjorn Granlund <tege@gnu.org> | 1995-12-14 23:08:23 +0000 |
commit | 3f6ddf545624fb08c1a08de0611d00e470140ae7 (patch) | |
tree | 7e71d6f4efe39a715405df108baa10e7a063a286 /gcc | |
parent | 226a50517f06ecf64f8092bfa34feb5feca2ac2a (diff) | |
download | gcc-3f6ddf545624fb08c1a08de0611d00e470140ae7.zip gcc-3f6ddf545624fb08c1a08de0611d00e470140ae7.tar.gz gcc-3f6ddf545624fb08c1a08de0611d00e470140ae7.tar.bz2 |
(ashrsi_31): New pattern.
From-SVN: r10721
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/m68k.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 1f243ac..98d8602 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -4347,6 +4347,18 @@ FAIL; } ") +;; On all 68k models, this makes faster code in a special case. + +(define_insn "ashrsi_31" + [(set (match_operand:SI 0 "register_operand" "=d") + (ashiftrt:SI (match_operand:SI 1 "register_operand" "0") + (const_int 31)))] + "" + "* +{ + return \"add%.l %0,%0\;subx%.l %0,%0\"; +}") + (define_insn "ashrsi3" [(set (match_operand:SI 0 "register_operand" "=d") (ashiftrt:SI (match_operand:SI 1 "register_operand" "0") |