[arch-commits] Commit in embree/repos/community-x86_64 (3 files)

Bruno Pagani archange at archlinux.org
Fri Mar 9 13:55:54 UTC 2018


    Date: Friday, March 9, 2018 @ 13:55:53
  Author: archange
Revision: 305275

archrelease: copy trunk to community-x86_64

Added:
  embree/repos/community-x86_64/PKGBUILD
    (from rev 305274, embree/trunk/PKGBUILD)
  embree/repos/community-x86_64/fix-avx512-gcc7.patch
    (from rev 305274, embree/trunk/fix-avx512-gcc7.patch)
Deleted:
  embree/repos/community-x86_64/PKGBUILD

-----------------------+
 PKGBUILD              |   79 +++++++++++++++++++++++++-----------------------
 fix-avx512-gcc7.patch |   49 +++++++++++++++++++++++++++++
 2 files changed, 91 insertions(+), 37 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-03-09 13:55:37 UTC (rev 305274)
+++ PKGBUILD	2018-03-09 13:55:53 UTC (rev 305275)
@@ -1,37 +0,0 @@
-# $Id$
-# Maintainer: Lukas Jirkovsky <l.jirkovsky at gmail.com>
-# Maintainer: Bruno Pagani <archange at archlinux.org>
-
-pkgname=embree
-pkgver=2.17.3
-pkgrel=1
-pkgdesc="A collection of high-performance ray tracing kernels"
-arch=('x86_64')
-url="https://embree.github.io/"
-license=('Apache')
-depends=('intel-tbb')
-makedepends=('cmake' 'ispc' 'freeglut' 'libxmu' 'openexr')
-provides=('embree-isa')
-replaces=('embree-isa')
-source=("${pkgname}-${pkgver}.tar.gz::https://github.com/embree/embree/archive/v${pkgver}.tar.gz")
-sha256sums=('c7d7172ce6e64a7a405fba97ed9e3e92a9cdd53aba5cfc0d46d4b792e22bc0fe')
-
-build() {
-  cd ${pkgname}-${pkgver}
-
-  cmake . \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DCMAKE_INSTALL_LIBDIR=lib \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DEMBREE_TUTORIALS=OFF \
-    -DEMBREE_MAX_ISA="AVX2"
-  # Embree detects actual ISA at runtime
-  # AVX512KNL/SKX: https://github.com/embree/embree/issues/169
-  make
-}
-
-package() {
-  cd ${pkgname}-${pkgver}
-  make DESTDIR="${pkgdir}" install
-}
-

Copied: embree/repos/community-x86_64/PKGBUILD (from rev 305274, embree/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-03-09 13:55:53 UTC (rev 305275)
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Lukas Jirkovsky <l.jirkovsky at gmail.com>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+
+pkgname=embree
+pkgver=2.17.3
+pkgrel=2
+pkgdesc="A collection of high-performance ray tracing kernels"
+arch=('x86_64')
+url="https://embree.github.io/"
+license=('Apache')
+depends=('intel-tbb')
+makedepends=('cmake' 'ispc' 'freeglut' 'libxmu' 'openexr')
+provides=('embree-isa')
+replaces=('embree-isa')
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/embree/embree/archive/v${pkgver}.tar.gz"
+        'fix-avx512-gcc7.patch')
+sha256sums=('c7d7172ce6e64a7a405fba97ed9e3e92a9cdd53aba5cfc0d46d4b792e22bc0fe'
+            '0982f55ccf3e5001a16c717b195689b291daf6769bce5b059e2499e098012117')
+
+prepare() {
+    cd ${pkgname}-${pkgver}
+    patch -p1 -i ../fix-avx512-gcc7.patch
+}
+
+build() {
+    cd ${pkgname}-${pkgver}
+    cmake . \
+      -DCMAKE_INSTALL_PREFIX=/usr \
+      -DCMAKE_INSTALL_LIBDIR=lib \
+      -DCMAKE_BUILD_TYPE=Release \
+      -DEMBREE_TUTORIALS=OFF \
+      -DEMBREE_MAX_ISA="AVX512SKX"
+    # Embree detects actual ISA at runtime
+    make
+}
+
+package() {
+    cd ${pkgname}-${pkgver}
+    make DESTDIR="${pkgdir}" install
+}
+

