Revision da97f52c target-arm/helper.c
b/target-arm/helper.c | ||
---|---|---|
204 | 204 |
set_feature(env, ARM_FEATURE_THUMB2); |
205 | 205 |
set_feature(env, ARM_FEATURE_VFP); |
206 | 206 |
set_feature(env, ARM_FEATURE_VFP3); |
207 |
set_feature(env, ARM_FEATURE_VFP4); |
|
207 | 208 |
set_feature(env, ARM_FEATURE_VFP_FP16); |
208 | 209 |
set_feature(env, ARM_FEATURE_NEON); |
209 | 210 |
set_feature(env, ARM_FEATURE_THUMB2EE); |
... | ... | |
3084 | 3085 |
return 0x80000000 | ((float64_val(f64) >> 21) & 0x7fffffff); |
3085 | 3086 |
} |
3086 | 3087 |
|
3088 |
/* VFPv4 fused multiply-accumulate */ |
|
3089 |
float32 VFP_HELPER(muladd, s)(float32 a, float32 b, float32 c, void *fpstp) |
|
3090 |
{ |
|
3091 |
float_status *fpst = fpstp; |
|
3092 |
return float32_muladd(a, b, c, 0, fpst); |
|
3093 |
} |
|
3094 |
|
|
3095 |
float64 VFP_HELPER(muladd, d)(float64 a, float64 b, float64 c, void *fpstp) |
|
3096 |
{ |
|
3097 |
float_status *fpst = fpstp; |
|
3098 |
return float64_muladd(a, b, c, 0, fpst); |
|
3099 |
} |
|
3100 |
|
|
3087 | 3101 |
void HELPER(set_teecr)(CPUState *env, uint32_t val) |
3088 | 3102 |
{ |
3089 | 3103 |
val &= 1; |
Also available in: Unified diff