diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2023-07-18 17:46:31 -0400 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2023-07-20 19:29:40 -0400 |
commit | fb54afd1b7a5287f521759badf0a72c5ab544ca8 (patch) | |
tree | 51df70723bfa83018a6b39098cb2f1aaffec5771 /clang/lib/Lex/ModuleMap.cpp | |
parent | 881e9f29342af0e59cdc173e428abe609fb599c8 (diff) | |
download | llvm-fb54afd1b7a5287f521759badf0a72c5ab544ca8.zip llvm-fb54afd1b7a5287f521759badf0a72c5ab544ca8.tar.gz llvm-fb54afd1b7a5287f521759badf0a72c5ab544ca8.tar.bz2 |
AMDGPU: Fold fsub [+-0] into fneg when folding source modifiers
This isn't always folded to fneg for a freestanding fsub depending on
the denormal mode. When matching source modifiers, we're implicitly
canonicalizing the input so we can fold it here.
Doesn't bother handling the VOP3P case since it's only relevant with
DAZ, which nobody really uses with f16.
For f64, tests show an existing bug where DAGCombiner tries to respect
the denormal mode for fsub -0, x, but not after it's lowered to fadd
-0, (fneg x). Either the fold is wrong or we shouldn't restrict the
fsub case based on the denormal mode.
https://reviews.llvm.org/D155652
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions