Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

use the simde header library for non-x86 compatability #11

Closed
wants to merge 1 commit into from

Conversation

mr-c
Copy link

@mr-c mr-c commented Jun 20, 2020

Hello, this is a patch that we use for the Debian package of pbcopper to enable building on non-x86 systems like arm64, ppc64el, and s390x

@armintoepfer
Copy link
Member

Thank you. We'll discuss internally and then likely cherry-pick your commit!

@armintoepfer
Copy link
Member

Hey @mr-c,

this isn't working on Apple Clang: clang 11.0.0 "Apple clang version 11.0.0 (clang-1100.0.33.17)")

../src/third-party/simde-no-tests/x86/sse2.h:4872:5: error: 'diagnose_if' attribute expression never produces a constant expression
    SIMDE_REQUIRE_CONSTANT_RANGE(imm8, 0, 255)
    ^
../src/third-party/simde-no-tests/x86/../simde-common.h:176:5: note: expanded from macro 'SIMDE_REQUIRE_CONSTANT_RANGE'
    SIMDE_REQUIRE_CONSTANT(arg)                     \
    ^
../src/third-party/simde-no-tests/x86/../simde-common.h:163:5: note: expanded from macro 'SIMDE_REQUIRE_CONSTANT'
    HEDLEY_REQUIRE_MSG(SIMDE_CHECK_CONSTANT_(arg), "`" #arg "' must be constant")
    ^
../src/third-party/simde-no-tests/hedley.h:1744:24: note: expanded from macro 'HEDLEY_REQUIRE_MSG'
        __attribute__((diagnose_if(!(expr), msg, "error"))) HEDLEY_DIAGNOSTIC_POP
                       ^
../src/third-party/simde-no-tests/x86/sse2.h:4872:5: note: subexpression not valid in a constant expression
../src/third-party/simde-no-tests/x86/../simde-common.h:176:5: note: expanded from macro 'SIMDE_REQUIRE_CONSTANT_RANGE'
    SIMDE_REQUIRE_CONSTANT(arg)                     \
    ^
../src/third-party/simde-no-tests/x86/../simde-common.h:163:24: note: expanded from macro 'SIMDE_REQUIRE_CONSTANT'
    HEDLEY_REQUIRE_MSG(SIMDE_CHECK_CONSTANT_(arg), "`" #arg "' must be constant")
                       ^
../src/third-party/simde-no-tests/x86/../simde-common.h:154:38: note: expanded from macro 'SIMDE_CHECK_CONSTANT_'
#define SIMDE_CHECK_CONSTANT_(expr) (__builtin_constant_p(expr))

@mr-c
Copy link
Author

mr-c commented Jul 6, 2020

@armintoepfer Huh! Okay, I've reported it upstream simd-everywhere/simde#470
Could you add some macOS CI to this PR/repo so I can check myself?

@mr-c
Copy link
Author

mr-c commented Jul 8, 2020

@armintoepfer I've updated the git submodule to be up to date with simd-everywhere/simde@e5b5b7d which should fix the clang 11 issue ; thanks again for the report!

@armintoepfer
Copy link
Member

Thank you. I'll patch it internally and try again as time allows.

@mr-c
Copy link
Author

mr-c commented Sep 4, 2020

@armintoepfer Thanks, let me know what I can do to help. I've refreshed this PR to use the latest regular release of SIMDe (v0.6.0)

@armintoepfer
Copy link
Member

You can't do anything right now :) Thank you

@armintoepfer
Copy link
Member

We can't merge this right now, as each and every project relies on pbcopper and thus we'd need to add simde as a dependency to every project. We will consider adding this once we also target ARM. The feature branch is ready to merge internally, when we decide to pull the trigger.

@armintoepfer
Copy link
Member

Only took me half a year, but it's done :)

@mr-c
Copy link
Author

mr-c commented Dec 22, 2020

Woohoo! When can we expect a new release?

@armintoepfer
Copy link
Member

As in tagging a new release? @derekwbarnett it should be fine if we cut 1.9.0 now?

@derekwbarnett
Copy link
Contributor

Yeah, we can bump it.

@armintoepfer
Copy link
Member

https://github.com/PacificBiosciences/pbcopper/releases/tag/v1.9.0

@mr-c mr-c deleted the simde branch December 23, 2020 15:20
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants