mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
Teach the code generator to use cvtss2sd as extload f32 -> f64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28131 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e564dbb51c
commit
bd04aa5796
@ -207,10 +207,6 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM)
|
||||
addRegisterClass(MVT::f32, X86::FR32RegisterClass);
|
||||
addRegisterClass(MVT::f64, X86::FR64RegisterClass);
|
||||
|
||||
// SSE has no load+extend ops
|
||||
setOperationAction(ISD::EXTLOAD, MVT::f32, Expand);
|
||||
setOperationAction(ISD::ZEXTLOAD, MVT::f32, Expand);
|
||||
|
||||
// Use ANDPD to simulate FABS.
|
||||
setOperationAction(ISD::FABS , MVT::f64, Custom);
|
||||
setOperationAction(ISD::FABS , MVT::f32, Custom);
|
||||
|
@ -526,7 +526,7 @@ def CVTSS2SDrr: I<0x5A, MRMSrcReg, (ops FR64:$dst, FR32:$src),
|
||||
Requires<[HasSSE2]>;
|
||||
def CVTSS2SDrm: I<0x5A, MRMSrcMem, (ops FR64:$dst, f32mem:$src),
|
||||
"cvtss2sd {$src, $dst|$dst, $src}",
|
||||
[(set FR64:$dst, (fextend (loadf32 addr:$src)))]>, XS,
|
||||
[(set FR64:$dst, (extload addr:$src, f32))]>, XS,
|
||||
Requires<[HasSSE2]>;
|
||||
|
||||
// Match intrinsics which expect XMM operand(s).
|
||||
|
Loading…
Reference in New Issue
Block a user