summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-11-25 18:32:43 +0000
committerCraig Topper <craig.topper@intel.com>2017-11-25 18:32:43 +0000
commite485631cd148e18701254634a3003e6bb5797eb2 (patch)
tree6e7e208068025363a98e57a88f3a7ede7f48069e /clang/test
parentea37e201ec2f9c3d8b2c9bb37ff48cacdd992f55 (diff)
downloadbcm5719-llvm-e485631cd148e18701254634a3003e6bb5797eb2.tar.gz
bcm5719-llvm-e485631cd148e18701254634a3003e6bb5797eb2.zip
[X86] Add separate intrinsics for scalar FMA4 instructions.
Summary: These instructions zero the non-scalar part of the lower 128-bits which makes them different than the FMA3 instructions which pass through the non-scalar part of the lower 128-bits. I've only added fmadd because we should be able to derive all other variants using operand negation in the intrinsic header like we do for AVX512. I think there are still some missed negate folding opportunities with the FMA4 instructions in light of this behavior difference that I hadn't noticed before. I've split the tests so that we can use different intrinsics for scalar testing between the two. I just copied the tests split the RUN lines and changed out the scalar intrinsics. fma4-fneg-combine.ll is a new test to make sure we negate the fma4 intrinsics correctly though there are a couple TODOs in it. Reviewers: RKSimon, spatel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39851 llvm-svn: 318984
Diffstat (limited to 'clang/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud