Hello community, here is the log from the commit of package pixman for openSUSE:Factory checked in at 2016-01-09 23:12:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pixman (Old) and /work/SRC/openSUSE:Factory/.pixman.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pixman" Changes: -------- --- /work/SRC/openSUSE:Factory/pixman/pixman.changes 2015-10-30 16:35:56.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.pixman.new/pixman.changes 2016-01-09 23:12:36.000000000 +0100 @@ -1,0 +2,8 @@ +Sat Jan 2 13:25:53 UTC 2016 - [email protected] + +- Update to version 0.33.6: + + configura.ac: fix test for SSE2 & SSSE3 assembler support. + + mmx: Improve detection of support for "K" constraint. + + Revert "mmx: Use MMX2 intrinsics from xmmintrin.h directly". + +------------------------------------------------------------------- Old: ---- pixman-0.33.4.tar.gz New: ---- pixman-0.33.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pixman.spec ++++++ --- /var/tmp/diff_new_pack.Pf5qiN/_old 2016-01-09 23:12:37.000000000 +0100 +++ /var/tmp/diff_new_pack.Pf5qiN/_new 2016-01-09 23:12:37.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package pixman # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: pixman -Version: 0.33.4 +Version: 0.33.6 Release: 0 Summary: Pixel manipulation library License: MIT ++++++ pixman-0.33.4.tar.gz -> pixman-0.33.6.tar.gz ++++++ ++++ 20222 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.33.4/config.h.in new/pixman-0.33.6/config.h.in --- old/pixman-0.33.4/config.h.in 2015-10-23 17:02:13.000000000 +0200 +++ new/pixman-0.33.6/config.h.in 2015-12-22 14:37:31.000000000 +0100 @@ -87,8 +87,7 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.33.4/configure.ac new/pixman-0.33.6/configure.ac --- old/pixman-0.33.4/configure.ac 2015-10-23 16:57:55.000000000 +0200 +++ new/pixman-0.33.6/configure.ac 2015-12-22 14:29:33.000000000 +0100 @@ -54,7 +54,7 @@ m4_define([pixman_major], 0) m4_define([pixman_minor], 33) -m4_define([pixman_micro], 4) +m4_define([pixman_micro], 6) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) @@ -347,14 +347,33 @@ #error "Need GCC >= 3.4 for MMX intrinsics" #endif #include <mmintrin.h> -#include <xmmintrin.h> +#include <stdint.h> + +/* Check support for block expressions */ +#define _mm_shuffle_pi16(A, N) \ + ({ \ + __m64 ret; \ + \ + /* Some versions of clang will choke on K */ \ + asm ("pshufw %2, %1, %0\n\t" \ + : "=y" (ret) \ + : "y" (A), "K" ((const int8_t)N) \ + ); \ + \ + ret; \ + }) + int main () { __m64 v = _mm_cvtsi32_si64 (1); __m64 w; - /* Test some intrinsics from xmmintrin.h */ w = _mm_shuffle_pi16(v, 5); - w = _mm_mulhi_pu16(w, w); + + /* Some versions of clang will choke on this */ + asm ("pmulhuw %1, %0\n\t" + : "+y" (w) + : "y" (v) + ); return _mm_cvtsi64_si32 (v); }]])], have_mmx_intrinsics=yes) @@ -410,10 +429,11 @@ #include <mmintrin.h> #include <xmmintrin.h> #include <emmintrin.h> +int param; int main () { - __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c; + __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; c = _mm_xor_si128 (a, b); - return 0; + return _mm_cvtsi128_si32(c); }]])], have_sse2_intrinsics=yes) CFLAGS=$xserver_save_CFLAGS @@ -454,10 +474,11 @@ #include <xmmintrin.h> #include <emmintrin.h> #include <tmmintrin.h> +int param; int main () { - __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c; + __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; c = _mm_maddubs_epi16 (a, b); - return 0; + return _mm_cvtsi128_si32(c); }]])], have_ssse3_intrinsics=yes) CFLAGS=$xserver_save_CFLAGS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.33.4/pixman/pixman-mmx.c new/pixman-0.33.6/pixman/pixman-mmx.c --- old/pixman-0.33.4/pixman/pixman-mmx.c 2015-10-23 11:14:04.000000000 +0200 +++ new/pixman-0.33.6/pixman/pixman-mmx.c 2015-12-09 14:25:23.000000000 +0100 @@ -40,9 +40,6 @@ #else #include <mmintrin.h> #endif -#ifdef USE_X86_MMX -#include <xmmintrin.h> -#endif #include "pixman-private.h" #include "pixman-combine32.h" #include "pixman-inlines.h" @@ -62,7 +59,51 @@ } #endif -#ifndef _MM_SHUFFLE +#ifdef USE_X86_MMX +# if (defined(__SUNPRO_C) || defined(_MSC_VER) || defined(_WIN64)) +# include <xmmintrin.h> +# else +/* We have to compile with -msse to use xmmintrin.h, but that causes SSE + * instructions to be generated that we don't want. Just duplicate the + * functions we want to use. */ +extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +_mm_movemask_pi8 (__m64 __A) +{ + int ret; + + asm ("pmovmskb %1, %0\n\t" + : "=r" (ret) + : "y" (__A) + ); + + return ret; +} + +extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +_mm_mulhi_pu16 (__m64 __A, __m64 __B) +{ + asm ("pmulhuw %1, %0\n\t" + : "+y" (__A) + : "y" (__B) + ); + return __A; +} + +# define _mm_shuffle_pi16(A, N) \ + ({ \ + __m64 ret; \ + \ + asm ("pshufw %2, %1, %0\n\t" \ + : "=y" (ret) \ + : "y" (A), "K" ((const int8_t)N) \ + ); \ + \ + ret; \ + }) +# endif +#endif + +#ifndef _MSC_VER #define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | (fp0)) #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pixman-0.33.4/pixman/pixman-version.h new/pixman-0.33.6/pixman/pixman-version.h --- old/pixman-0.33.4/pixman/pixman-version.h 2015-10-23 17:02:39.000000000 +0200 +++ new/pixman-0.33.6/pixman/pixman-version.h 2015-12-22 14:38:27.000000000 +0100 @@ -33,9 +33,9 @@ #define PIXMAN_VERSION_MAJOR 0 #define PIXMAN_VERSION_MINOR 33 -#define PIXMAN_VERSION_MICRO 4 +#define PIXMAN_VERSION_MICRO 6 -#define PIXMAN_VERSION_STRING "0.33.4" +#define PIXMAN_VERSION_STRING "0.33.6" #define PIXMAN_VERSION_ENCODE(major, minor, micro) ( \ ((major) * 10000) \
