]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - tools/testing/selftests/powerpc/include/vsx_asm.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
[mirror_ubuntu-eoan-kernel.git] / tools / testing / selftests / powerpc / include / vsx_asm.h
CommitLineData
2874c5fd 1/* SPDX-License-Identifier: GPL-2.0-or-later */
65ca668f
CB
2/*
3 * Copyright 2015, Cyril Bur, IBM Corp.
65ca668f
CB
4 */
5
6#include "basic_asm.h"
7
8/*
9 * Careful this will 'clobber' vsx (by design), VSX are always
10 * volatile though so unlike vmx this isn't so much of an issue
11 * Still should avoid calling from C
12 */
13FUNC_START(load_vsx)
14 li r5,0
605df8d6 15 lxvd2x vs20,r5,r3
65ca668f 16 addi r5,r5,16
605df8d6 17 lxvd2x vs21,r5,r3
65ca668f 18 addi r5,r5,16
605df8d6 19 lxvd2x vs22,r5,r3
65ca668f 20 addi r5,r5,16
605df8d6 21 lxvd2x vs23,r5,r3
65ca668f 22 addi r5,r5,16
605df8d6 23 lxvd2x vs24,r5,r3
65ca668f 24 addi r5,r5,16
605df8d6 25 lxvd2x vs25,r5,r3
65ca668f 26 addi r5,r5,16
605df8d6 27 lxvd2x vs26,r5,r3
65ca668f 28 addi r5,r5,16
605df8d6 29 lxvd2x vs27,r5,r3
65ca668f 30 addi r5,r5,16
605df8d6 31 lxvd2x vs28,r5,r3
65ca668f 32 addi r5,r5,16
605df8d6 33 lxvd2x vs29,r5,r3
65ca668f 34 addi r5,r5,16
605df8d6 35 lxvd2x vs30,r5,r3
65ca668f 36 addi r5,r5,16
605df8d6 37 lxvd2x vs31,r5,r3
65ca668f
CB
38 blr
39FUNC_END(load_vsx)
40
41FUNC_START(store_vsx)
42 li r5,0
605df8d6 43 stxvd2x vs20,r5,r3
65ca668f 44 addi r5,r5,16
605df8d6 45 stxvd2x vs21,r5,r3
65ca668f 46 addi r5,r5,16
605df8d6 47 stxvd2x vs22,r5,r3
65ca668f 48 addi r5,r5,16
605df8d6 49 stxvd2x vs23,r5,r3
65ca668f 50 addi r5,r5,16
605df8d6 51 stxvd2x vs24,r5,r3
65ca668f 52 addi r5,r5,16
605df8d6 53 stxvd2x vs25,r5,r3
65ca668f 54 addi r5,r5,16
605df8d6 55 stxvd2x vs26,r5,r3
65ca668f 56 addi r5,r5,16
605df8d6 57 stxvd2x vs27,r5,r3
65ca668f 58 addi r5,r5,16
605df8d6 59 stxvd2x vs28,r5,r3
65ca668f 60 addi r5,r5,16
605df8d6 61 stxvd2x vs29,r5,r3
65ca668f 62 addi r5,r5,16
605df8d6 63 stxvd2x vs30,r5,r3
65ca668f 64 addi r5,r5,16
605df8d6 65 stxvd2x vs31,r5,r3
65ca668f
CB
66 blr
67FUNC_END(store_vsx)