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

Function vfp_store

freebsd/arm64/arm64/vfp.c:102–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

100}
101
102static void
103vfp_store(struct vfpstate *state)
104{
105 __int128_t *vfp_state;
106 uint64_t fpcr, fpsr;
107
108 vfp_state = state->vfp_regs;
109 __asm __volatile(
110 "mrs %0, fpcr \n"
111 "mrs %1, fpsr \n"
112 "stp q0, q1, [%2, #16 * 0]\n"
113 "stp q2, q3, [%2, #16 * 2]\n"
114 "stp q4, q5, [%2, #16 * 4]\n"
115 "stp q6, q7, [%2, #16 * 6]\n"
116 "stp q8, q9, [%2, #16 * 8]\n"
117 "stp q10, q11, [%2, #16 * 10]\n"
118 "stp q12, q13, [%2, #16 * 12]\n"
119 "stp q14, q15, [%2, #16 * 14]\n"
120 "stp q16, q17, [%2, #16 * 16]\n"
121 "stp q18, q19, [%2, #16 * 18]\n"
122 "stp q20, q21, [%2, #16 * 20]\n"
123 "stp q22, q23, [%2, #16 * 22]\n"
124 "stp q24, q25, [%2, #16 * 24]\n"
125 "stp q26, q27, [%2, #16 * 26]\n"
126 "stp q28, q29, [%2, #16 * 28]\n"
127 "stp q30, q31, [%2, #16 * 30]\n"
128 : "=&r"(fpcr), "=&r"(fpsr) : "r"(vfp_state));
129
130 state->vfp_fpcr = fpcr;
131 state->vfp_fpsr = fpsr;
132}
133
134static void
135vfp_restore(struct vfpstate *state)

Callers 1

vfp_save_stateFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected