Skip to content

Conversation

@walbourn
Copy link
Member

@walbourn walbourn commented Jul 31, 2020

Both Visual C++ and clang/LLVM for ARM are fairly lose in their handling of vector type assignment. For GNUC, this resulted in numerous warnings:

use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts

These changes have no codegen impact on Visual C++ or clang/LLVM as these are adding various vreinterpret cast macros or fixing up specific types.

This is similar to the issues that came up when using the SSE codepaths with the Intel compiler.

@walbourn walbourn self-assigned this Jul 31, 2020
@walbourn walbourn requested review from scm-xbox and shawnhar July 31, 2020 06:46
@walbourn walbourn linked an issue Jul 31, 2020 that may be closed by this pull request
@walbourn walbourn added the conformance Related to supporting non-MSVC compilers label Jul 31, 2020
@walbourn
Copy link
Member Author

Validated that the GNC 4.9, Clang 5.0, and Visual C++ code paths for ARM-NEON all compile. Need to do some runtime testing then will be ready to complete the PR...

@walbourn
Copy link
Member Author

Found a few minor bugs when running the test suite. Fixed and done.

@walbourn walbourn merged commit 9962628 into master Jul 31, 2020
@walbourn walbourn deleted the armgnuc branch July 31, 2020 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conformance Related to supporting non-MSVC compilers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ARM NEON intrinsics not fully type safe

2 participants