On Wed, May 18, 2016 at 10:38 AM, Kugan Vivekanandarajah
<kugan.vivekanandara...@linaro.org> wrote:
>>>> Please move the whole thing under the else { } case of the ops.length
>>>> == 0, ops.length == 1 test chain
>>>> as you did for the actual emit of the negate.
>>>>
>>>
>>> I see your point. However, when we remove the (-1) from the ops list, that
>>> intern can result in ops.length becoming 1. Therefore, I moved the  the
>>> following  if (negate_result), outside the condition.
>>
>> Ah, indeed.   But now you have to care for ops.length () == 0 and thus
>> the unconditonally ops.last () may now trap.  So I suggest to
>> do
>
> Done.
>
>> Yes - the patch is ok with the above suggested change.
>
>
> While testing on an arm variant, vector types are not handled.
> Therefore, I had to change:
>
> +      || ((TREE_CODE (last->op) == REAL_CST)
> +            && real_equal (&TREE_REAL_CST (last->op), &dconstm1))
>
>
> to
>
> +      || real_minus_onep (last->op))
>
>
> Is this Still OK. Bootstrap and regression testing on ARM, AARCH64 and
> x86-64 didn’t have any new regressions.

Yes.

Thanks,
Richard.

> Thanks,
> Kugan

Reply via email to