xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/m32c/minmax.md (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1;; Machine Descriptions for R8C/M16C/M32C
2;; Copyright (C) 2005, 2007
3;; Free Software Foundation, Inc.
4;; Contributed by Red Hat.
5;;
6;; This file is part of GCC.
7;;
8;; GCC is free software; you can redistribute it and/or modify it
9;; under the terms of the GNU General Public License as published
10;; by the Free Software Foundation; either version 3, or (at your
11;; option) any later version.
12;;
13;; GCC is distributed in the hope that it will be useful, but WITHOUT
14;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16;; License for more details.
17;;
18;; You should have received a copy of the GNU General Public License
19;; along with GCC; see the file COPYING3.  If not see
20;; <http://www.gnu.org/licenses/>.
21
22;; min, max
23
24(define_insn "sminqi3"
25  [(set (match_operand:QI 0 "mra_operand" "=RhlSd,RhlSd,??Rmm,??Rmm,Raa,Raa")
26	(smin:QI (match_operand:QI 1 "mra_operand" "%0,0,0,0,0,0")
27		 (match_operand:QI 2 "mrai_operand" "iRhlSdRaa,?Rmm,iRhlSdRaa,?Rmm,iRhlSd,?Rmm")))]
28  "TARGET_A24"
29  "min.b\t%2,%0"
30  [(set_attr "flags" "n")]
31  )
32
33(define_insn "sminhi3"
34  [(set (match_operand:HI 0 "mra_operand" "=RhiSd,RhiSd,??Rmm,??Rmm")
35	(smin:HI (match_operand:HI 1 "mra_operand" "%0,0,0,0")
36		 (match_operand:HI 2 "mrai_operand" "iRhiSd,?Rmm,iRhiSd,?Rmm")))]
37  "TARGET_A24"
38  "min.w\t%2,%0"
39  [(set_attr "flags" "n")]
40  )
41
42(define_insn "smaxqi3"
43  [(set (match_operand:QI 0 "mra_operand" "=RhlSd,RhlSd,??Rmm,??Rmm,Raa,Raa")
44	(smax:QI (match_operand:QI 1 "mra_operand" "%0,0,0,0,0,0")
45		 (match_operand:QI 2 "mrai_operand" "iRhlSdRaa,?Rmm,iRhlSdRaa,?Rmm,iRhlSd,?Rmm")))]
46  "TARGET_A24"
47  "max.b\t%2,%0"
48  [(set_attr "flags" "n")]
49  )
50
51(define_insn "smaxhi3"
52  [(set (match_operand:HI 0 "mra_operand" "=RhiSd,RhiSd,??Rmm,??Rmm")
53	(smax:HI (match_operand:HI 1 "mra_operand" "%0,0,0,0")
54		 (match_operand:HI 2 "mrai_operand" "iRhiSd,?Rmm,iRhiSd,?Rmm")))]
55  "TARGET_A24"
56  "max.w\t%2,%0"
57  [(set_attr "flags" "n")]
58  )
59