seqan / seqan3

The modern C++ library for sequence analysis. Contains version 3 of the library and API docs.
https://www.seqan.de
Other
413 stars 82 forks source link

spin_delay.hpp: fix for Darwin PPC #3129

Closed barracuda156 closed 1 year ago

barracuda156 commented 1 year ago

Current assembler is wrong for Darwin PPC, it won’t work and even build. In addition to accommodate ppc64 on Darwin, __ppc64__ should be added (or otherwise __POWERPC__).

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
seqan3 ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Jan 30, 2023 at 11:06AM (UTC)
codecov[bot] commented 1 year ago

Codecov Report

Base: 98.18% // Head: 98.18% // No change to project coverage :thumbsup:

Coverage data is based on head (2fb5449) compared to base (329e5a3). Patch has no changes to coverable lines.

:exclamation: Current head 2fb5449 differs from pull request most recent head 619db34. Consider uploading reports for the commit 619db34 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #3129 +/- ## ======================================= Coverage 98.18% 98.18% ======================================= Files 276 276 Lines 12292 12292 ======================================= Hits 12069 12069 Misses 223 223 ``` | [Impacted Files](https://codecov.io/gh/seqan/seqan3/pull/3129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=seqan) | Coverage Δ | | |---|---|---| | [...lude/seqan3/utility/parallel/detail/spin\_delay.hpp](https://codecov.io/gh/seqan/seqan3/pull/3129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=seqan#diff-aW5jbHVkZS9zZXFhbjMvdXRpbGl0eS9wYXJhbGxlbC9kZXRhaWwvc3Bpbl9kZWxheS5ocHA=) | `100.00% <ø> (ø)` | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=seqan). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=seqan)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

eseiler commented 1 year ago

@barracuda156 do you by chance have a source/reference for the Darwin PPC assembly instruction?

I only found documentation on the "normal" or 27,27,27 instruction, but not really much on the or r27,r27,r27. Though I found source code that shows that Darwin PPC usually does, e.g., r1,r1,r1 instead of 1,1,1.

barracuda156 commented 1 year ago

I only found documentation on the "normal" or 27,27,27 instruction, but not really much on the or r27,r27,r27. Though I found source code that shows that Darwin PPC usually does, e.g., r1,r1,r1 instead of 1,1,1.

@eseiler As long as insns are supported by ISA (and for Darwin that means <= v2.03), they should do what they are supposed to, regardless of the OS (well, provided they do not violate ABI). However, Darwin ABI uses prefixed register names, so 27,27,27 just looks nonsense to the as, since it expects to get registers as arguments of or :)