Skip to content
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

Preventing attempts to use SSE instruction when not supported #55

Merged
merged 14 commits into from
Jun 8, 2024
14 changes: 7 additions & 7 deletions .github/workflows/macos-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ on:

jobs:
build:
runs-on: macos-12
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Update Homebrew
run: brew update
- name: Install autotools
run: brew install autoconf automake libtool
- name: Install automake
run: brew install automake
- name: Install dependencies
run: brew install htslib gsl
run: brew install htslib
- name: Generate configure script
run: ./autogen.sh
- name: configure with g++-13
run: ./configure CXX="g++-13" CPPFLAGS="-I$(brew --prefix)/include" LDFLAGS="-L$(brew --prefix)/lib"
- name: make
run: make
- name: Build with g++
run: make CXXFLAGS="-O3 -DNDEBUG -Wl,-ld_classic"
2 changes: 2 additions & 0 deletions src/abismal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1002,8 +1002,10 @@ check_hits(const uint32_t offset, const PackedRead::const_iterator read_st,
vector<uint32_t>::const_iterator start_idx, result_type &res) {
for (; start_idx != end_idx && !res.sure_ambig; ++start_idx) {
// GS: adds the next candidate to L1d cache while current is compared
#ifdef __SSE__
_mm_prefetch(&(*(genome_st + ((*(start_idx + 10) - offset) >> 4))),
_MM_HINT_T0);
#endif
const uint32_t the_pos = *start_idx - offset;
/* GS: the_pos & 15u tells if the position is a multiple of 16, in
* which case it is aligned with the genome. Otherwise we need to
Expand Down
Loading