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
Merged

Add quadprecision math library #235

merged 14 commits into from Jan 24, 2019

Conversation

@shibatch
Copy link
Owner

@shibatch 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 shibatch requested a review from fpetrogalli Jan 22, 2019
@shibatch
Copy link
Owner Author

@shibatch 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.

Copy link
Collaborator

@fpetrogalli fpetrogalli left a comment

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

.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 Show resolved Hide resolved
@shibatch
Copy link
Owner Author

@shibatch 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.

@fpetrogalli
Copy link
Collaborator

@fpetrogalli fpetrogalli 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
6 checks passed
continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
@shibatch
continuous-integration/jenkins/branch This commit looks good
Details
@shibatch
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
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants