summaryrefslogtreecommitdiffstats
path: root/crypto/s390xcpuid.S
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2010-09-18 08:46:53 +0000
committerAndy Polyakov <appro@openssl.org>2010-09-18 08:46:53 +0000
commit90ba3a28f8701bc2a97b963d96c8293838d8d08b (patch)
tree5a05d0975639786698ccba0da09f665c438aa4f5 /crypto/s390xcpuid.S
parentbc9092f726fa0801b196ca5f47c824bee3b33251 (diff)
s390x assembler pack: extend OPENSSL_s390xcap_P to 128 bits.
Diffstat (limited to 'crypto/s390xcpuid.S')
-rw-r--r--crypto/s390xcpuid.S14
1 files changed, 9 insertions, 5 deletions
diff --git a/crypto/s390xcpuid.S b/crypto/s390xcpuid.S
index b053c6a281..82312d8b4e 100644
--- a/crypto/s390xcpuid.S
+++ b/crypto/s390xcpuid.S
@@ -5,10 +5,14 @@
.align 16
OPENSSL_s390x_facilities:
lghi %r0,0
- .long 0xb2b0f010 # stfle 16(%r15)
- lg %r2,16(%r15)
- larl %r1,OPENSSL_s390xcap_P
- stg %r2,0(%r1)
+ larl %r2,OPENSSL_s390xcap_P
+ stg %r0,8(%r2)
+ .long 0xb2b02000 # stfle 0(%r2)
+ brc 8,.Ldone
+ lghi %r0,1
+ .long 0xb2b02000 # stfle 0(%r2)
+.Ldone:
+ lg %r2,0(%r2)
br %r14
.size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities
@@ -89,4 +93,4 @@ OPENSSL_cleanse:
.section .init
brasl %r14,OPENSSL_cpuid_setup
-.comm OPENSSL_s390xcap_P,8,8
+.comm OPENSSL_s390xcap_P,16,8