Lines Matching refs:vq

146 static off_t sve_zreg_offset(uint32_t vq, int n)  in sve_zreg_offset()  argument
149 return ROUND_UP(off, 16) + vq * 16 * n; in sve_zreg_offset()
152 static off_t sve_preg_offset(uint32_t vq, int n) in sve_preg_offset() argument
154 return sve_zreg_offset(vq, 32) + vq * 16 / 8 * n; in sve_preg_offset()
157 static off_t sve_fpsr_offset(uint32_t vq) in sve_fpsr_offset() argument
159 off_t off = sve_preg_offset(vq, 17); in sve_fpsr_offset()
163 static off_t sve_fpcr_offset(uint32_t vq) in sve_fpcr_offset() argument
165 return sve_fpsr_offset(vq) + sizeof(uint32_t); in sve_fpcr_offset()
173 static size_t sve_size_vq(uint32_t vq) in sve_size_vq() argument
175 off_t off = sve_fpcr_offset(vq) + sizeof(uint32_t); in sve_size_vq()
190 uint32_t vq = sve_current_vq(env); in aarch64_write_elf64_sve() local
199 aarch64_note_init(note, s, "LINUX", 6, NT_ARM_SVE, sve_size_vq(vq)); in aarch64_write_elf64_sve()
201 note->sve.size = cpu_to_dump32(s, sve_size_vq(vq)); in aarch64_write_elf64_sve()
203 note->sve.vl = cpu_to_dump16(s, vq * 16); in aarch64_write_elf64_sve()
208 r = sve_bswap64(tmp, &env->vfp.zregs[i].d[0], vq * 2); in aarch64_write_elf64_sve()
209 memcpy(&buf[sve_zreg_offset(vq, i)], r, vq * 16); in aarch64_write_elf64_sve()
214 DIV_ROUND_UP(vq * 2, 8)); in aarch64_write_elf64_sve()
215 memcpy(&buf[sve_preg_offset(vq, i)], r, vq * 16 / 8); in aarch64_write_elf64_sve()
219 memcpy(&buf[sve_fpsr_offset(vq)], &fpr, sizeof(uint32_t)); in aarch64_write_elf64_sve()
222 memcpy(&buf[sve_fpcr_offset(vq)], &fpr, sizeof(uint32_t)); in aarch64_write_elf64_sve()