1;; S390 TPF-OS specific machine patterns
2;; Copyright (C) 2005-2022 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 3, or (at your option)
9;; any later version.
10;;
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.
15;;
16;; You should have received a copy of the GNU General Public License
17;; along with GCC; see the file COPYING3.  If not see
18;; <http://www.gnu.org/licenses/>.
19
20(define_insn "prologue_tpf"
21  [(unspec_volatile [(match_operand 0 "const_int_operand" "J")
22                         (match_operand 1 "const_int_operand" "J")]
23                        UNSPECV_TPF_PROLOGUE)
24   (clobber (reg:DI 1))
25   (clobber (reg:CC CC_REGNUM))]
26  "TARGET_TPF_PROFILING"
27  "larl\t%%r1,.+14\;tm\t%0,255\;bnz\t%1"
28  [(set_attr "length"   "14")])
29
30
31(define_insn "epilogue_tpf"
32  [(unspec_volatile [(match_operand 0 "const_int_operand" "J")
33                         (match_operand 1 "const_int_operand" "J")]
34                        UNSPECV_TPF_EPILOGUE)
35   (clobber (reg:DI 1))
36   (clobber (reg:CC CC_REGNUM))]
37  "TARGET_TPF_PROFILING"
38  "larl\t%%r1,.+14\;tm\t%0,255\;bnz\t%1"
39  [(set_attr "length"   "14")])
40