Copied: embree/repos/community-x86_64/fix-avx512-gcc7.patch (from rev 305274, embree/trunk/fix-avx512-gcc7.patch)
===================================================================
--- fix-avx512-gcc7.patch	                        (rev 0)
+++ fix-avx512-gcc7.patch	2018-03-09 13:55:53 UTC (rev 305275)
@@ -0,0 +1,49 @@
+From 40b9aca2668f443cae6bfbfa7cc5a354f1087011 Mon Sep 17 00:00:00 2001
+From: Sven Woop <sven.woop at intel.com>
+Date: Wed, 7 Mar 2018 11:02:01 +0000
+Subject: [PATCH] AVX512 compile fix for GCC 7
+
+---
+ common/simd/vfloat16_avx512.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/common/simd/vfloat16_avx512.h b/common/simd/vfloat16_avx512.h
+index 9b7dccf714..306de62dfc 100644
+--- a/common/simd/vfloat16_avx512.h
++++ b/common/simd/vfloat16_avx512.h
+@@ -458,29 +458,29 @@ namespace embree
+   }
+ 
+   __forceinline vfloat16 interleave_even(const vfloat16& a, const vfloat16& b) {
+-    return _mm512_castsi512_ps(_mm512_mask_shuffle_epi32(_mm512_castps_si512(a), mm512_int2mask(0xaaaa), _mm512_castps_si512(b), 0xb1));
++    return _mm512_castsi512_ps(_mm512_mask_shuffle_epi32(_mm512_castps_si512(a), mm512_int2mask(0xaaaa), _mm512_castps_si512(b), (_MM_PERM_ENUM)0xb1));
+   }
+ 
+   __forceinline vfloat16 interleave_odd(const vfloat16& a, const vfloat16& b) {
+-    return _mm512_castsi512_ps(_mm512_mask_shuffle_epi32(_mm512_castps_si512(b), mm512_int2mask(0x5555), _mm512_castps_si512(a), 0xb1));
++    return _mm512_castsi512_ps(_mm512_mask_shuffle_epi32(_mm512_castps_si512(b), mm512_int2mask(0x5555), _mm512_castps_si512(a), (_MM_PERM_ENUM)0xb1));
+   }
+ 
+   __forceinline vfloat16 interleave2_even(const vfloat16& a, const vfloat16& b) {
+     /* mask should be 8-bit but is 16-bit to reuse for interleave_even */
+-    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(a), mm512_int2mask(0xaaaa), _mm512_castps_si512(b), 0xb1));
++    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(a), mm512_int2mask(0xaaaa), _mm512_castps_si512(b), (_MM_PERM_ENUM)0xb1));
+   }
+ 
+   __forceinline vfloat16 interleave2_odd(const vfloat16& a, const vfloat16& b) {
+     /* mask should be 8-bit but is 16-bit to reuse for interleave_odd */
+-    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(b), mm512_int2mask(0x5555), _mm512_castps_si512(a), 0xb1));
++    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(b), mm512_int2mask(0x5555), _mm512_castps_si512(a), (_MM_PERM_ENUM)0xb1));
+   }
+ 
+   __forceinline vfloat16 interleave4_even(const vfloat16& a, const vfloat16& b) {
+-    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(a), mm512_int2mask(0xcc), _mm512_castps_si512(b), 0x4e));
++    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(a), mm512_int2mask(0xcc), _mm512_castps_si512(b), (_MM_PERM_ENUM)0x4e));
+   }
+ 
+   __forceinline vfloat16 interleave4_odd(const vfloat16& a, const vfloat16& b) {
+-    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(b), mm512_int2mask(0x33), _mm512_castps_si512(a), 0x4e));
++    return _mm512_castsi512_ps(_mm512_mask_permutex_epi64(_mm512_castps_si512(b), mm512_int2mask(0x33), _mm512_castps_si512(a), (_MM_PERM_ENUM)0x4e));
+   }
+ 
+   __forceinline vfloat16 permute(vfloat16 v, __m512i index) {



More information about the arch-commits mailing list