MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vfp_restore

Function vfp_restore

freebsd/arm64/arm64/vfp.c:134–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

132}
133
134static void
135vfp_restore(struct vfpstate *state)
136{
137 __int128_t *vfp_state;
138 uint64_t fpcr, fpsr;
139
140 vfp_state = state->vfp_regs;
141 fpcr = state->vfp_fpcr;
142 fpsr = state->vfp_fpsr;
143
144 __asm __volatile(
145 "ldp q0, q1, [%2, #16 * 0]\n"
146 "ldp q2, q3, [%2, #16 * 2]\n"
147 "ldp q4, q5, [%2, #16 * 4]\n"
148 "ldp q6, q7, [%2, #16 * 6]\n"
149 "ldp q8, q9, [%2, #16 * 8]\n"
150 "ldp q10, q11, [%2, #16 * 10]\n"
151 "ldp q12, q13, [%2, #16 * 12]\n"
152 "ldp q14, q15, [%2, #16 * 14]\n"
153 "ldp q16, q17, [%2, #16 * 16]\n"
154 "ldp q18, q19, [%2, #16 * 18]\n"
155 "ldp q20, q21, [%2, #16 * 20]\n"
156 "ldp q22, q23, [%2, #16 * 22]\n"
157 "ldp q24, q25, [%2, #16 * 24]\n"
158 "ldp q26, q27, [%2, #16 * 26]\n"
159 "ldp q28, q29, [%2, #16 * 28]\n"
160 "ldp q30, q31, [%2, #16 * 30]\n"
161 "msr fpcr, %0 \n"
162 "msr fpsr, %1 \n"
163 : : "r"(fpcr), "r"(fpsr), "r"(vfp_state));
164}
165
166void
167vfp_save_state(struct thread *td, struct pcb *pcb)

Callers 1

vfp_restore_stateFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected