diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2021-12-16 19:28:20 +0100 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2021-12-20 10:21:55 +0100 |
commit | 39d02827ed40fd421a758a36264c255d69f5d035 (patch) | |
tree | 69f8ab0c88b73bf6ff5364ea1d37a8104e725430 /arch/s390/crypto | |
parent | 4c88bb96e40b757f4796f70a4a7507df554467c4 (diff) | |
download | linux-39d02827ed40fd421a758a36264c255d69f5d035.tar.gz linux-39d02827ed40fd421a758a36264c255d69f5d035.tar.bz2 linux-39d02827ed40fd421a758a36264c255d69f5d035.zip |
s390/crypto: fix compile error for ChaCha20 module
The clgfi instruction used within the ChaCha20 assembly is only
available for z9-109 and newer machines, and therefore this will
generate a compile error if compiled e.g. with MARCH_Z900.
Given that the assembler code will only be executed on machines with
vector instructions, which became much later available than z9-109,
use insn notation to generate the clgfi instruction, and avoid compile
errors due to unknown instructions.
Fixes: b087dfab4d39 ("s390/crypto: add SIMD implementation for ChaCha20")
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/crypto')
-rw-r--r-- | arch/s390/crypto/chacha-s390.S | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/s390/crypto/chacha-s390.S b/arch/s390/crypto/chacha-s390.S index 9b033622191c..badf5c49717d 100644 --- a/arch/s390/crypto/chacha-s390.S +++ b/arch/s390/crypto/chacha-s390.S @@ -312,7 +312,7 @@ ENTRY(chacha20_vx_4x) VPERM XC0,XC0,XC0,BEPERM VPERM XD0,XD0,XD0,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_4x VLM XT0,XT3,0,INP,0 @@ -339,7 +339,7 @@ ENTRY(chacha20_vx_4x) VPERM XC0,XC0,XC0,BEPERM VPERM XD0,XD0,XD0,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_4x VLM XT0,XT3,0,INP,0 @@ -366,7 +366,7 @@ ENTRY(chacha20_vx_4x) VPERM XC0,XC0,XC0,BEPERM VPERM XD0,XD0,XD0,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_4x VLM XT0,XT3,0,INP,0 @@ -472,7 +472,7 @@ ENDPROC(chacha20_vx_4x) #define T3 %v30 ENTRY(chacha20_vx) - clgfi LEN,256 + .insn rilu,0xc20e00000000,LEN,256 # clgfi LEN,256 jle chacha20_vx_4x stmg %r6,%r7,6*8(SP) @@ -725,7 +725,7 @@ ENTRY(chacha20_vx) VPERM C0,C0,C0,BEPERM VPERM D0,D0,D0,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VAF D2,D2,T2 # +K[3]+2 @@ -754,7 +754,7 @@ ENTRY(chacha20_vx) VPERM C0,C1,C1,BEPERM VPERM D0,D1,D1,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VLM A1,D1,0,INP,0 @@ -780,7 +780,7 @@ ENTRY(chacha20_vx) VPERM C0,C2,C2,BEPERM VPERM D0,D2,D2,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VLM A1,D1,0,INP,0 @@ -807,7 +807,7 @@ ENTRY(chacha20_vx) VPERM C0,C3,C3,BEPERM VPERM D0,D3,D3,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VAF D3,D2,T1 # K[3]+4 @@ -837,7 +837,7 @@ ENTRY(chacha20_vx) VPERM C0,C4,C4,BEPERM VPERM D0,D4,D4,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VLM A1,D1,0,INP,0 @@ -864,7 +864,7 @@ ENTRY(chacha20_vx) VPERM C0,C5,C5,BEPERM VPERM D0,D5,D5,BEPERM - clgfi LEN,0x40 + .insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40 jl .Ltail_vx VLM A1,D1,0,INP,0 |