summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-08-05 15:59:07 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-08-05 15:59:07 +0000
commit392239296993090fd49d7a665e933ffc52e2068a (patch)
treeed1fc454c4ac29d50ec4a980feec9855d149dfa5 /llvm/lib/Target/ARM
parentd884fbde2a829ef8c78d1a0b0f2478e7e672bc0a (diff)
downloadbcm5719-llvm-392239296993090fd49d7a665e933ffc52e2068a.tar.gz
bcm5719-llvm-392239296993090fd49d7a665e933ffc52e2068a.zip
AMDGPU: Correct behavior of f16 buffer loads
Don't assume format loads for f16. Also fixes support for targets without i16. llvm-svn: 367879
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 7f287b41416..cce131b9bcd 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -919,9 +919,10 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM,
setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
}
- if (!Subtarget->hasFP64() || !Subtarget->hasFPARMv8Base()){
+ if (!Subtarget->hasFP64() || !Subtarget->hasFPARMv8Base()) {
setOperationAction(ISD::FP_EXTEND, MVT::f64, Custom);
- setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
+ if (Subtarget->hasFullFP16())
+ setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
}
if (!Subtarget->hasFP16())
OpenPOWER on IntegriCloud