From 3d3f6190abb92ccc5bb81e90885ab14316218ffc Mon Sep 17 00:00:00 2001 From: Artem Belevich Date: Thu, 19 Jan 2017 00:14:45 +0000 Subject: [NVPTX] Fix lowering of fp16 ISD::FNEG. There's no neg.f16 instruction, so negation has to be done via subtraction from zero. Differential Revision: https://reviews.llvm.org/D28876 llvm-svn: 292452 --- llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Target/NVPTX') diff --git a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp index 0fd8d4b2aa7..48954fd19e5 100644 --- a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp @@ -332,6 +332,8 @@ NVPTXTargetLowering::NVPTXTargetLowering(const NVPTXTargetMachine &TM, setOperationAction(ISD::FSUB, MVT::f16, Promote); setOperationAction(ISD::FMA, MVT::f16, Promote); } + // There's no neg.f16 instruction. + setOperationAction(ISD::FNEG, MVT::f16, Expand); // Library functions. These default to Expand, but we have instructions // for them. -- cgit v1.2.3