[llvm] f7da4a5 - [NVPTX] Remove fmin/fmax.NaN.f64 again

Christian Sigg via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 27 22:46:23 PST 2022


Author: Christian Sigg
Date: 2022-01-28T07:46:16+01:00
New Revision: f7da4a5d4dee393043177599155e8331dbe04892

URL: https://github.com/llvm/llvm-project/commit/f7da4a5d4dee393043177599155e8331dbe04892
DIFF: https://github.com/llvm/llvm-project/commit/f7da4a5d4dee393043177599155e8331dbe04892.diff

LOG: [NVPTX] Remove fmin/fmax.NaN.f64 again

Added in https://reviews.llvm.org/D117204, but it does not exist.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D118398

Added: 
    

Modified: 
    llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
index eac237bb27bb2..7b5248906b56c 100644
--- a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
@@ -574,7 +574,6 @@ NVPTXTargetLowering::NVPTXTargetLowering(const NVPTXTargetMachine &TM,
   for (const auto &Op : {ISD::FMINIMUM, ISD::FMAXIMUM}) {
     setFP16OperationAction(Op, MVT::f16, GetMinMaxAction(Expand), Expand);
     setOperationAction(Op, MVT::f32, GetMinMaxAction(Expand));
-    setOperationAction(Op, MVT::f64, GetMinMaxAction(Expand));
     setFP16OperationAction(Op, MVT::v2f16, GetMinMaxAction(Expand), Expand);
   }
 

diff  --git a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
index 22e200e778312..22084cddc0921 100644
--- a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+++ b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
@@ -896,6 +896,7 @@ defm FMUL : F3_fma_component<"mul", fmul>;
 
 defm FMIN : F3<"min", fminnum>;
 defm FMAX : F3<"max", fmaxnum>;
+// Note: min.NaN.f64 and max.NaN.f64 do not actually exist.
 defm FMINNAN : F3<"min.NaN", fminimum>;
 defm FMAXNAN : F3<"max.NaN", fmaximum>;
 

diff  --git a/llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll b/llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
index 8f702a1434618..745a5ec08f232 100644
--- a/llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
+++ b/llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
@@ -25,9 +25,8 @@ define float @minimum_float(float %a) #0 {
 
 ; CHECK-LABEL: minimum_double
 define double @minimum_double(double %a) #0 {
-  ; CHECK-NONAN: setp
-  ; CHECK-NONAN: selp.f64
-  ; CHECK-NAN: min.NaN.f64
+  ; CHECK: setp
+  ; CHECK: selp.f64
   %p = fcmp ult double %a, 0.0
   %x = select i1 %p, double %a, double 0.0
   ret double %x
@@ -69,9 +68,8 @@ define float @maximum_float(float %a) #0 {
 
 ; CHECK-LABEL: maximum_double
 define double @maximum_double(double %a) #0 {
-  ; CHECK-NONAN: setp
-  ; CHECK-NONAN: selp.f64
-  ; CHECK-NAN: max.NaN.f64
+  ; CHECK: setp
+  ; CHECK: selp.f64
   %p = fcmp ugt double %a, 0.0
   %x = select i1 %p, double %a, double 0.0
   ret double %x


        


More information about the llvm-commits mailing list