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

Audit: Atomic intrinsics #850

Merged
merged 7 commits into from
Feb 22, 2022
Merged

Conversation

adpaco-aws
Copy link
Contributor

Description of changes:

  1. Moves intrinsics tests under the Intrinsics folder.
  2. Adds support for atomic_nand* intrinsics.
  3. Adds support for atomic_singlethreadfence* intrinsics.
  4. Adds missing test for atomic_cxchgweak* intrinsics.
  5. Adds negative tests for missing atomic intrinsics (atomic_min*, atomic_umin*, atomic_max* and atomic_umax*).
  6. Updates intrinsics table to reflect actual current status.

Resolved issues:

Resolves #790
Part of #727

Call-outs:

  • Support for remaining atomic intrinsics may be added later. Min/max may have different options for implementation and I want to consider all of them before committing to one.
  • One test case per variant in min/max intrinsics ensures there is not support for them (via intrinsics, hooks, etc.).

Testing:

  • How is this change tested? Added and edited both positive and negative test cases to the standard regression.

  • Is this a refactor change? No.

Checklist

  • Each commit message has a non-empty body, explaining why the change was made
  • Methods or procedures are documented
  • Regression or unit tests are included, or existing tests cover the modified code
  • My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@adpaco-aws adpaco-aws requested a review from a team as a code owner February 21, 2022 21:33
@adpaco-aws adpaco-aws merged commit 812117b into model-checking:main Feb 22, 2022
@adpaco-aws adpaco-aws mentioned this pull request Feb 22, 2022
tedinski pushed a commit to tedinski/rmc that referenced this pull request Apr 22, 2022
* Moved atomic intrinsics tests, added description

* Add support for `atomic_nand*`

* Support for `atomic_singlethreadfence` and variants

* Add missing test for `atomic_cxchgweak`

* Add negative tests for min & max atomics

* Update doc with missing intrinsics
tedinski pushed a commit to tedinski/rmc that referenced this pull request Apr 25, 2022
* Moved atomic intrinsics tests, added description

* Add support for `atomic_nand*`

* Support for `atomic_singlethreadfence` and variants

* Add missing test for `atomic_cxchgweak`

* Add negative tests for min & max atomics

* Update doc with missing intrinsics
tedinski pushed a commit to tedinski/rmc that referenced this pull request Apr 26, 2022
* Moved atomic intrinsics tests, added description

* Add support for `atomic_nand*`

* Support for `atomic_singlethreadfence` and variants

* Add missing test for `atomic_cxchgweak`

* Add negative tests for min & max atomics

* Update doc with missing intrinsics
tedinski pushed a commit that referenced this pull request Apr 27, 2022
* Moved atomic intrinsics tests, added description

* Add support for `atomic_nand*`

* Support for `atomic_singlethreadfence` and variants

* Add missing test for `atomic_cxchgweak`

* Add negative tests for min & max atomics

* Update doc with missing intrinsics
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.

Atomic intrinsic status not well reflected in documentation
2 participants