Bug 205006

Summary: graphics/lensfun: re-enable runtime SSE/SSE2 detection on i386
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Only Me Keywords: patch, regression
Priority: --- Flags: jbeich: merge-quarterly+
Version: Latest   
Hardware: Any   
OS: Any   
URL: http://sourceforge.net/p/lensfun/code/ci/2849b4bfd13b6b7501495fb841addb8441e0f5ea/
Bug Depends on:    
Bug Blocks: 196182, 200028    
Attachments:
Description Flags
v1 none

Description Jan Beich freebsd_committer freebsd_triage 2015-12-04 05:01:59 UTC
Created attachment 163834 [details]
v1

Changes from URL:

- Limit -msse/-msse2 to files using intrinsics
- Limit SSE/SSE2 optimizations to x86
- Expose above as SIMD option
- Improve Clang fix (cosmetic here)

build logs:
9.3 i386,   gcc 4.2.1+  - http://sprunge.us/QPPT 
10.1 i386,  clang 3.4.1 - http://sprunge.us/eOCd
11.0 armv6, clang 3.7.0 - http://sprunge.us/PBXc
Comment 1 Jan Beich freebsd_committer freebsd_triage 2015-12-25 09:09:15 UTC
Maintainer timeout? Are you waiting for upstream response, perhaps? Adding to MFH queue as this is likely to slip 2016Q1 branch date.

Technically, the regression(s) appeared since ports r382801 (2015Q2) due to upstream changes which later led to ports r402504 (2015Q4) regressing downstream build. Here's why 0.2.8 worked fine

  # Check for CPU vectorization feature enable flags
  if tibs.VECTORIZATION.strip ().upper () == "YES":
      if (tibs.TARGET [1] == "x86") or (tibs.TARGET [1] == "x86_64"):
          tibs.VECTORIZATION = ["SSE", "SSE2"]

  ifdef VECTORIZATION_SSE
  $(OUT)libs/lensfun/mod-coord-sse.%: CFLAGS += $(VECTORIZATION_SSE)
  endif
  ifdef VECTORIZATION_SSE2
  $(OUT)libs/lensfun/mod-color-sse2.%: CFLAGS += $(VECTORIZATION_SSE2)
  endif
Comment 2 commit-hook freebsd_committer freebsd_triage 2016-01-13 13:34:52 UTC
A commit references this bug:

Author: danfe
Date: Wed Jan 13 13:34:08 UTC 2016
New revision: 406040
URL: https://svnweb.freebsd.org/changeset/ports/406040

Log:
  - Limit -msse/-msse2 to files that actually use intrinsics
  - Limit SSE/SSE2 optimizations to x86 CPUs (exposed as SIMD option)

  PR:	205006

Changes:
  head/graphics/lensfun/Makefile
  head/graphics/lensfun/files/patch-CMakeLists.txt
  head/graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt
Comment 3 Alexey Dokuchaev freebsd_committer freebsd_triage 2016-01-13 13:36:24 UTC
Seems OK, committed as ports r406040, thank you.
Comment 4 commit-hook freebsd_committer freebsd_triage 2016-01-17 05:31:35 UTC
A commit references this bug:

Author: jbeich
Date: Sun Jan 17 05:31:00 UTC 2016
New revision: 406284
URL: https://svnweb.freebsd.org/changeset/ports/406284

Log:
  MFH: r406040 by danfe

  - Limit -msse/-msse2 to files that actually use intrinsics
  - Limit SSE/SSE2 optimizations to x86 CPUs (exposed as SIMD option)

  PR:	205006
  Approved by:	ports-secteam (feld)

Changes:
_U  branches/2016Q1/
  branches/2016Q1/graphics/lensfun/Makefile
  branches/2016Q1/graphics/lensfun/files/patch-CMakeLists.txt
  branches/2016Q1/graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt