[Pixman] mmx build regression
Jeremy Huddleston
jeremyhu at apple.com
Wed Feb 22 20:04:02 PST 2012
FWIW, I bisected it to this commit:
14208344964f341a7b4a704b05cf4804c23792e9 is the first bad commit
commit 14208344964f341a7b4a704b05cf4804c23792e9
Author: Matt Turner <mattst88 at gmail.com>
Date: Sun Feb 19 01:32:31 2012 -0500
mmx: Use _mm_mulhi_pu16
The pmulhuw x86 instruction is part of Extended 3DNow! and SSE1. The
equivalent ARM wmuluh instruction was available from the first iwMMXt
instrucion set.
This instruction is already used in the SSE2 code.
Reduces code size by ~5%.
amd64
text data bss dec hex filename
31325 2240 0 33565 831d .libs/libpixman_mmx_la-pixman-mmx.o
29925 2240 0 32165 7da5 .libs/libpixman_mmx_la-pixman-mmx.o
x86
text data bss dec hex filename
29165 1792 0 30957 78ed .libs/libpixman_mmx_la-pixman-mmx.o
27677 1792 0 29469 731d .libs/libpixman_mmx_la-pixman-mmx.o
arm
text data bss dec hex filename
31632 1792 0 33424 8290 .libs/libpixman_iwmmxt_la-pixman-mmx.o
30176 1792 0 31968 7ce0 .libs/libpixman_iwmmxt_la-pixman-mmx.o
Signed-off-by: Matt Turner <mattst88 at gmail.com>
:040000 040000 0f7d233a929694160a0f007bb8f638d91b95d87a c22642bfdda5a21a08aadd96477548cb4d4618ef M pixman
# bad: [51ae3f2d7f25daebbc767f161f0097b581d1554b] mmx: Delete unused function in_over_full_src_alpha()
# good: [a14f0f66bba987d5cdcb4a3e0f3e9f7c35d3f6f0] autoconf: use #error instead of error
git bisect start 'HEAD' 'a14f0f66bba987d5cdcb4a3e0f3e9f7c35d3f6f0'
# bad: [84221f4c1687b8ea14e9cbdc78b2ba7258e62c9e] mmx: Use _mm_shuffle_pi16
git bisect bad 84221f4c1687b8ea14e9cbdc78b2ba7258e62c9e
# bad: [14208344964f341a7b4a704b05cf4804c23792e9] mmx: Use _mm_mulhi_pu16
git bisect bad 14208344964f341a7b4a704b05cf4804c23792e9
# good: [69ed71fad11d541f89eee1238c587a03a9cf59cb] mmx: enable over_x888_8_8888 on ARM/iwMMXt
git bisect good 69ed71fad11d541f89eee1238c587a03a9cf59cb
On Feb 21, 2012, at 11:27 PM, Jeremy Huddleston <jeremyhu at freedesktop.org> wrote:
> I just got my tinderbox back up today and noticed this build regression in pixman. I haven't looked into it yet, but git-log blames Matt ;)
>
> http://tinderbox.x.org/builds/2012-02-22-0001/logs/pixman/#build
>
> The warnings are harmless. I wish the error was more verbose, but that's all I got. I'll try bisecting when I get a chance, but I'm overloaded right now and wanted to report this since you might have an idea before I get some time.
>
> --Jeremy
>
> libtool: compile: /opt/local/libexec/llvm-3.0/libexec/scan-build/ccc-analyzer -DHAVE_CONFIG_H -I. -I.. -I/Users/jeremy/src/freedesktop/jhbuild/build/include -I/Users/jeremy/src/freedesktop/jhbuild/external/build/include -mmmx -Winline -O0 -pipe -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -fdiagnostics-show-category=name -Wall -fno-strict-aliasing -fvisibility=hidden -D_REENTRANT -c pixman-mmx.c -fno-common -DPIC -o .libs/libpixman_mmx_la-pixman-mmx.o
>
> pixman-mmx.c:63:73: warning: unknown attribute '__artificial__' ignored [-Wattributes,Semantic Issue]
> extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
> ^
> pixman-mmx.c:73:73: warning: unknown attribute '__artificial__' ignored [-Wattributes,Semantic Issue]
> extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
> ^
> fatal error: error in backend: Invalid operand for inline asm constraint 'K'!
> make[3]: *** [libpixman_mmx_la-pixman-mmx.lo] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> scan-build: 2 bugs found.
> scan-build: Run 'scan-view /Users/jeremy/src/freedesktop/jhbuild/analyzer/yuffie/20120221-1900/pixman/2012-02-21-1' to examine bug reports.
>
>
>
More information about the Pixman
mailing list