Re: [PATCH v4 09/12] [media] vivid: Local optimization

From: Ricardo Ribalda Delgado
Date: Mon Jul 18 2016 - 09:21:50 EST


Hi Philipp

On Mon, Jul 18, 2016 at 3:13 PM, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote:
> Since the constant expressions are evaluated at compile time, you are
> not actually removing shifts. The code generated for precalculate_color
> by gcc 5.4 even grows by one asr instruction with this patch.
>

I dont think that I follow you completely here. The original code was

if (a)
y= clamp(y, 16<<4, 235<<4)

y = clamp(y>>4, 1, 254)


And now is

if (a)
y= clamp(y >>4, 16, 235)
else
y = clamp(y, 1, 254)


On the previous case, when a was true there was 2 clamp operations.
Now it is only one.


Best regards!

--
Ricardo Ribalda