diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-20 23:27:02 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-20 23:27:02 +0000 |
commit | 85c84d5c59d48b488efa17d1697a2069c042eed7 (patch) | |
tree | 49956253fc931fdfea43fb640512022daf032ae2 /gcc/config/m32c/minmax.md | |
parent | 05ba8e7a1b29eca22eb553bc0d2c81158c06c9ee (diff) | |
download | gcc-85c84d5c59d48b488efa17d1697a2069c042eed7.tar.gz |
* config.gcc: Add m32c-elf support.
* doc/contrib.texi: Mention m32c.
* doc/extend.texi: Document m32c extensions.
* doc/install.texi: Mention m32c.
* doc/invoke.texi: Document m32c options.
* doc/md.texi: Document m32c constraints.
* config/m32c/addsub.md: New file.
* config/m32c/bitops.md: New file.
* config/m32c/cond.md: New file.
* config/m32c/jump.md: New file.
* config/m32c/m32c-lib1.S: New file.
* config/m32c/m32c-lib2.c: New file.
* config/m32c/m32c-modes.def: New file.
* config/m32c/m32c-pragma.c: New file.
* config/m32c/m32c-protos.h: New file.
* config/m32c/m32c.abi: New file.
* config/m32c/m32c.c: New file.
* config/m32c/m32c.h: New file.
* config/m32c/m32c.md: New file.
* config/m32c/m32c.opt: New file.
* config/m32c/minmax.md: New file.
* config/m32c/mov.md: New file.
* config/m32c/muldiv.md: New file.
* config/m32c/predicates.md: New file.
* config/m32c/prologue.md: New file.
* config/m32c/shift.md: New file.
* config/m32c/t-m32c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102207 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m32c/minmax.md')
-rw-r--r-- | gcc/config/m32c/minmax.md | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gcc/config/m32c/minmax.md b/gcc/config/m32c/minmax.md new file mode 100644 index 00000000000..de0ea4f20df --- /dev/null +++ b/gcc/config/m32c/minmax.md @@ -0,0 +1,55 @@ +;; Machine Descriptions for R8C/M16C/M32C +;; Copyright (C) 2005 +;; Free Software Foundation, Inc. +;; Contributed by Red Hat. +;; +;; This file is part of GCC. +;; +;; GCC is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published +;; by the Free Software Foundation; either version 2, or (at your +;; option) any later version. +;; +;; GCC is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +;; License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GCC; see the file COPYING. If not, write to the Free +;; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +;; 02110-1301, USA. + +;; min, max + +(define_insn "sminqi3" + [(set (match_operand:QI 0 "mra_operand" "=RhlSd,RhlSd,??Rmm,??Rmm,Raa,Raa") + (smin:QI (match_operand:QI 1 "mra_operand" "%0,0,0,0,0,0") + (match_operand:QI 2 "mrai_operand" "iRhlSdRaa,?Rmm,iRhlSdRaa,?Rmm,iRhlSd,?Rmm")))] + "TARGET_A24" + "min.b\t%2,%0" + ) + +(define_insn "sminhi3" + [(set (match_operand:HI 0 "mra_operand" "=RhiSd,RhiSd,??Rmm,??Rmm") + (smin:HI (match_operand:HI 1 "mra_operand" "%0,0,0,0") + (match_operand:HI 2 "mrai_operand" "iRhiSd,?Rmm,iRhiSd,?Rmm")))] + "TARGET_A24" + "min.w\t%2,%0" + ) + +(define_insn "smaxqi3" + [(set (match_operand:QI 0 "mra_operand" "=RhlSd,RhlSd,??Rmm,??Rmm,Raa,Raa") + (smax:QI (match_operand:QI 1 "mra_operand" "%0,0,0,0,0,0") + (match_operand:QI 2 "mrai_operand" "iRhlSdRaa,?Rmm,iRhlSdRaa,?Rmm,iRhlSd,?Rmm")))] + "TARGET_A24" + "max.b\t%2,%0" + ) + +(define_insn "smaxhi3" + [(set (match_operand:HI 0 "mra_operand" "=RhiSd,RhiSd,??Rmm,??Rmm") + (smax:HI (match_operand:HI 1 "mra_operand" "%0,0,0,0") + (match_operand:HI 2 "mrai_operand" "iRhiSd,?Rmm,iRhiSd,?Rmm")))] + "TARGET_A24" + "max.w\t%2,%0" + ) |