|
|
8ae002 |
From a6e4fa635fea4576c65747cc4b9e3a1fe9c9911f Mon Sep 17 00:00:00 2001
|
|
|
8ae002 |
From: Stefan Liebler <stli@linux.vnet.ibm.com>
|
|
|
8ae002 |
Date: Mon, 7 Nov 2016 16:12:24 +0100
|
|
|
8ae002 |
Subject: [PATCH 08/17] S390: Use __asm__ instead of asm.
|
|
|
8ae002 |
|
|
|
8ae002 |
upstream commit 31cf39421bae23ffc7b6c6a229e14f8faa41608f
|
|
|
8ae002 |
|
|
|
8ae002 |
This part is a prerequirement for the s390 iconv patches.
|
|
|
8ae002 |
---
|
|
|
8ae002 |
sysdeps/s390/s390-64/utf16-utf32-z9.c | 28 ++++++++++++++--------------
|
|
|
8ae002 |
sysdeps/s390/s390-64/utf8-utf16-z9.c | 28 ++++++++++++++--------------
|
|
|
8ae002 |
sysdeps/s390/s390-64/utf8-utf32-z9.c | 28 ++++++++++++++--------------
|
|
|
8ae002 |
3 files changed, 42 insertions(+), 42 deletions(-)
|
|
|
8ae002 |
|
|
|
8ae002 |
diff --git a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-utf32-z9.c
|
|
|
8ae002 |
index ddc42fe..e6a033d 100644
|
|
|
8ae002 |
--- a/sysdeps/s390/s390-64/utf16-utf32-z9.c
|
|
|
8ae002 |
+++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c
|
|
|
8ae002 |
@@ -163,22 +163,22 @@ gconv_end (struct __gconv_step *data)
|
|
|
8ae002 |
directions. */
|
|
|
8ae002 |
#define HARDWARE_CONVERT(INSTRUCTION) \
|
|
|
8ae002 |
{ \
|
|
|
8ae002 |
- register const unsigned char* pInput asm ("8") = inptr; \
|
|
|
8ae002 |
- register unsigned long long inlen asm ("9") = inend - inptr; \
|
|
|
8ae002 |
- register unsigned char* pOutput asm ("10") = outptr; \
|
|
|
8ae002 |
- register unsigned long long outlen asm("11") = outend - outptr; \
|
|
|
8ae002 |
+ register const unsigned char* pInput __asm__ ("8") = inptr; \
|
|
|
8ae002 |
+ register unsigned long long inlen __asm__ ("9") = inend - inptr; \
|
|
|
8ae002 |
+ register unsigned char* pOutput __asm__ ("10") = outptr; \
|
|
|
8ae002 |
+ register unsigned long long outlen __asm__("11") = outend - outptr; \
|
|
|
8ae002 |
uint64_t cc = 0; \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
- asm volatile (".machine push \n\t" \
|
|
|
8ae002 |
- ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
- "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
- ".machine pop \n\t" \
|
|
|
8ae002 |
- " jo 0b \n\t" \
|
|
|
8ae002 |
- " ipm %2 \n" \
|
|
|
8ae002 |
- : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
- "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
- : \
|
|
|
8ae002 |
- : "cc", "memory"); \
|
|
|
8ae002 |
+ __asm__ volatile (".machine push \n\t" \
|
|
|
8ae002 |
+ ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
+ "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
+ ".machine pop \n\t" \
|
|
|
8ae002 |
+ " jo 0b \n\t" \
|
|
|
8ae002 |
+ " ipm %2 \n" \
|
|
|
8ae002 |
+ : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
+ "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
+ : \
|
|
|
8ae002 |
+ : "cc", "memory"); \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
inptr = pInput; \
|
|
|
8ae002 |
outptr = pOutput; \
|
|
|
8ae002 |
diff --git a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-utf16-z9.c
|
|
|
8ae002 |
index 2c2d92c..6dad1c2 100644
|
|
|
8ae002 |
--- a/sysdeps/s390/s390-64/utf8-utf16-z9.c
|
|
|
8ae002 |
+++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c
|
|
|
8ae002 |
@@ -145,22 +145,22 @@ gconv_end (struct __gconv_step *data)
|
|
|
8ae002 |
directions. */
|
|
|
8ae002 |
#define HARDWARE_CONVERT(INSTRUCTION) \
|
|
|
8ae002 |
{ \
|
|
|
8ae002 |
- register const unsigned char* pInput asm ("8") = inptr; \
|
|
|
8ae002 |
- register unsigned long long inlen asm ("9") = inend - inptr; \
|
|
|
8ae002 |
- register unsigned char* pOutput asm ("10") = outptr; \
|
|
|
8ae002 |
- register unsigned long long outlen asm("11") = outend - outptr; \
|
|
|
8ae002 |
+ register const unsigned char* pInput __asm__ ("8") = inptr; \
|
|
|
8ae002 |
+ register unsigned long long inlen __asm__ ("9") = inend - inptr; \
|
|
|
8ae002 |
+ register unsigned char* pOutput __asm__ ("10") = outptr; \
|
|
|
8ae002 |
+ register unsigned long long outlen __asm__("11") = outend - outptr; \
|
|
|
8ae002 |
uint64_t cc = 0; \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
- asm volatile (".machine push \n\t" \
|
|
|
8ae002 |
- ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
- "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
- ".machine pop \n\t" \
|
|
|
8ae002 |
- " jo 0b \n\t" \
|
|
|
8ae002 |
- " ipm %2 \n" \
|
|
|
8ae002 |
- : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
- "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
- : \
|
|
|
8ae002 |
- : "cc", "memory"); \
|
|
|
8ae002 |
+ __asm__ volatile (".machine push \n\t" \
|
|
|
8ae002 |
+ ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
+ "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
+ ".machine pop \n\t" \
|
|
|
8ae002 |
+ " jo 0b \n\t" \
|
|
|
8ae002 |
+ " ipm %2 \n" \
|
|
|
8ae002 |
+ : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
+ "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
+ : \
|
|
|
8ae002 |
+ : "cc", "memory"); \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
inptr = pInput; \
|
|
|
8ae002 |
outptr = pOutput; \
|
|
|
8ae002 |
diff --git a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-utf32-z9.c
|
|
|
8ae002 |
index c582155..721279e 100644
|
|
|
8ae002 |
--- a/sysdeps/s390/s390-64/utf8-utf32-z9.c
|
|
|
8ae002 |
+++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c
|
|
|
8ae002 |
@@ -149,22 +149,22 @@ gconv_end (struct __gconv_step *data)
|
|
|
8ae002 |
directions. */
|
|
|
8ae002 |
#define HARDWARE_CONVERT(INSTRUCTION) \
|
|
|
8ae002 |
{ \
|
|
|
8ae002 |
- register const unsigned char* pInput asm ("8") = inptr; \
|
|
|
8ae002 |
- register unsigned long long inlen asm ("9") = inend - inptr; \
|
|
|
8ae002 |
- register unsigned char* pOutput asm ("10") = outptr; \
|
|
|
8ae002 |
- register unsigned long long outlen asm("11") = outend - outptr; \
|
|
|
8ae002 |
+ register const unsigned char* pInput __asm__ ("8") = inptr; \
|
|
|
8ae002 |
+ register unsigned long long inlen __asm__ ("9") = inend - inptr; \
|
|
|
8ae002 |
+ register unsigned char* pOutput __asm__ ("10") = outptr; \
|
|
|
8ae002 |
+ register unsigned long long outlen __asm__("11") = outend - outptr; \
|
|
|
8ae002 |
uint64_t cc = 0; \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
- asm volatile (".machine push \n\t" \
|
|
|
8ae002 |
- ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
- "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
- ".machine pop \n\t" \
|
|
|
8ae002 |
- " jo 0b \n\t" \
|
|
|
8ae002 |
- " ipm %2 \n" \
|
|
|
8ae002 |
- : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
- "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
- : \
|
|
|
8ae002 |
- : "cc", "memory"); \
|
|
|
8ae002 |
+ __asm__ volatile (".machine push \n\t" \
|
|
|
8ae002 |
+ ".machine \"z9-109\" \n\t" \
|
|
|
8ae002 |
+ "0: " INSTRUCTION " \n\t" \
|
|
|
8ae002 |
+ ".machine pop \n\t" \
|
|
|
8ae002 |
+ " jo 0b \n\t" \
|
|
|
8ae002 |
+ " ipm %2 \n" \
|
|
|
8ae002 |
+ : "+a" (pOutput), "+a" (pInput), "+d" (cc), \
|
|
|
8ae002 |
+ "+d" (outlen), "+d" (inlen) \
|
|
|
8ae002 |
+ : \
|
|
|
8ae002 |
+ : "cc", "memory"); \
|
|
|
8ae002 |
\
|
|
|
8ae002 |
inptr = pInput; \
|
|
|
8ae002 |
outptr = pOutput; \
|
|
|
8ae002 |
--
|
|
|
8ae002 |
1.8.3.1
|
|
|
8ae002 |
|