[FFmpeg-devel] fate-rv20-1239 failure on power8, aliasing bug

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Nov 26 01:45:26 EET 2018


2018-11-25 16:17 GMT+01:00, Lauri Kasanen <cand at gmx.com>:
> Hi,
>
> The lone power8 fate failing test seems like an aliasing issue.
> I've isolated it into the attached standalone test case. Compiling it
> with
> gcc -std=c11 -maltivec -mabi=altivec -mvsx -O3 -fno-tree-vectorize
> -o test test.c
>
> reproduces on gcc 8.2.0, dropping the optimization level fixes it. This
> was one of the "adding a printf made it work" things too.
>
> -Wstrict-aliasing=1 complains about the "register int *idataptr =
> (int*)dataptr;" cast. If I put "typedef int __attribute__((may_alias))
> int_alias;" at the top and change the cast and type to int_alias, the
> results become correct.

Thank you for the analysis!

Patch attached, Carl Eugen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-lavc-jrevdct-Avoid-an-aliasing-violation.patch
Type: text/x-patch
Size: 2218 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20181126/47312610/attachment.bin>


More information about the ffmpeg-devel mailing list