[RFC][ARM] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook

Kugan kugan.vivekanandarajah@linaro.org
Sat Jul 12 22:40:00 GMT 2014


> 
> -  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  <kuganv@linaro.org>

	* config/arm/arm.c (bdesc_2arg): Fix typo.
	(arm_atomic_assign_expand_fenv): Remove The default implementation.
-------------- next part --------------
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;


More information about the Gcc-patches mailing list