Sync usage with man page.
[netbsd-mini2440.git] / gnu / dist / gcc4 / gcc / config / vax / builtins.md
blob4230b12f0d3f6fe2ce6464edfbc47a330260b44a
1 ;; builtin definitions for DEC VAX.
2 ;; Copyright (C) 2007 Free Software Foundation, Inc.
3 ;;
4 ;; This file is part of GCC.
5 ;;
6 ;; GCC is free software; you can redistribute it and/or modify
7 ;; it under the terms of the GNU General Public License as published by
8 ;; the Free Software Foundation; either version 2, or (at your option)
9 ;; any later version.
11 ;; GCC is distributed in the hope that it will be useful,
12 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ;; GNU General Public License for more details.
16 ;; You should have received a copy of the GNU General Public License
17 ;; along with GCC; see the file COPYING.  If not, write to
18 ;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
19 ;; Boston, MA 02110-1301, USA.
21 (define_expand "ffssi2"
22   [(set (match_operand:SI 0 "nonimmediate_operand" "")
23         (ffs:SI (match_operand:SI 1 "general_operand" "")))]
24   ""
25   "
27   rtx label = gen_label_rtx ();
28   emit_insn (gen_ffssi2_internal (operands[0], operands[1], operands[0]));
29   emit_jump_insn (gen_bne (label));
30   emit_insn (gen_negsi2 (operands[0], const1_rtx));
31   emit_label (label);
32   emit_insn (gen_addsi3 (operands[0], operands[0], const1_rtx));
33   DONE;
34 }")
36 (define_insn "ffssi2_internal"
37   [(set (match_operand:SI 0 "nonimmediate_operand" "=g")
38         (ffs:SI (match_operand:SI 1 "general_operand" "nrQ")))
39    (set (cc0) (match_operand:SI 2 "nonimmediate_operand" "0"))]
40   ""
41   "ffs $0,$32,%1,%0")