mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
Teach the code generator to use cvtss2sd as extload f32 -> f64
llvm-svn: 28131
This commit is contained in:
parent
4b581e4167
commit
a03676690b
@ -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