diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-03-17 07:37:31 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-03-17 07:37:31 +0000 |
commit | a8d4097445a64e365d9196bca0ddafa47bfe7403 (patch) | |
tree | 130418add5e95c8508231819ab25a8d5d69c0bfb /clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp | |
parent | 02cd0bfa46b9104d5342a00457452665afbef028 (diff) | |
download | bcm5719-llvm-a8d4097445a64e365d9196bca0ddafa47bfe7403.tar.gz bcm5719-llvm-a8d4097445a64e365d9196bca0ddafa47bfe7403.zip |
[AVX-512] Make VEX encoded FMA instructions available when AVX512 is enabled regardless of whether +fma was added on the command line.
We weren't able to handle isel of the 128/256-bit FMA instructions when AVX512F was enabled but VLX and FMA weren't.
I didn't mask FeatureAVX512 imply FeatureFMA as I wasn't sure I wanted disabling FMA to also disable AVX512. Instead we just can't prevent FMA instructions if AVX512 is enabled.
Another option would be to promote 128/256-bit to 512-bit, do the operation and extract it. But that requires a lot of extra isel patterns. Since no CPUs exist that support AVX512, but not FMA just using the VEX instructions seems better.
llvm-svn: 298051
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp')
0 files changed, 0 insertions, 0 deletions