<div dir="ltr">Yes it is. The problem is that we only have a whole world shifts for 32 and 64 bit integers, lane shifts and only x8 shifts with sse2, only lane shifts (64 bit max) with neon, and more tricky shifts with altivec. In other words, shifts are target specific. On the other hand, we don't need a "generic shift operation" for the bitslice implementation, but only particular shifts. That's why it works even if testbsopts fails. I agee that this code is ugly but it reflects the implementation of the shift operation on the target. To be perfect we should use BS_SHL1(), BS_SHL3(), BS_SHL4(), BS_SHL6(), BS_SHL8(), BS_SHL16(), ... and test them (with appropriate masks). But this would make other code uglier. This test file needs some refactoring, but frankly, I just didn't mean to spend much time on it. For instance, it fails with gcc 4.7 and -O3 on ARM because of the invalid BS_VAL assignment.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-07-06 19:12 GMT+03:00 Jean-Baptiste Kempf <span dir="ltr"><<a href="mailto:jb@videolan.org" target="_blank">jb@videolan.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 26 Jun, glenvt18 wrote :<br>
<span class="">> + /* there is no neon instruction to shift a whole register */<br>
> +#ifdef DVBCSA_USE_NEON<br>
> + b = BS_VAL(0xaaaaaaaaaaaaaa00LL, 0x5555555555555500LL);<br>
> +#else<br>
> b = BS_VAL(0xaaaaaaaaaaaaaa55LL, 0x5555555555555500LL);<br>
> +#endif<br>
<br>
</span>This and the related ones gives really ugly code.<br>
<br>
With my kindest regards,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Jean-Baptiste Kempf<br>
<a href="http://www.jbkempf.com/" rel="noreferrer" target="_blank">http://www.jbkempf.com/</a> - +33 672 704 734<br>
Sent from my Electronic Device<br>
_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a><br>
</font></span></blockquote></div><br></div>