]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
s390: add alignment hints to vector load and store
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 6 Feb 2019 17:06:03 +0000 (18:06 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 7 Feb 2019 10:57:10 +0000 (11:57 +0100)
The z14 introduced alignment hints to increase the performance of
vector loads and stores. The kernel uses an implicit alignmenet
of 8 bytes for the vector registers, set the alignment hint to 3.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/vx-insn.h

index 266a72320e05ed92aaa75b3eef7dcaba679beab3..0c05a673811cee6a1d81096c8a58e4e479b16163 100644 (file)
 .endm
 
 /* VECTOR LOAD MULTIPLE */
-.macro VLM     vfrom, vto, disp, base
+.macro VLM     vfrom, vto, disp, base, hint=3
        VX_NUM  v1, \vfrom
        VX_NUM  v3, \vto
        GR_NUM  b2, \base           /* Base register */
        .word   0xE700 | ((v1&15) << 4) | (v3&15)
        .word   (b2 << 12) | (\disp)
-       MRXBOPC 0, 0x36, v1, v3
+       MRXBOPC \hint, 0x36, v1, v3
 .endm
 
 /* VECTOR STORE MULTIPLE */
-.macro VSTM    vfrom, vto, disp, base
+.macro VSTM    vfrom, vto, disp, base, hint=3
        VX_NUM  v1, \vfrom
        VX_NUM  v3, \vto
        GR_NUM  b2, \base           /* Base register */
        .word   0xE700 | ((v1&15) << 4) | (v3&15)
        .word   (b2 << 12) | (\disp)
-       MRXBOPC 0, 0x3E, v1, v3
+       MRXBOPC \hint, 0x3E, v1, v3
 .endm
 
 /* VECTOR PERMUTE */