Home | History | Annotate | Download | only in target-arm

Lines Matching refs:vfp

60         env->vfp.xregs[ARM_VFP_FPSID] = 0x41011090;
76 env->vfp.xregs[ARM_VFP_FPSID] = 0x410110a0;
87 env->vfp.xregs[ARM_VFP_FPSID] = 0x410120b4;
88 env->vfp.xregs[ARM_VFP_MVFR0] = 0x11111111;
89 env->vfp.xregs[ARM_VFP_MVFR1] = 0x00000000;
102 env->vfp.xregs[ARM_VFP_FPSID] = 0x410120b4;
103 env->vfp.xregs[ARM_VFP_MVFR0] = 0x11111111;
104 env->vfp.xregs[ARM_VFP_MVFR1] = 0x00000000;
122 env->vfp.xregs[ARM_VFP_FPSID] = 0x410330c0;
123 env->vfp.xregs[ARM_VFP_MVFR0] = 0x11110222;
124 env->vfp.xregs[ARM_VFP_MVFR1] = 0x00011100;
147 env->vfp.xregs[ARM_VFP_FPSID] = 0x410330c2;
148 env->vfp.xregs[ARM_VFP_MVFR0] = 0x11110222;
149 env->vfp.xregs[ARM_VFP_MVFR1] = 0x00011111;
178 env->vfp.xregs[ARM_VFP_FPSID] = 0x41034000; /* Guess */
179 env->vfp.xregs[ARM_VFP_MVFR0] = 0x11110222;
180 env->vfp.xregs[ARM_VFP_MVFR1] = 0x01111111;
281 env->vfp.xregs[ARM_VFP_FPEXC] = 1 << 30;
310 env->vfp.xregs[ARM_VFP_FPEXC] = 0;
313 set_flush_to_zero(1, &env->vfp.standard_fp_status);
314 set_flush_inputs_to_zero(1, &env->vfp.standard_fp_status);
315 set_default_nan_mode(1, &env->vfp.standard_fp_status);
317 &env->vfp.fp_status);
319 &env->vfp.standard_fp_status);
327 /* VFP data registers are always little-endian. */
330 stfq_le_p(buf, env->vfp.regs[reg]);
337 stfq_le_p(buf, env->vfp.regs[(reg - 32) * 2]);
338 stfq_le_p(buf + 8, env->vfp.regs[(reg - 32) * 2 + 1]);
343 case 0: stl_p(buf, env->vfp.xregs[ARM_VFP_FPSID]); return 4;
344 case 1: stl_p(buf, env->vfp.xregs[ARM_VFP_FPSCR]); return 4;
345 case 2: stl_p(buf, env->vfp.xregs[ARM_VFP_FPEXC]); return 4;
356 env->vfp.regs[reg] = ldfq_le_p(buf);
362 env->vfp.regs[(reg - 32) * 2] = ldfq_le_p(buf);
363 env->vfp.regs[(reg - 32) * 2 + 1] = ldfq_le_p(buf + 8);
368 case 0: env->vfp.xregs[ARM_VFP_FPSID] = ldl_p(buf); return 4;
369 case 1: env->vfp.xregs[ARM_VFP_FPSCR] = ldl_p(buf); return 4;
370 case 2: env->vfp.xregs[ARM_VFP_FPEXC] = ldl_p(buf) & (1 << 30); return 4;
402 19, "arm-vfp.xml", 0);
2586 /* VFP support. We follow the convention used for VFP instrunctions:
2590 /* Convert host exception flags to vfp form. */
2615 fpscr = (env->vfp.xregs[ARM_VFP_FPSCR] & 0xffc8ffff)
2616 | (env->vfp.vec_len << 16)
2617 | (env->vfp.vec_stride << 20);
2618 i = get_float_exception_flags(&env->vfp.fp_status);
2619 i |= get_float_exception_flags(&env->vfp.standard_fp_status);
2629 /* Convert vfp exception flags to target form. */
2654 changed = env->vfp.xregs[ARM_VFP_FPSCR];
2655 env->vfp.xregs[ARM_VFP_FPSCR] = (val & 0xffc8ffff);
2656 env->vfp.vec_len = (val >> 16) & 7;
2657 env->vfp.vec_stride = (val >> 20) & 3;
2676 set_float_rounding_mode(i, &env->vfp.fp_status);
2679 set_flush_to_zero((val & (1 << 24)) != 0, &env->vfp.fp_status);
2680 set_flush_inputs_to_zero((val & (1 << 24)) != 0, &env->vfp.fp_status);
2683 set_default_nan_mode((val & (1 << 25)) != 0, &env->vfp.fp_status);
2686 set_float_exception_flags(i, &env->vfp.fp_status);
2687 set_float_exception_flags(0, &env->vfp.standard_fp_status);
2700 return float32_ ## name (a, b, &env->vfp.fp_status); \
2704 return float64_ ## name (a, b, &env->vfp.fp_status); \
2734 return float32_sqrt(a, &env->vfp.fp_status);
2739 return float64_sqrt(a, &env->vfp.fp_status);
2747 switch(type ## _compare_quiet(a, b, &env->vfp.fp_status)) { \
2753 env->vfp.xregs[ARM_VFP_FPSCR] = (flags << 28) \
2754 | (env->vfp.xregs[ARM_VFP_FPSCR] & 0x0fffffff); \
2759 switch(type ## _compare(a, b, &env->vfp.fp_status)) { \
2765 env->vfp.xregs[ARM_VFP_FPSCR] = (flags << 28) \
2766 | (env->vfp.xregs[ARM_VFP_FPSCR] & 0x0fffffff); \
2809 float64 r = float32_to_float64(x, &env->vfp.fp_status);
2818 float32 r = float64_to_float32(x, &env->vfp.fp_status);
2861 int ieee = (env->vfp.xregs[ARM_VFP_FPSCR] & (1 << 26)) == 0;
2871 int ieee = (env->vfp.xregs[ARM_VFP_FPSCR] & (1 << 26)) == 0;
2881 return do_fcvt_f16_to_f32(a, env, &env->vfp.standard_fp_status);
2886 return do_fcvt_f32_to_f16(a, env, &env->vfp.standard_fp_status);
2891 return do_fcvt_f16_to_f32(a, env, &env->vfp.fp_status);
2896 return do_fcvt_f32_to_f16(a, env, &env->vfp.fp_status);
2905 float_status *s = &env->vfp.standard_fp_status;
2918 float_status *s = &env->vfp.standard_fp_status;
2946 float_status dummy_status = env->vfp.standard_fp_status;
2969 float_status *s = &env->vfp.standard_fp_status;
3016 float_status dummy_status = env->vfp.standard_fp_status;
3065 float_status *s = &env->vfp.standard_fp_status;