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

Separate implementations of AMAX and IAMAX on arm #2145

Merged
merged 3 commits into from
Jun 5, 2019
Merged

Separate implementations of AMAX and IAMAX on arm #2145

merged 3 commits into from
Jun 5, 2019

Conversation

martin-frbg
Copy link
Collaborator

@martin-frbg martin-frbg commented May 29, 2019

As noted in #1912 and comment on #2142, the combined implementation happens to "do the right thing" on hardfp, but cannot return both value and index on softfp where they would have to share the return register

As noted in #1912 and comment on #1942, the combined implementation happens to "do the right thing" on hardfp, but cannot return both value and index on softfp where they would have to share the return register
@ashwinyes
Copy link
Contributor

The implementation amax_vfp.S will not work for double precision or complex cases (both double and single).

@martin-frbg
Copy link
Collaborator Author

Right, so far this is only an attempt to fix SAMAX for #1912 without breaking ISAMAX. So how would I handle double precision, would a single "vmov r0 r1 d0" be sufficient ? (I have even less of an idea how to handle the complex case, on my own I would probably drop them back to their generic C implementations)

@ashwinyes
Copy link
Contributor

For Double, see nrm2_vfp.S. "vmov r0, r1, d0" should be enough.

For Complex case, it would be better to write a file name izamax_vfp.S. For now move back to generic C implementation.

@martin-frbg
Copy link
Collaborator Author

Thank you - that is actually where I got the idea from. It will still be some time until I manage to write any meaningful assembly from scratch.

@martin-frbg martin-frbg merged commit 909ad04 into OpenMathLib:develop Jun 5, 2019
@martin-frbg martin-frbg added this to the 0.3.7 milestone Jun 5, 2019
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.

2 participants