18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Definitions for the FPU register names
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
68c2ecf20Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
78c2ecf20Sopenharmony_ci * for more details.
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Copyright (C) 2020 Loongson Technology Corporation Limited
108c2ecf20Sopenharmony_ci */
118c2ecf20Sopenharmony_ci#ifndef _ASM_FPREGDEF_H
128c2ecf20Sopenharmony_ci#define _ASM_FPREGDEF_H
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci#define fa0	$f0	/* argument registers, fa0/fa1 reused as fv0/fv1 for return value */
158c2ecf20Sopenharmony_ci#define fa1	$f1
168c2ecf20Sopenharmony_ci#define fa2	$f2
178c2ecf20Sopenharmony_ci#define fa3	$f3
188c2ecf20Sopenharmony_ci#define fa4	$f4
198c2ecf20Sopenharmony_ci#define fa5	$f5
208c2ecf20Sopenharmony_ci#define fa6	$f6
218c2ecf20Sopenharmony_ci#define fa7	$f7
228c2ecf20Sopenharmony_ci#define ft0	$f8	/* caller saved */
238c2ecf20Sopenharmony_ci#define ft1	$f9
248c2ecf20Sopenharmony_ci#define ft2	$f10
258c2ecf20Sopenharmony_ci#define ft3	$f11
268c2ecf20Sopenharmony_ci#define ft4	$f12
278c2ecf20Sopenharmony_ci#define ft5	$f13
288c2ecf20Sopenharmony_ci#define ft6	$f14
298c2ecf20Sopenharmony_ci#define ft7	$f15
308c2ecf20Sopenharmony_ci#define ft8	$f16
318c2ecf20Sopenharmony_ci#define ft9	$f17
328c2ecf20Sopenharmony_ci#define ft10	$f18
338c2ecf20Sopenharmony_ci#define ft11	$f19
348c2ecf20Sopenharmony_ci#define ft12	$f20
358c2ecf20Sopenharmony_ci#define ft13	$f21
368c2ecf20Sopenharmony_ci#define ft14	$f22
378c2ecf20Sopenharmony_ci#define ft15	$f23
388c2ecf20Sopenharmony_ci#define fs0	$f24	/* callee saved */
398c2ecf20Sopenharmony_ci#define fs1	$f25
408c2ecf20Sopenharmony_ci#define fs2	$f26
418c2ecf20Sopenharmony_ci#define fs3	$f27
428c2ecf20Sopenharmony_ci#define fs4	$f28
438c2ecf20Sopenharmony_ci#define fs5	$f29
448c2ecf20Sopenharmony_ci#define fs6	$f30
458c2ecf20Sopenharmony_ci#define fs7	$f31
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci/*
488c2ecf20Sopenharmony_ci * Current binutils expects *GPRs* at FCSR position for the FCSR
498c2ecf20Sopenharmony_ci * operation instructions, so define aliases for those used.
508c2ecf20Sopenharmony_ci */
518c2ecf20Sopenharmony_ci#define fcsr0	$r0
528c2ecf20Sopenharmony_ci#define fcsr1	$r1
538c2ecf20Sopenharmony_ci#define fcsr2	$r2
548c2ecf20Sopenharmony_ci#define fcsr3	$r3
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci#endif /* _ASM_FPREGDEF_H */
57