Skip to content

8266775: Add VectorLoadConst node implementation for Arm SVE #79

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

Closed

Conversation

Wanghuang-Huawei
Copy link
Collaborator

@Wanghuang-Huawei Wanghuang-Huawei commented May 8, 2021

  • add VectorLoadConst node implementation for Arm SVE by
    • add new data in generate_iota_indices
    • sve_ld1b these data
    • sve_index

Thank you for your review. Any suggestion is welcome.


Progress

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

Issue

  • JDK-8266775: Add VectorLoadConst node implementation for Arm SVE

Reviewers

Contributors

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

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79
$ git checkout pull/79

Update a local copy of the PR:
$ git checkout pull/79
$ git pull https://git.openjdk.java.net/panama-vector pull/79/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 79

View PR using the GUI difftool:
$ git pr show -t 79

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/panama-vector/pull/79.diff

@Wanghuang-Huawei
Copy link
Collaborator Author

/contributor add Wang Huang whuang@openjdk.org
/contributor add Ai Jiaming aijiaming1@huawei.com

@bridgekeeper
Copy link

bridgekeeper bot commented May 8, 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.

@openjdk openjdk bot added the rfr label May 8, 2021
@openjdk
Copy link

openjdk bot commented May 8, 2021

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

@openjdk
Copy link

openjdk bot commented May 8, 2021

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

@mlbridge
Copy link

mlbridge bot commented May 8, 2021

Webrevs

Comment on lines 4232 to 4233
__ lea(rscratch1, ExternalAddress(StubRoutines::aarch64::vector_iota_indices()));
__ sve_ld1b(as_FloatRegister($dst$$reg), __ B, ptrue, Address(rscratch1, 0));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could it use INDEX <Zd>.<T>, #<imm1>, #<imm2> (Create index starting from and incremented by immediate) here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great suggestion. I will change that. Thank you.

Comment on lines 2495 to 2496
// ------------------------------ Vector Load Const -------------------------------
instruct loadconB(vReg dst, immI0 src)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a blank line between them?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.

Comment on lines +2498 to +2499
predicate(UseSVE > 0 &&
n->bottom_type()->is_vect()->element_basic_type() == T_BYTE);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the size is 16, the neon pattern will also be matched. Can you please add "UseSVE == 0" for NEON VectorLoadConst patterns?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your review. I have changed that.

Wanghuang-Huawei added 2 commits May 12, 2021 15:06
@openjdk
Copy link

openjdk bot commented May 14, 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:

8266775: Add VectorLoadConst node implementation for Arm SVE

Co-authored-by: Wang Huang <whuang@openjdk.org>
Co-authored-by: Ai Jiaming <aijiaming1@huawei.com>
Reviewed-by: xgong, 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 no new commits pushed to the vectorIntrinsics branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the vectorIntrinsics branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label May 14, 2021
@XiaohongGong
Copy link
Collaborator

Looks good to me! I think it's better to also get approved by @nsjian . Thanks!

Copy link

@nsjian nsjian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thanks!

@Wanghuang-Huawei
Copy link
Collaborator Author

/sponsor

@Wanghuang-Huawei
Copy link
Collaborator Author

/integrate

@openjdk
Copy link

openjdk bot commented May 17, 2021

@Wanghuang-Huawei This change does not need sponsoring - the author is allowed to integrate it.

@Wanghuang-Huawei
Copy link
Collaborator Author

/sponsor

@openjdk openjdk bot closed this May 17, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels May 17, 2021
@openjdk
Copy link

openjdk bot commented May 17, 2021

@Wanghuang-Huawei Pushed as commit 0b2f1aa.

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

@openjdk
Copy link

openjdk bot commented May 17, 2021

@Wanghuang-Huawei The command sponsor can only be used in open pull requests.

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

Successfully merging this pull request may close these issues.

3 participants