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

Add quadprecision math library #235

Merged
merged 14 commits into from Jan 24, 2019

Conversation

Projects
None yet
2 participants
@shibatch
Copy link
Owner

shibatch commented Jan 22, 2019

This is a part of implementation of issue #233.
At this point, add, mul, div and sqrt are implemented. Remaining functions will be committed in the succeeding PRs.
As for vector extensions, SSE2, AVX, FMA4, AVX2, AV2_128, AVX512F and AdvSIMD are supported.

This quadprecision math library is built only if -DBUILD_QUAD option is given to cmake. For some time(1 year?), this subproject is positioned at alpha development stage.

shibatch added some commits Jan 22, 2019

@shibatch shibatch requested a review from fpetrogalli-arm Jan 22, 2019

@shibatch

This comment has been minimized.

Copy link
Owner Author

shibatch commented Jan 22, 2019

I forgot to mention that "-march=armv8-a+simd" option is removed as pointed out in issue #232.
The work around for ICE of armclang is also removed.

@fpetrogalli-arm
Copy link
Collaborator

fpetrogalli-arm left a comment

Is there any reason why the quad precision functions and tests live in a separate folder and not in src/libm?

Show resolved Hide resolved .travis.yml Outdated
Show resolved Hide resolved Configure.cmake Outdated
Show resolved Hide resolved Jenkinsfile Outdated
Show resolved Hide resolved src/CMakeLists.txt Outdated
Show resolved Hide resolved src/arch/helperadvsimd.h
Show resolved Hide resolved src/quad-tester/CMakeLists.txt
Show resolved Hide resolved src/quad-tester/tester2simdqp.c
Show resolved Hide resolved src/quad/CMakeLists.txt
@shibatch

This comment has been minimized.

Copy link
Owner Author

shibatch commented Jan 22, 2019

Is there any reason why the quad precision functions and tests live in a separate folder and not in src/libm?

There is so much difference in code maturity and public demand.
I think there is smaller number of people who are interested in the qp library.
I am going to add many qp functions in coming years.
If we keep qp functions in the same folder as libm, we will have much more hustle.

shibatch added some commits Jan 23, 2019

Reflected comments.
Added SVE support.
@fpetrogalli-arm

This comment has been minimized.

Copy link
Collaborator

fpetrogalli-arm commented Jan 23, 2019

This look good to me now, I am happy to keep it separate from libsleef/libsleefgnuabi. Please resolve the conflicts and squash ll commits in one commit, with a sensible commit message of what you have added in this PR (please avoid a merge as it would introduce commits with empty message).

@shibatch shibatch merged commit a053716 into master Jan 24, 2019

6 checks passed

continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/jenkins/branch This commit looks good
Details
continuous-integration/jenkins/pr-merge This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@shibatch shibatch deleted the Add_quadprecision_lib branch Jan 24, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.