diff options
author | Richard Henderson <rth@redhat.com> | 2011-01-12 09:53:50 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-01-12 09:53:50 -0800 |
commit | f3d9d2e0600f84dec5608464c93f4f6f68649ee5 (patch) | |
tree | f7f2aa424227f2018f4e545d47d8d400069d7a84 /gcc | |
parent | d84760c980076e1be72867dfcdc4cd1c92db2ff5 (diff) | |
download | gcc-f3d9d2e0600f84dec5608464c93f4f6f68649ee5.zip gcc-f3d9d2e0600f84dec5608464c93f4f6f68649ee5.tar.gz gcc-f3d9d2e0600f84dec5608464c93f4f6f68649ee5.tar.bz2 |
mn10300: Add clzsi2.
From-SVN: r168723
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.md | 24 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8255b41..690b114 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2011-01-12 Richard Henderson <rth@redhat.com> + * config/mn10300/mn10300.md (UNSPEC_BSCH): New. + (clzsi2, *bsch): New patterns. + * config/mn10300/mn10300.md (INT): New mode iterator. (*mov<INT>_clr): New pattern, and peep2 to generate it. diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md index ecabaf9..8ae52c9 100644 --- a/gcc/config/mn10300/mn10300.md +++ b/gcc/config/mn10300/mn10300.md @@ -36,6 +36,8 @@ (UNSPEC_GOTOFF 3) (UNSPEC_PLT 4) (UNSPEC_GOTSYM_OFF 5) + + (UNSPEC_BSCH 7) ]) (include "predicates.md") @@ -2353,6 +2355,28 @@ ) ;; ---------------------------------------------------------------------- +;; MISCELANEOUS +;; ---------------------------------------------------------------------- + +(define_expand "clzsi2" + [(parallel [(set (match_operand:SI 0 "register_operand" "") + (unspec:SI [(match_operand:SI 1 "register_operand" "") + (const_int 0)] UNSPEC_BSCH)) + (clobber (reg:CC CC_REG))])] + "TARGET_AM33" +) + +(define_insn "*bsch" + [(set (match_operand:SI 0 "register_operand" "=r") + (unspec:SI [(match_operand:SI 1 "register_operand" "r") + (match_operand:SI 2 "nonmemory_operand" "0")] + UNSPEC_BSCH)) + (clobber (reg:CC CC_REG))] + "TARGET_AM33" + "bsch %1,%0" +) + +;; ---------------------------------------------------------------------- ;; FP INSTRUCTIONS ;; ---------------------------------------------------------------------- |