summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.md
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-19 13:34:59 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-19 13:34:59 +0000
commitafc78fc626220619b70051030a1096945ad93e73 (patch)
tree2d282a29fb31bb7a9465bb7f14d848ea31f9af9c /gcc/config/m68k/m68k.md
parent9b84b1a02fcbc02d79ae96d975f49e0a47f62ff7 (diff)
downloadgcc-afc78fc626220619b70051030a1096945ad93e73.tar.gz
gcc/
200x-xx-xx Sandra Loosemore <sandra@codesourcery.com> * longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add ColdFire alternatives. * config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro. * config/m68k/m68k.md (clzsi2): Define for ColdFire architectures that support ff1 instruction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120959 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.md')
-rw-r--r--gcc/config/m68k/m68k.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index c953ec2d434..b3e72e78a40 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -3961,6 +3961,15 @@
return "f<FP:prec>abs%.<FP:prec> %1,%0";
})
+;; bit indexing instructions
+
+;; ColdFire ff1 instruction implements clz.
+(define_insn "clzsi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (clz:SI (match_operand:SI 1 "register_operand" "0")))]
+ "TARGET_ISAAPLUS || TARGET_ISAC"
+ "ff1 %0")
+
;; one complement instructions
;; "one_cmpldi2" is mainly here to help combine().