diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-02-10 22:45:39 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-02-10 22:45:39 +0000 |
commit | 2a4e6df4ce3e3b4048dce3041686331e885915fd (patch) | |
tree | 42a804dbd702b73f353b6738116385a6ed0b2aab | |
parent | 411e27598dd82938c1b12359359f1b2351ebeb02 (diff) | |
download | gcc-2a4e6df4ce3e3b4048dce3041686331e885915fd.zip gcc-2a4e6df4ce3e3b4048dce3041686331e885915fd.tar.gz gcc-2a4e6df4ce3e3b4048dce3041686331e885915fd.tar.bz2 |
h8300.md (abssf2): New.
* config/h8300/h8300.md (abssf2): New.
(*abssf2_h8300): Likewise.
(*abssf2_h8300hs): Likewise.
From-SVN: r62654
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.md | 26 |
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cf7897e..ab101b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-02-10 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md (abssf2): New. + (*abssf2_h8300): Likewise. + (*abssf2_h8300hs): Likewise. + 2003-02-10 Phil Edwards <pme@gcc.gnu.org> * tree.c (build_tree_list): Fix parameter names in comment. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index 808b53f..69e2f72 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -1437,7 +1437,33 @@ "xor.w\\t#32768,%e0" [(set_attr "cc" "clobber") (set_attr "length" "4")]) + +;; ---------------------------------------------------------------------- +;; ABSOLUTE VALUE INSTRUCTIONS +;; ---------------------------------------------------------------------- +(define_expand "abssf2" + [(set (match_operand:SF 0 "register_operand" "") + (abs:SF (match_operand:SF 1 "register_operand" "")))] + "" + "") + +(define_insn "*abssf2_h8300" + [(set (match_operand:SF 0 "register_operand" "=r") + (abs:SF (match_operand:SF 1 "register_operand" "0")))] + "TARGET_H8300" + "and.b\\t#127,%z0" + [(set_attr "cc" "clobber") + (set_attr "length" "2")]) + +(define_insn "*abssf2_h8300hs" + [(set (match_operand:SF 0 "register_operand" "=r") + (abs:SF (match_operand:SF 1 "register_operand" "0")))] + "TARGET_H8300H || TARGET_H8300S" + "and.w\\t#32767,%e0" + [(set_attr "cc" "clobber") + (set_attr "length" "4")]) + ;; ---------------------------------------------------------------------- ;; NOT INSTRUCTIONS ;; ---------------------------------------------------------------------- |