summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/s390/s390-64/utf16-utf32-z9.c5
-rw-r--r--sysdeps/s390/s390-64/utf8-utf16-z9.c5
-rw-r--r--sysdeps/s390/s390-64/utf8-utf32-z9.c5
4 files changed, 19 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 99f4b64c4e..b2d2597b25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* sysdeps/s390/s390-64/utf16-utf32-z9.c: Wrap the z9-109
+	instructions into .machine "z9-109".
+	* sysdeps/s390/s390-64/utf8-utf16-z9.c: Likewise.
+	* sysdeps/s390/s390-64/utf8-utf32-z9.c: Likewise.
+
 2011-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
 	* sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes
diff --git a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-utf32-z9.c
index 14daf2118f..5bcaaaedec 100644
--- a/sysdeps/s390/s390-64/utf16-utf32-z9.c
+++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c
@@ -169,7 +169,10 @@ gconv_end (struct __gconv_step *data)
     register unsigned long long outlen asm("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile ("0: " INSTRUCTION "  \n\t"				\
+    asm volatile (".machine push       \n\t"				\
+                  ".machine \"z9-109\" \n\t"				\
+		  "0: " INSTRUCTION "  \n\t"				\
+                  ".machine pop        \n\t"				\
                   "   jo     0b        \n\t"				\
 		  "   ipm    %2        \n"			        \
 		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\
diff --git a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-utf16-z9.c
index 5f73f3c59e..812a42fae4 100644
--- a/sysdeps/s390/s390-64/utf8-utf16-z9.c
+++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c
@@ -151,7 +151,10 @@ gconv_end (struct __gconv_step *data)
     register unsigned long long outlen asm("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile ("0: " INSTRUCTION "  \n\t"				\
+    asm volatile (".machine push       \n\t"				\
+                  ".machine \"z9-109\" \n\t"				\
+		  "0: " INSTRUCTION "  \n\t"				\
+                  ".machine pop        \n\t"				\
                   "   jo     0b        \n\t"				\
 		  "   ipm    %2        \n"			        \
 		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\
diff --git a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-utf32-z9.c
index 17ef8bc890..0ffd848c81 100644
--- a/sysdeps/s390/s390-64/utf8-utf32-z9.c
+++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c
@@ -155,7 +155,10 @@ gconv_end (struct __gconv_step *data)
     register unsigned long long outlen asm("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile ("0: " INSTRUCTION "  \n\t"				\
+    asm volatile (".machine push       \n\t"				\
+                  ".machine \"z9-109\" \n\t"				\
+		  "0: " INSTRUCTION "  \n\t"				\
+                  ".machine pop        \n\t"				\
                   "   jo     0b        \n\t"				\
 		  "   ipm    %2        \n"				\
 		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\