diff mbox

[RFC,ARM] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook

Message ID 53C1B956.1050407@linaro.org
State New
Headers show

Commit Message

Kugan Vivekanandarajah July 12, 2014, 10:40 p.m. UTC
> 
> -  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.

Comments

Ramana Radhakrishnan July 22, 2014, 4:31 p.m. UTC | #1
On Sat, Jul 12, 2014 at 11:40 PM, Kugan
<kugan.vivekanandarajah@linaro.org> wrote:
>>
>> -  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?

Sigh, sorry for missing this earlier. This is OK if no regressions

Ramana

>
> 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.
diff mbox

Patch

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;