Commit 142c52d7 authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390: add alignment hints to vector load and store

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: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent f8b11e08
...@@ -363,23 +363,23 @@ ...@@ -363,23 +363,23 @@
.endm .endm
/* VECTOR LOAD MULTIPLE */ /* VECTOR LOAD MULTIPLE */
.macro VLM vfrom, vto, disp, base .macro VLM vfrom, vto, disp, base, hint=3
VX_NUM v1, \vfrom VX_NUM v1, \vfrom
VX_NUM v3, \vto VX_NUM v3, \vto
GR_NUM b2, \base /* Base register */ GR_NUM b2, \base /* Base register */
.word 0xE700 | ((v1&15) << 4) | (v3&15) .word 0xE700 | ((v1&15) << 4) | (v3&15)
.word (b2 << 12) | (\disp) .word (b2 << 12) | (\disp)
MRXBOPC 0, 0x36, v1, v3 MRXBOPC \hint, 0x36, v1, v3
.endm .endm
/* VECTOR STORE MULTIPLE */ /* VECTOR STORE MULTIPLE */
.macro VSTM vfrom, vto, disp, base .macro VSTM vfrom, vto, disp, base, hint=3
VX_NUM v1, \vfrom VX_NUM v1, \vfrom
VX_NUM v3, \vto VX_NUM v3, \vto
GR_NUM b2, \base /* Base register */ GR_NUM b2, \base /* Base register */
.word 0xE700 | ((v1&15) << 4) | (v3&15) .word 0xE700 | ((v1&15) << 4) | (v3&15)
.word (b2 << 12) | (\disp) .word (b2 << 12) | (\disp)
MRXBOPC 0, 0x3E, v1, v3 MRXBOPC \hint, 0x3E, v1, v3
.endm .endm
/* VECTOR PERMUTE */ /* VECTOR PERMUTE */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment