Use clock_settime to implement stime; withdraw stime.
[glibc.git] / sysdeps / s390 / strcmp-z900.S
blobbc3a58960298b31e370a6dd027c1136b169f4ae4
1 /* strcmp - compare two string.  64 bit S/390 version.
2    This file is part of the GNU C Library.
3    Copyright (C) 2001-2019 Free Software Foundation, Inc.
4    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
11    The GNU C Library 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 GNU
14    Lesser General Public License for more details.
16    You should have received a copy of the GNU Lesser General Public
17    License along with the GNU C Library; if not, see
18    <https://www.gnu.org/licenses/>.  */
20 /* INPUT PARAMETERS
21      %r2 = address of string 1
22      %r3 = address of string 2.  */
24 #include <ifunc-strcmp.h>
25 #include "sysdep.h"
26 #include "asm-syntax.h"
28 #if HAVE_STRCMP_Z900_G5
29 # if defined __s390x__
30 #  define SLGR  slgr
31 #  define LGHI  lghi
32 # else
33 #  define SLGR  slr
34 #  define LGHI  lhi
35 # endif /* ! defined __s390x__  */
37         .text
38 ENTRY(STRCMP_Z900_G5)
39         SLGR   %r0,%r0
40 0:      clst  %r2,%r3
41         jo    0b
42         jp    1f
43         jm    2f
44         SLGR  %r2,%r2
45         br    %r14
46 1:      LGHI  %r2,1
47         br    %r14
48 2:      LGHI  %r2,-1
49         br    %r14
50 END(STRCMP_Z900_G5)
52 # if ! HAVE_STRCMP_IFUNC
53 strong_alias (STRCMP_Z900_G5, strcmp)
54 # endif
56 # if defined SHARED && IS_IN (libc)
57 strong_alias (STRCMP_Z900_G5, __GI_strcmp)
58 # endif
59 #endif