Skip to content

[msan][NFCI] Add tests for Arm NEON vector convert #126095

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

Merged
merged 1 commit into from
Feb 6, 2025

Conversation

thurstond
Copy link
Contributor

Suboptimally handled by visitInstruction: llvm.aarch64.neon.

  • fcvtas, fcvtau
  • fcvtms, fcvtmu
  • fcvtns, fcvtnu
  • fcvtps, fcvtpu
  • fcvtzs, fcvtzu
  • fcvtxn
  • vcvtfp2fxs, vcvtfp2fxu
  • vcvtfxs2fp, vcvtfxu2fp

Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll

Suboptimally handled by visitInstruction: llvm.aarch64.neon.
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu
- fcvtxn
- vcvtfp2fxs, vcvtfp2fxu
- vcvtfxs2fp, vcvtfxu2fp

Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll
@thurstond
Copy link
Contributor Author

CI failures (LLVM.CodeGen/RISCV/select-const.ll) are unrelated

@thurstond thurstond merged commit 48da1e2 into llvm:main Feb 6, 2025
6 of 8 checks passed
thurstond added a commit to thurstond/llvm-project that referenced this pull request Feb 6, 2025
This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

Updates the tests in llvm#126095
Icohedron pushed a commit to Icohedron/llvm-project that referenced this pull request Feb 11, 2025
Suboptimally handled by visitInstruction: llvm.aarch64.neon.
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu
- fcvtxn
- vcvtfp2fxs, vcvtfp2fxu
- vcvtfxs2fp, vcvtfxu2fp

Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll
thurstond added a commit to thurstond/llvm-project that referenced this pull request Feb 12, 2025
This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

Updates the tests in llvm#126095
thurstond added a commit that referenced this pull request Feb 12, 2025
…26136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from #126095
github-actions bot pushed a commit to arm/arm-toolchain that referenced this pull request Feb 12, 2025
…rinsics (#126136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from llvm/llvm-project#126095
flovent pushed a commit to flovent/llvm-project that referenced this pull request Feb 13, 2025
…vm#126136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from llvm#126095
joaosaffran pushed a commit to joaosaffran/llvm-project that referenced this pull request Feb 14, 2025
…vm#126136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from llvm#126095
sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request Feb 24, 2025
…vm#126136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from llvm#126095
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.

2 participants