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

Neon: Implement incomplete function families pt. 2 #843

Merged
merged 4 commits into from Jul 14, 2021

Conversation

Glitch18
Copy link
Contributor

This PR completes the following function families (WIP) :

  • qrshrn_n
  • qshlu_n
  • qshrn_n
  • rsra_n
  • shl
  • shl_n
  • sri_n

@Glitch18 Glitch18 marked this pull request as draft June 23, 2021 16:53
@Glitch18 Glitch18 force-pushed the func-fam-2 branch 5 times, most recently from 2da8e3a to 1ead33a Compare June 30, 2021 16:56
simde/arm/neon/rshr_n.h Outdated Show resolved Hide resolved
Copy link
Member

@nemequ nemequ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, excellent. I added a few notes, mostly minor stuff. There are a few coding style breaks which I'll clean up when I merge, no big deal.

I'm going to merge all except:

  • cvt
  • qshlu_n
  • ld1_dup
  • st2_lane (due to the CI failure)

Those have issues which I'd prefer to have fixed before they are merged, but none should be particularly troublesome. qshlu_n might be ok to merge as-is, but I want to confirm that it doesn't cause problems for some compilers first.

simde/arm/neon/cvt.h Outdated Show resolved Hide resolved
simde/arm/neon/qshlu_n.h Outdated Show resolved Hide resolved
simde/arm/neon/ld1_dup.h Show resolved Hide resolved
simde/arm/neon/recps.h Outdated Show resolved Hide resolved
simde/arm/neon/rsqrts.h Outdated Show resolved Hide resolved
@nemequ
Copy link
Member

nemequ commented Jul 8, 2021

I also dropped st2 and ld4_lane due to CI failures. For st2, AddressSanitizer picks up the issue. For ld4_lane, GCC on armv8 / armv7 and clang on armv7 has some compile-time failures.

@Glitch18 Glitch18 force-pushed the func-fam-2 branch 7 times, most recently from 2efcf6f to 66a73ca Compare July 12, 2021 19:40
@Glitch18 Glitch18 requested a review from nemequ July 12, 2021 19:40
@Glitch18 Glitch18 marked this pull request as ready for review July 12, 2021 19:41
simde_float64x1_t
simde_vld1_dup_f64(simde_float64 const * ptr) {
#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
return vreinterpret_f64_s64(vld1_dup_s64(ptr));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're going to need a reienterpret_cast to convert to inst64_t const * or you end up with a -Wincompatible-pointer-types

simde/arm/neon/st2_lane.h Show resolved Hide resolved
@Glitch18 Glitch18 force-pushed the func-fam-2 branch 2 times, most recently from b128196 to dfe22b5 Compare July 13, 2021 20:27
@Glitch18 Glitch18 requested a review from nemequ July 13, 2021 22:09
@nemequ nemequ merged commit 5be1b07 into simd-everywhere:master Jul 14, 2021
@Glitch18 Glitch18 deleted the func-fam-2 branch July 15, 2021 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants