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