From 68bcaa70f6905ad3eb466658f9d4b06235feeb5a Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 2 Aug 2017 11:50:30 -0400
Subject: [PATCH] P4 to Git Change 1442616 by bsumner@bsumner-lin-opencl on
2017/08/02 11:33:24
SWDEV-129003 - correct logic for library control to fix regression
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#68 edit
[ROCm/clr commit: 786006f223820ea93030c4b1692f56dbe428beaf]
---
projects/clr/rocclr/runtime/device/pal/palprogram.cpp | 7 ++++---
projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/projects/clr/rocclr/runtime/device/pal/palprogram.cpp b/projects/clr/rocclr/runtime/device/pal/palprogram.cpp
index 4979cb9e57..8ac96dd608 100644
--- a/projects/clr/rocclr/runtime/device/pal/palprogram.cpp
+++ b/projects/clr/rocclr/runtime/device/pal/palprogram.cpp
@@ -1382,9 +1382,10 @@ bool LightningProgram::linkImpl(amd::option::Options* options) {
Data* correctly_rounded_sqrt_bc = C->NewBufferReference(DT_LLVM_BC, correctly_rounded_sqrt.first,
correctly_rounded_sqrt.second);
- auto daz_opt = get_oclc_daz_opt(!AMD_GPU_FORCE_SINGLE_FP_DENORM &&
- (dev().hwInfo()->gfxipVersion_ < 900 ||
- options->oVariables->DenormsAreZero));
+ auto daz_opt = get_oclc_daz_opt(options->oVariables->DenormsAreZero ||
+ AMD_GPU_FORCE_SINGLE_FP_DENORM == 0 ||
+ (dev().deviceInfo().gfxipVersion_ < 900 &&
+ AMD_GPU_FORCE_SINGLE_FP_DENORM < 0));
Data* daz_opt_bc = C->NewBufferReference(DT_LLVM_BC, daz_opt.first, daz_opt.second);
auto finite_only = get_oclc_finite_only(options->oVariables->FiniteMathOnly ||
diff --git a/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp b/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
index 1ac7a60e42..79c7f3a0b9 100644
--- a/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
+++ b/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
@@ -678,9 +678,10 @@ bool HSAILProgram::linkImpl_LC(amd::option::Options* options) {
Data* correctly_rounded_sqrt_bc = C->NewBufferReference(DT_LLVM_BC, correctly_rounded_sqrt.first,
correctly_rounded_sqrt.second);
- auto daz_opt = get_oclc_daz_opt(!AMD_GPU_FORCE_SINGLE_FP_DENORM &&
- (dev().deviceInfo().gfxipVersion_ < 900 ||
- options->oVariables->DenormsAreZero));
+ auto daz_opt = get_oclc_daz_opt(options->oVariables->DenormsAreZero ||
+ AMD_GPU_FORCE_SINGLE_FP_DENORM == 0 ||
+ (dev().deviceInfo().gfxipVersion_ < 900 &&
+ AMD_GPU_FORCE_SINGLE_FP_DENORM < 0));
Data* daz_opt_bc = C->NewBufferReference(DT_LLVM_BC, daz_opt.first, daz_opt.second);
auto finite_only = get_oclc_finite_only(options->oVariables->FiniteMathOnly ||