summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-11-15 02:25:28 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-11-15 02:25:28 +0000
commitc79dc70d500f0615b5543f0c73715aed07610d7a (patch)
tree7d6c2b48272b9244b8d68586b2c02d7a9d6cf243 /llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
parent79d7f70dfd54d4b3c8cd8dbeba77e2474ef9d6c9 (diff)
downloadbcm5719-llvm-c79dc70d500f0615b5543f0c73715aed07610d7a.tar.gz
bcm5719-llvm-c79dc70d500f0615b5543f0c73715aed07610d7a.zip
AMDGPU: Fix f16 fabs/fneg
llvm-svn: 286931
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index 56a0540a070..b4a7a65386d 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -558,13 +558,12 @@ bool AMDGPUTargetLowering::isCheapToSpeculateCtlz() const {
bool AMDGPUTargetLowering::isFAbsFree(EVT VT) const {
assert(VT.isFloatingPoint());
- return VT == MVT::f32 || VT == MVT::f64;
+ return VT == MVT::f32 || VT == MVT::f64 || (Subtarget->has16BitInsts() &&
+ VT == MVT::f16);
}
bool AMDGPUTargetLowering::isFNegFree(EVT VT) const {
- assert(VT.isFloatingPoint());
- return VT == MVT::f32 || VT == MVT::f64 || (Subtarget->has16BitInsts() &&
- VT == MVT::f16);
+ return isFAbsFree(VT);
}
bool AMDGPUTargetLowering:: storeOfVectorConstantIsCheap(EVT MemVT,
OpenPOWER on IntegriCloud