OSDN Git Service

Add missing built-in support for 750CL ps_sel instruction
[pf3gnuchains/gcc-fork.git] / gcc / config / m32c / minmax.md
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   )