> > - if (!TARGET_VFP) > - return; > + if (!TARGET_VFP || TARGET_THUMB1) > + return default_atomic_assign_expand_fenv (hold, clear, update); > > You don't need to call default function here. It is empty, the > documentation says: > > "The default implementation leaves all three expressions as @code{NULL_TREE}." > > Also, the function is declared as void, so returning something looks > strange to me.
Thanks for the comment. Here is a patch to change this. There was also a comment from Jay with respect to a cut and paste error that might confuse the readers. I am fixing that as well. regression tested on qemu for arm-none-linux-gnueabi with no new regressions. Please let me know if this is OK? Thanks, Kugan gcc/ 2014-057-12 Kugan Vivekanandarajah <kug...@linaro.org> * config/arm/arm.c (bdesc_2arg): Fix typo. (arm_atomic_assign_expand_fenv): Remove The default implementation.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 78cae73..b84594d 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -24366,8 +24366,8 @@ static const struct builtin_description bdesc_2arg[] = {0, CODE_FOR_##L, "__builtin_arm_"#L, ARM_BUILTIN_##U, \ UNKNOWN, 0}, - FP_BUILTIN (set_fpscr, GET_FPSCR) - FP_BUILTIN (get_fpscr, SET_FPSCR) + FP_BUILTIN (get_fpscr, GET_FPSCR) + FP_BUILTIN (set_fpscr, SET_FPSCR) #undef FP_BUILTIN #define CRC32_BUILTIN(L, U) \ @@ -31582,7 +31582,7 @@ arm_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) tree update_call, atomic_feraiseexcept, hold_fnclex; if (!TARGET_VFP || !TARGET_HARD_FLOAT) - return default_atomic_assign_expand_fenv (hold, clear, update); + return; /* Generate the equivalent of : unsigned int fenv_var;