-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use the simde header library for greater compatibility #251
base: master
Are you sure you want to change the base?
Conversation
Dear @parkchanhee , is there anything I can do to get this PR merged? Thanks! |
Dear @infphilo , can you review this PR? |
@mr-c Thank you for nice PR. |
This is awesome, thanks for posting. I think you might have a precedence issue, though. The following evaluates to true if i386 is defined regardless of GNUC:
Should it be the following instead?
|
I just updated the FreeBSD port to include support for aarch64 and powerpc64. In addition to the above patch set, the following changes were also needed: Remove -DPOPCNT_CAPABILITY |
+1 for adding support for Linux ARM64! |
I'd also suggest the following change in the Makefile to not add diff --git Makefile Makefile
index b839981..f9a6ce2 100644
--- Makefile
+++ Makefile
@@ -152,9 +152,10 @@ HISAT2_REPEAT_CPPS_MAIN = $(REPEAT_CPPS) $(BUILD_CPPS) hisat2_repeat_main.cpp
SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
VERSION = $(shell cat VERSION)
+ARCH=$(shell uname -m)
# Convert BITS=?? to a -m flag
BITS=32
-ifeq (x86_64,$(shell uname -m))
+ifeq (x86_64,$(ARCH))
BITS=64
endif
# msys will always be 32 bit so look at the cpu arch instead.
@@ -165,14 +166,16 @@ ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
endif
BITS_FLAG =
-ifeq (32,$(BITS))
- BITS_FLAG = -m32
-endif
+ifeq (x86_64,$(ARCH))
+ ifeq (32,$(BITS))
+ BITS_FLAG = -m32
+ endif
-ifeq (64,$(BITS))
- BITS_FLAG = -m64
+ ifeq (64,$(BITS))
+ BITS_FLAG = -m64
+ endif
+ SSE_FLAG=-msse2
endif
-SSE_FLAG=-msse2
DEBUG_FLAGS = -O0 -g3 $(BITS_FLAG) $(SSE_FLAG)
DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" |
This is needed for DaehwanKimLab#251 where 'simde' is added as a Git submodule Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
@mr-c You may also want to incorporate the changes I suggest with https://github.com/DaehwanKimLab/hisat2/pull/408/files - CI for Linux x86_64 and aarch64. It will make it easier for the repo maintainers to see that x86_64 still builds and there is no problem with Linux aarch64 |
I may be doing something wrong but the build of this branch fails on my system (Linux openEuler 22.03 LTS ARM64):
Full logs: hisat2-linux-arm64.txt The steps I did:
|
This is needed for DaehwanKimLab#251 where 'simde' is added as a Git submodule Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
This is needed for DaehwanKimLab#251 where 'simde' is added as a Git submodule Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
This is needed for DaehwanKimLab#251 where 'simde' is added as a Git submodule Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
Thank you @martin-g for the feedback! I pushed some changes that should fix that |
I confirm that now the project builds fine on Linux ARM64! Thank you, @mr-c ! |
I also validated it in my Linux aarch64, it works, so would you mind taking a look on this? @parkchanhee |
Friendly ping! |
Are there any plans to merge this change? |
With thanks to @mr-c for DaehwanKimLab/hisat2#251
* Bump build number, will this bump a rebuild on linux-aarch64? * Add make -j * Add support for linux-aarch64 and osx-arm64. With thanks to @mr-c for DaehwanKimLab/hisat2#251 * Add run_exports, bump build number. * Update meta.yaml --------- Co-authored-by: Joshua Zhuang <[email protected]>
This patch from Debian allows building and running hisat2 on non-x86 systems like arm64, ppc64el, s390x, and more: https://buildd.debian.org/status/package.php?p=hisat2
Closes #244
Closes #67