mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 07:31:53 +00:00
Support ppcf128 in SelectionDAG::getConstantFP
Fixes pr14751. Patch by Kai; Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171261 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
98281a2050
commit
6eb7a4270b
@ -1075,7 +1075,8 @@ SDValue SelectionDAG::getConstantFP(double Val, EVT VT, bool isTarget) {
|
||||
return getConstantFP(APFloat((float)Val), VT, isTarget);
|
||||
else if (EltVT==MVT::f64)
|
||||
return getConstantFP(APFloat(Val), VT, isTarget);
|
||||
else if (EltVT==MVT::f80 || EltVT==MVT::f128 || EltVT==MVT::f16) {
|
||||
else if (EltVT==MVT::f80 || EltVT==MVT::f128 || EltVT==MVT::ppcf128 ||
|
||||
EltVT==MVT::f16) {
|
||||
bool ignored;
|
||||
APFloat apf = APFloat(Val);
|
||||
apf.convert(*EVTToAPFloatSemantics(EltVT), APFloat::rmNearestTiesToEven,
|
||||
|
15
test/CodeGen/PowerPC/sdag-ppcf128.ll
Normal file
15
test/CodeGen/PowerPC/sdag-ppcf128.ll
Normal file
@ -0,0 +1,15 @@
|
||||
; RUN: llc -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s
|
||||
;
|
||||
; PR14751: Unsupported type in SelectionDAG::getConstantFP()
|
||||
|
||||
define fastcc void @_D3std4math4sqrtFNaNbNfcZc() {
|
||||
entry:
|
||||
br i1 undef, label %if, label %else
|
||||
; CHECK: cmplwi 0, 3, 0
|
||||
if: ; preds = %entry
|
||||
store { ppc_fp128, ppc_fp128 } zeroinitializer, { ppc_fp128, ppc_fp128 }* undef
|
||||
ret void
|
||||
|
||||
else: ; preds = %entry
|
||||
unreachable
|
||||
}
|
Loading…
Reference in New Issue
Block a user