Skip to content

Commit

Permalink
s390: add alignment hints to vector load and store
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Martin Schwidefsky committed Feb 7, 2019
1 parent f8b11e0 commit 142c52d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions arch/s390/include/asm/vx-insn.h
Original file line number Diff line number Diff line change
Expand Up @@ -363,23 +363,23 @@
.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 */
Expand Down

0 comments on commit 142c52d

Please sign in to comment.