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

8261108: Add cast nodes from integer types to float types implementation for Arm SVE #37

Closed

Conversation

@Wanghuang-Huawei
Copy link
Collaborator

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 9, 2021

Add the backend codegen for nodes like castb2f / castb2d / casts2f / casts2d / casti2f / casti2d / castl2f / castl2d.

  • add sve_scvtf ( and sve_ucvtf) encoding
  • add mock for these instructions
  • add VECTOR_CAST_I2F_EXTEND[N] and VECTOR_CAST_I2F

Thank you for your review.


Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed

Issue

  • JDK-8261108: Add cast nodes from integer types to float types implementation for Arm SVE

Reviewers

Contributors

  • He Xuejin <hexuejin2@huawei.com>
  • Ai Jiaming <aijiaming1@huawei.com>
  • Wang Huang <whuang@openjdk.org>

Download

$ git fetch https://git.openjdk.java.net/panama-vector pull/37/head:pull/37
$ git checkout pull/37

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Feb 9, 2021

👋 Welcome back whuang! A progress list of the required criteria for merging this PR into vectorIntrinsics will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

Loading

@openjdk openjdk bot added the rfr label Feb 9, 2021
@Wanghuang-Huawei
Copy link
Collaborator Author

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 9, 2021

/contributor add He Xuejin hexuejin2@huawei.com
/contributor add Ai Jiaming aijiaming1@huawei.com

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Feb 9, 2021

@Wanghuang-Huawei
Contributor He Xuejin <hexuejin2@huawei.com> successfully added.

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Feb 9, 2021

@Wanghuang-Huawei
Contributor Ai Jiaming <aijiaming1@huawei.com> successfully added.

Loading

@mlbridge
Copy link

@mlbridge mlbridge bot commented Feb 9, 2021

Loading

src/hotspot/cpu/aarch64/assembler_aarch64.hpp Outdated Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 Outdated Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/assembler_aarch64.hpp Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/aarch64_sve.ad Outdated Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/assembler_aarch64.hpp Outdated Show resolved Hide resolved
Loading
src/hotspot/cpu/aarch64/assembler_aarch64.hpp Show resolved Hide resolved
Loading
@XiaohongGong
Copy link
Collaborator

@XiaohongGong XiaohongGong commented Feb 22, 2021

BTW, there is the floating-point conversions that are missing for SVE. Is it in you plan in a short term? Thanks!

Loading

@Wanghuang-Huawei
Copy link
Collaborator Author

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 22, 2021

BTW, there is the floating-point conversions that are missing for SVE. Is it in you plan in a short term? Thanks!
Yes. I have done that. After this patch, I will commit that.

Loading

@XiaohongGong
Copy link
Collaborator

@XiaohongGong XiaohongGong commented Feb 22, 2021

BTW, there is the floating-point conversions that are missing for SVE. Is it in you plan in a short term? Thanks!
Yes. I have done that. After this patch, I will commit that.

That's great! Thanks so much!

Loading

@openjdk openjdk bot removed the rfr label Feb 24, 2021
Copy link
Collaborator

@nsjian nsjian left a comment

Thanks for the work! I think you haven't addressed all the review comments. But I believe those are trivial for now, and I will do the code refactoring to address them when we have full SVE backend support.

Before integration, could you please fix the jcheck error?

Loading

@openjdk openjdk bot added the rfr label Feb 25, 2021
@Wanghuang-Huawei
Copy link
Collaborator Author

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 25, 2021

Thanks for the work! I think you haven't addressed all the review comments. But I believe those are trivial for now, and I will do the code refactoring to address them when we have full SVE backend support.

Before integration, could you please fix the jcheck error?

It's my fault. I have fixed that.

Loading

nsjian
nsjian approved these changes Feb 25, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Feb 25, 2021

@Wanghuang-Huawei This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8261108: Add cast nodes from integer types to float types implementation for Arm SVE

Co-authored-by: He Xuejin <hexuejin2@huawei.com>
Co-authored-by: Ai Jiaming <aijiaming1@huawei.com>
Co-authored-by: Wang Huang <whuang@openjdk.org>
Reviewed-by: njian

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 1 new commit pushed to the vectorIntrinsics branch:

  • e901c4d: 8261394: [vector] Crash with "assert(Matcher::vector_size_supported(elem_bt, length)) failed: length in range"

Please see this link for an up-to-date comparison between the source branch of this pull request and the vectorIntrinsics branch.
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@nsjian) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

Loading

@openjdk openjdk bot added the ready label Feb 25, 2021
@Wanghuang-Huawei
Copy link
Collaborator Author

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 25, 2021

/contributor add Wang Huang whuang@openjdk.org

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Feb 25, 2021

@Wanghuang-Huawei
Contributor Wang Huang <whuang@openjdk.org> successfully added.

Loading

@Wanghuang-Huawei
Copy link
Collaborator Author

@Wanghuang-Huawei Wanghuang-Huawei commented Feb 25, 2021

/integrate

Loading

@openjdk openjdk bot added the sponsor label Feb 25, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Feb 25, 2021

@Wanghuang-Huawei
Your change (at version f08e39d) is now ready to be sponsored by a Committer.

Loading

@nsjian
Copy link
Collaborator

@nsjian nsjian commented Feb 25, 2021

/sponsor

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Feb 25, 2021

@nsjian @Wanghuang-Huawei Since your change was applied there has been 1 commit pushed to the vectorIntrinsics branch:

  • e901c4d: 8261394: [vector] Crash with "assert(Matcher::vector_size_supported(elem_bt, length)) failed: length in range"

Your commit was automatically rebased without conflicts.

Pushed as commit 721b5f5.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants