mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
Implement FPOWI ExpandOp.
Fix PR1287. llvm-svn: 41112
This commit is contained in:
parent
958dcad32d
commit
9f9e5b3971
@ -5604,6 +5604,11 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
|||||||
case ISD::FP_ROUND:
|
case ISD::FP_ROUND:
|
||||||
Lo = ExpandLibCall(TLI.getLibcallName(RTLIB::FPROUND_F64_F32),Node,true,Hi);
|
Lo = ExpandLibCall(TLI.getLibcallName(RTLIB::FPROUND_F64_F32),Node,true,Hi);
|
||||||
break;
|
break;
|
||||||
|
case ISD::FPOWI:
|
||||||
|
Lo = ExpandLibCall(TLI.getLibcallName((VT == MVT::f32)
|
||||||
|
? RTLIB::POWI_F32 : RTLIB::POWI_F64),
|
||||||
|
Node, false, Hi);
|
||||||
|
break;
|
||||||
case ISD::FSQRT:
|
case ISD::FSQRT:
|
||||||
case ISD::FSIN:
|
case ISD::FSIN:
|
||||||
case ISD::FCOS: {
|
case ISD::FCOS: {
|
||||||
|
16
test/CodeGen/ARM/fpowi.ll
Normal file
16
test/CodeGen/ARM/fpowi.ll
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi | grep powidf2
|
||||||
|
; PR1287
|
||||||
|
|
||||||
|
; ModuleID = '<stdin>'
|
||||||
|
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
|
||||||
|
target triple = "arm-linux-gnueabi"
|
||||||
|
|
||||||
|
define double @_ZSt3powdi(double %__x, i32 %__i) {
|
||||||
|
entry:
|
||||||
|
%tmp3 = call double @llvm.powi.f64( double 0.000000e+00, i32 0 ) ; <double> [#uses=1]
|
||||||
|
store double %tmp3, double* null, align 8
|
||||||
|
unreachable
|
||||||
|
}
|
||||||
|
|
||||||
|
declare double @llvm.powi.f64(double, i32)
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user