Skip to content

Commit 39d0282

Browse files
committed
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: b087dfa ("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>
1 parent 4c88bb9 commit 39d0282

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

arch/s390/crypto/chacha-s390.S

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ ENTRY(chacha20_vx_4x)
312312
VPERM XC0,XC0,XC0,BEPERM
313313
VPERM XD0,XD0,XD0,BEPERM
314314

315-
clgfi LEN,0x40
315+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
316316
jl .Ltail_4x
317317

318318
VLM XT0,XT3,0,INP,0
@@ -339,7 +339,7 @@ ENTRY(chacha20_vx_4x)
339339
VPERM XC0,XC0,XC0,BEPERM
340340
VPERM XD0,XD0,XD0,BEPERM
341341

342-
clgfi LEN,0x40
342+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
343343
jl .Ltail_4x
344344

345345
VLM XT0,XT3,0,INP,0
@@ -366,7 +366,7 @@ ENTRY(chacha20_vx_4x)
366366
VPERM XC0,XC0,XC0,BEPERM
367367
VPERM XD0,XD0,XD0,BEPERM
368368

369-
clgfi LEN,0x40
369+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
370370
jl .Ltail_4x
371371

372372
VLM XT0,XT3,0,INP,0
@@ -472,7 +472,7 @@ ENDPROC(chacha20_vx_4x)
472472
#define T3 %v30
473473

474474
ENTRY(chacha20_vx)
475-
clgfi LEN,256
475+
.insn rilu,0xc20e00000000,LEN,256 # clgfi LEN,256
476476
jle chacha20_vx_4x
477477
stmg %r6,%r7,6*8(SP)
478478

@@ -725,7 +725,7 @@ ENTRY(chacha20_vx)
725725
VPERM C0,C0,C0,BEPERM
726726
VPERM D0,D0,D0,BEPERM
727727

728-
clgfi LEN,0x40
728+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
729729
jl .Ltail_vx
730730

731731
VAF D2,D2,T2 # +K[3]+2
@@ -754,7 +754,7 @@ ENTRY(chacha20_vx)
754754
VPERM C0,C1,C1,BEPERM
755755
VPERM D0,D1,D1,BEPERM
756756

757-
clgfi LEN,0x40
757+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
758758
jl .Ltail_vx
759759

760760
VLM A1,D1,0,INP,0
@@ -780,7 +780,7 @@ ENTRY(chacha20_vx)
780780
VPERM C0,C2,C2,BEPERM
781781
VPERM D0,D2,D2,BEPERM
782782

783-
clgfi LEN,0x40
783+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
784784
jl .Ltail_vx
785785

786786
VLM A1,D1,0,INP,0
@@ -807,7 +807,7 @@ ENTRY(chacha20_vx)
807807
VPERM C0,C3,C3,BEPERM
808808
VPERM D0,D3,D3,BEPERM
809809

810-
clgfi LEN,0x40
810+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
811811
jl .Ltail_vx
812812

813813
VAF D3,D2,T1 # K[3]+4
@@ -837,7 +837,7 @@ ENTRY(chacha20_vx)
837837
VPERM C0,C4,C4,BEPERM
838838
VPERM D0,D4,D4,BEPERM
839839

840-
clgfi LEN,0x40
840+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
841841
jl .Ltail_vx
842842

843843
VLM A1,D1,0,INP,0
@@ -864,7 +864,7 @@ ENTRY(chacha20_vx)
864864
VPERM C0,C5,C5,BEPERM
865865
VPERM D0,D5,D5,BEPERM
866866

867-
clgfi LEN,0x40
867+
.insn rilu,0xc20e00000000,LEN,0x40 # clgfi LEN,0x40
868868
jl .Ltail_vx
869869

870870
VLM A1,D1,0,INP,0

0 commit comments

Comments
 (0)