brintos

brintos / linux-shallow public Read only

0
0
Text · 6.2 KiB · 6d1af4a Raw
357 lines · plain
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * test helper assembly functions4 *5 * Copyright (C) 2016 Simon Guo, IBM Corporation.6 */7#include <ppc-asm.h>8#include "reg.h"9 10 11/* Non volatile GPR - unsigned long buf[18] */12FUNC_START(load_gpr)13	ld	14, 0*8(3)14	ld	15, 1*8(3)15	ld	16, 2*8(3)16	ld	17, 3*8(3)17	ld	18, 4*8(3)18	ld	19, 5*8(3)19	ld	20, 6*8(3)20	ld	21, 7*8(3)21	ld	22, 8*8(3)22	ld	23, 9*8(3)23	ld	24, 10*8(3)24	ld	25, 11*8(3)25	ld	26, 12*8(3)26	ld	27, 13*8(3)27	ld	28, 14*8(3)28	ld	29, 15*8(3)29	ld	30, 16*8(3)30	ld	31, 17*8(3)31	blr32FUNC_END(load_gpr)33 34FUNC_START(store_gpr)35	std	14, 0*8(3)36	std	15, 1*8(3)37	std	16, 2*8(3)38	std	17, 3*8(3)39	std	18, 4*8(3)40	std	19, 5*8(3)41	std	20, 6*8(3)42	std	21, 7*8(3)43	std	22, 8*8(3)44	std	23, 9*8(3)45	std	24, 10*8(3)46	std	25, 11*8(3)47	std	26, 12*8(3)48	std	27, 13*8(3)49	std	28, 14*8(3)50	std	29, 15*8(3)51	std	30, 16*8(3)52	std	31, 17*8(3)53	blr54FUNC_END(store_gpr)55 56/* Double Precision Float - double buf[32] */57FUNC_START(store_fpr)58	stfd  0,  0*8(3)59	stfd  1,  1*8(3)60	stfd  2,  2*8(3)61	stfd  3,  3*8(3)62	stfd  4,  4*8(3)63	stfd  5,  5*8(3)64	stfd  6,  6*8(3)65	stfd  7,  7*8(3)66	stfd  8,  8*8(3)67	stfd  9,  9*8(3)68	stfd 10, 10*8(3)69	stfd 11, 11*8(3)70	stfd 12, 12*8(3)71	stfd 13, 13*8(3)72	stfd 14, 14*8(3)73	stfd 15, 15*8(3)74	stfd 16, 16*8(3)75	stfd 17, 17*8(3)76	stfd 18, 18*8(3)77	stfd 19, 19*8(3)78	stfd 20, 20*8(3)79	stfd 21, 21*8(3)80	stfd 22, 22*8(3)81	stfd 23, 23*8(3)82	stfd 24, 24*8(3)83	stfd 25, 25*8(3)84	stfd 26, 26*8(3)85	stfd 27, 27*8(3)86	stfd 28, 28*8(3)87	stfd 29, 29*8(3)88	stfd 30, 30*8(3)89	stfd 31, 31*8(3)90	blr91FUNC_END(store_fpr)92 93/* VMX/VSX registers - unsigned long buf[128] */94FUNC_START(loadvsx)95	lis	4, 096	LXVD2X	(0,(4),(3))97	addi	4, 4, 1698	LXVD2X	(1,(4),(3))99	addi	4, 4, 16100	LXVD2X	(2,(4),(3))101	addi	4, 4, 16102	LXVD2X	(3,(4),(3))103	addi	4, 4, 16104	LXVD2X	(4,(4),(3))105	addi	4, 4, 16106	LXVD2X	(5,(4),(3))107	addi	4, 4, 16108	LXVD2X	(6,(4),(3))109	addi	4, 4, 16110	LXVD2X	(7,(4),(3))111	addi	4, 4, 16112	LXVD2X	(8,(4),(3))113	addi	4, 4, 16114	LXVD2X	(9,(4),(3))115	addi	4, 4, 16116	LXVD2X	(10,(4),(3))117	addi	4, 4, 16118	LXVD2X	(11,(4),(3))119	addi	4, 4, 16120	LXVD2X	(12,(4),(3))121	addi	4, 4, 16122	LXVD2X	(13,(4),(3))123	addi	4, 4, 16124	LXVD2X	(14,(4),(3))125	addi	4, 4, 16126	LXVD2X	(15,(4),(3))127	addi	4, 4, 16128	LXVD2X	(16,(4),(3))129	addi	4, 4, 16130	LXVD2X	(17,(4),(3))131	addi	4, 4, 16132	LXVD2X	(18,(4),(3))133	addi	4, 4, 16134	LXVD2X	(19,(4),(3))135	addi	4, 4, 16136	LXVD2X	(20,(4),(3))137	addi	4, 4, 16138	LXVD2X	(21,(4),(3))139	addi	4, 4, 16140	LXVD2X	(22,(4),(3))141	addi	4, 4, 16142	LXVD2X	(23,(4),(3))143	addi	4, 4, 16144	LXVD2X	(24,(4),(3))145	addi	4, 4, 16146	LXVD2X	(25,(4),(3))147	addi	4, 4, 16148	LXVD2X	(26,(4),(3))149	addi	4, 4, 16150	LXVD2X	(27,(4),(3))151	addi	4, 4, 16152	LXVD2X	(28,(4),(3))153	addi	4, 4, 16154	LXVD2X	(29,(4),(3))155	addi	4, 4, 16156	LXVD2X	(30,(4),(3))157	addi	4, 4, 16158	LXVD2X	(31,(4),(3))159	addi	4, 4, 16160	LXVD2X	(32,(4),(3))161	addi	4, 4, 16162	LXVD2X	(33,(4),(3))163	addi	4, 4, 16164	LXVD2X	(34,(4),(3))165	addi	4, 4, 16166	LXVD2X	(35,(4),(3))167	addi	4, 4, 16168	LXVD2X	(36,(4),(3))169	addi	4, 4, 16170	LXVD2X	(37,(4),(3))171	addi	4, 4, 16172	LXVD2X	(38,(4),(3))173	addi	4, 4, 16174	LXVD2X	(39,(4),(3))175	addi	4, 4, 16176	LXVD2X	(40,(4),(3))177	addi	4, 4, 16178	LXVD2X	(41,(4),(3))179	addi	4, 4, 16180	LXVD2X	(42,(4),(3))181	addi	4, 4, 16182	LXVD2X	(43,(4),(3))183	addi	4, 4, 16184	LXVD2X	(44,(4),(3))185	addi	4, 4, 16186	LXVD2X	(45,(4),(3))187	addi	4, 4, 16188	LXVD2X	(46,(4),(3))189	addi	4, 4, 16190	LXVD2X	(47,(4),(3))191	addi	4, 4, 16192	LXVD2X	(48,(4),(3))193	addi	4, 4, 16194	LXVD2X	(49,(4),(3))195	addi	4, 4, 16196	LXVD2X	(50,(4),(3))197	addi	4, 4, 16198	LXVD2X	(51,(4),(3))199	addi	4, 4, 16200	LXVD2X	(52,(4),(3))201	addi	4, 4, 16202	LXVD2X	(53,(4),(3))203	addi	4, 4, 16204	LXVD2X	(54,(4),(3))205	addi	4, 4, 16206	LXVD2X	(55,(4),(3))207	addi	4, 4, 16208	LXVD2X	(56,(4),(3))209	addi	4, 4, 16210	LXVD2X	(57,(4),(3))211	addi	4, 4, 16212	LXVD2X	(58,(4),(3))213	addi	4, 4, 16214	LXVD2X	(59,(4),(3))215	addi	4, 4, 16216	LXVD2X	(60,(4),(3))217	addi	4, 4, 16218	LXVD2X	(61,(4),(3))219	addi	4, 4, 16220	LXVD2X	(62,(4),(3))221	addi	4, 4, 16222	LXVD2X	(63,(4),(3))223	blr224FUNC_END(loadvsx)225 226FUNC_START(storevsx)227	lis	4, 0228	STXVD2X	(0,(4),(3))229	addi	4, 4, 16230	STXVD2X	(1,(4),(3))231	addi	4, 4, 16232	STXVD2X	(2,(4),(3))233	addi	4, 4, 16234	STXVD2X	(3,(4),(3))235	addi	4, 4, 16236	STXVD2X	(4,(4),(3))237	addi	4, 4, 16238	STXVD2X	(5,(4),(3))239	addi	4, 4, 16240	STXVD2X	(6,(4),(3))241	addi	4, 4, 16242	STXVD2X	(7,(4),(3))243	addi	4, 4, 16244	STXVD2X	(8,(4),(3))245	addi	4, 4, 16246	STXVD2X	(9,(4),(3))247	addi	4, 4, 16248	STXVD2X	(10,(4),(3))249	addi	4, 4, 16250	STXVD2X	(11,(4),(3))251	addi	4, 4, 16252	STXVD2X	(12,(4),(3))253	addi	4, 4, 16254	STXVD2X	(13,(4),(3))255	addi	4, 4, 16256	STXVD2X	(14,(4),(3))257	addi	4, 4, 16258	STXVD2X	(15,(4),(3))259	addi	4, 4, 16260	STXVD2X	(16,(4),(3))261	addi	4, 4, 16262	STXVD2X	(17,(4),(3))263	addi	4, 4, 16264	STXVD2X	(18,(4),(3))265	addi	4, 4, 16266	STXVD2X	(19,(4),(3))267	addi	4, 4, 16268	STXVD2X	(20,(4),(3))269	addi	4, 4, 16270	STXVD2X	(21,(4),(3))271	addi	4, 4, 16272	STXVD2X	(22,(4),(3))273	addi	4, 4, 16274	STXVD2X	(23,(4),(3))275	addi	4, 4, 16276	STXVD2X	(24,(4),(3))277	addi	4, 4, 16278	STXVD2X	(25,(4),(3))279	addi	4, 4, 16280	STXVD2X	(26,(4),(3))281	addi	4, 4, 16282	STXVD2X	(27,(4),(3))283	addi	4, 4, 16284	STXVD2X	(28,(4),(3))285	addi	4, 4, 16286	STXVD2X	(29,(4),(3))287	addi	4, 4, 16288	STXVD2X	(30,(4),(3))289	addi	4, 4, 16290	STXVD2X	(31,(4),(3))291	addi	4, 4, 16292	STXVD2X	(32,(4),(3))293	addi	4, 4, 16294	STXVD2X	(33,(4),(3))295	addi	4, 4, 16296	STXVD2X	(34,(4),(3))297	addi	4, 4, 16298	STXVD2X	(35,(4),(3))299	addi	4, 4, 16300	STXVD2X	(36,(4),(3))301	addi	4, 4, 16302	STXVD2X	(37,(4),(3))303	addi	4, 4, 16304	STXVD2X	(38,(4),(3))305	addi	4, 4, 16306	STXVD2X	(39,(4),(3))307	addi	4, 4, 16308	STXVD2X	(40,(4),(3))309	addi	4, 4, 16310	STXVD2X	(41,(4),(3))311	addi	4, 4, 16312	STXVD2X	(42,(4),(3))313	addi	4, 4, 16314	STXVD2X	(43,(4),(3))315	addi	4, 4, 16316	STXVD2X	(44,(4),(3))317	addi	4, 4, 16318	STXVD2X	(45,(4),(3))319	addi	4, 4, 16320	STXVD2X	(46,(4),(3))321	addi	4, 4, 16322	STXVD2X	(47,(4),(3))323	addi	4, 4, 16324	STXVD2X	(48,(4),(3))325	addi	4, 4, 16326	STXVD2X	(49,(4),(3))327	addi	4, 4, 16328	STXVD2X	(50,(4),(3))329	addi	4, 4, 16330	STXVD2X	(51,(4),(3))331	addi	4, 4, 16332	STXVD2X	(52,(4),(3))333	addi	4, 4, 16334	STXVD2X	(53,(4),(3))335	addi	4, 4, 16336	STXVD2X	(54,(4),(3))337	addi	4, 4, 16338	STXVD2X	(55,(4),(3))339	addi	4, 4, 16340	STXVD2X	(56,(4),(3))341	addi	4, 4, 16342	STXVD2X	(57,(4),(3))343	addi	4, 4, 16344	STXVD2X	(58,(4),(3))345	addi	4, 4, 16346	STXVD2X	(59,(4),(3))347	addi	4, 4, 16348	STXVD2X	(60,(4),(3))349	addi	4, 4, 16350	STXVD2X	(61,(4),(3))351	addi	4, 4, 16352	STXVD2X	(62,(4),(3))353	addi	4, 4, 16354	STXVD2X	(63,(4),(3))355	blr356FUNC_END(storevsx)357