From 7aeb813b2a61e87684832095441439378e33a3d4 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 18 Jun 2014 17:05:22 +0000 Subject: [PATCH] R600/SI: Temporary fix for f64 fneg This should be a source modifier, but this unblocks most of my math patches. llvm-svn: 211181 --- llvm/lib/Target/R600/SIISelLowering.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/llvm/lib/Target/R600/SIISelLowering.cpp b/llvm/lib/Target/R600/SIISelLowering.cpp index 846aeb6..f9b4667 100644 --- a/llvm/lib/Target/R600/SIISelLowering.cpp +++ b/llvm/lib/Target/R600/SIISelLowering.cpp @@ -212,6 +212,10 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) : setOperationAction(ISD::FRINT, MVT::f64, Legal); } + // FIXME: This should be removed and handled the same was as f32 fneg. Source + // modifiers also work for the double instructions. + setOperationAction(ISD::FNEG, MVT::f64, Expand); + setTargetDAGCombine(ISD::SELECT_CC); setTargetDAGCombine(ISD::SETCC); -- 2.7.4