fpu.S (8f58c571bf3095278ebda49ce95df5ead27ebb42) | fpu.S (bd3c5798484aa9a08302a844d7a75a2ee3b53d05) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Author: Lu Zeng <zenglu@loongson.cn> 4 * Pei Huang <huangpei@loongson.cn> 5 * Huacai Chen <chenhuacai@loongson.cn> 6 * 7 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 8 */ --- 124 unchanged lines hidden (view full) --- 133 movgr2cf $fcc6, \tmp1 134 bstrpick.d \tmp1, \tmp0, 63, 56 135 movgr2cf $fcc7, \tmp1 136 .endm 137 138 .macro sc_save_fcsr base, tmp0 139 movfcsr2gr \tmp0, fcsr0 140 EX st.w \tmp0, \base, 0 | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Author: Lu Zeng <zenglu@loongson.cn> 4 * Pei Huang <huangpei@loongson.cn> 5 * Huacai Chen <chenhuacai@loongson.cn> 6 * 7 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 8 */ --- 124 unchanged lines hidden (view full) --- 133 movgr2cf $fcc6, \tmp1 134 bstrpick.d \tmp1, \tmp0, 63, 56 135 movgr2cf $fcc7, \tmp1 136 .endm 137 138 .macro sc_save_fcsr base, tmp0 139 movfcsr2gr \tmp0, fcsr0 140 EX st.w \tmp0, \base, 0 |
141#if defined(CONFIG_CPU_HAS_LBT) 142 /* TM bit is always 0 if LBT not supported */ 143 andi \tmp0, \tmp0, FPU_CSR_TM 144 beqz \tmp0, 1f 145 x86clrtm 1461: 147#endif |
|
141 .endm 142 143 .macro sc_restore_fcsr base, tmp0 144 EX ld.w \tmp0, \base, 0 145 movgr2fcsr fcsr0, \tmp0 146 .endm 147 148 .macro sc_save_lsx base --- 155 unchanged lines hidden (view full) --- 304SYM_FUNC_END(_save_fp) 305EXPORT_SYMBOL(_save_fp) 306 307/* 308 * Restore a thread's fp context. 309 */ 310SYM_FUNC_START(_restore_fp) 311 fpu_restore_double a0 t1 # clobbers t1 | 148 .endm 149 150 .macro sc_restore_fcsr base, tmp0 151 EX ld.w \tmp0, \base, 0 152 movgr2fcsr fcsr0, \tmp0 153 .endm 154 155 .macro sc_save_lsx base --- 155 unchanged lines hidden (view full) --- 311SYM_FUNC_END(_save_fp) 312EXPORT_SYMBOL(_save_fp) 313 314/* 315 * Restore a thread's fp context. 316 */ 317SYM_FUNC_START(_restore_fp) 318 fpu_restore_double a0 t1 # clobbers t1 |
312 fpu_restore_csr a0 t1 | 319 fpu_restore_csr a0 t1 t2 |
313 fpu_restore_cc a0 t1 t2 # clobbers t1, t2 314 jr ra 315SYM_FUNC_END(_restore_fp) 316 317#ifdef CONFIG_CPU_HAS_LSX 318 319/* 320 * Save a thread's LSX vector context. --- 199 unchanged lines hidden --- | 320 fpu_restore_cc a0 t1 t2 # clobbers t1, t2 321 jr ra 322SYM_FUNC_END(_restore_fp) 323 324#ifdef CONFIG_CPU_HAS_LSX 325 326/* 327 * Save a thread's LSX vector context. --- 199 unchanged lines hidden --- |