Skip to content

Commit

Permalink
AMDGPU: Fix consistently backwards logic for default denormal mode
Browse files Browse the repository at this point in the history
I forgot to squash this into c9d65a4
  • Loading branch information
arsenm committed Apr 1, 2020
1 parent 9b31e59 commit 6593360
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions clang/lib/Driver/ToolChains/AMDGPU.cpp
Expand Up @@ -109,11 +109,10 @@ bool AMDGPUToolChain::getDefaultDenormsAreZeroForTarget(

// Default to enabling f32 denormals by default on subtargets where fma is
// fast with denormals
const bool DefaultDenormsAreZeroForTarget =
const bool BothDenormAndFMAFast =
(ArchAttr & llvm::AMDGPU::FEATURE_FAST_FMA_F32) &&
(ArchAttr & llvm::AMDGPU::FEATURE_FAST_DENORMAL_F32);

return DefaultDenormsAreZeroForTarget;
return !BothDenormAndFMAFast;
}

llvm::DenormalMode AMDGPUToolChain::getDefaultDenormalModeForType(
Expand All @@ -137,7 +136,7 @@ llvm::DenormalMode AMDGPUToolChain::getDefaultDenormalModeForType(
// TODO: There are way too many flags that change this. Do we need to check
// them all?
bool DAZ = DriverArgs.hasArg(options::OPT_cl_denorms_are_zero) ||
!getDefaultDenormsAreZeroForTarget(Kind);
getDefaultDenormsAreZeroForTarget(Kind);
// Outputs are flushed to zero, preserving sign
return DAZ ? llvm::DenormalMode::getPreserveSign() :
llvm::DenormalMode::getIEEE();
Expand Down

0 comments on commit 6593360

Please sign in to comment.