[llvm-commits] [llvm] r120844 - /llvm/trunk/lib/Target/X86/X86InstrSSE.td
Nate Begeman
natebegeman at mac.com
Fri Dec 3 13:54:39 PST 2010
Author: sampo
Date: Fri Dec 3 15:54:39 2010
New Revision: 120844
URL: http://llvm.org/viewvc/llvm-project?rev=120844&view=rev
Log:
Scalar f32/f64 are also subregs of ymm regs
Modified:
llvm/trunk/lib/Target/X86/X86InstrSSE.td
Modified: llvm/trunk/lib/Target/X86/X86InstrSSE.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSSE.td?rev=120844&r1=120843&r2=120844&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Fri Dec 3 15:54:39 2010
@@ -180,6 +180,12 @@
// Implicitly promote a 64-bit scalar to a vector.
def : Pat<(v2f64 (scalar_to_vector FR64:$src)),
(INSERT_SUBREG (v2f64 (IMPLICIT_DEF)), FR64:$src, sub_sd)>;
+// Implicitly promote a 32-bit scalar to a vector.
+def : Pat<(v8f32 (scalar_to_vector FR32:$src)),
+ (INSERT_SUBREG (v8f32 (IMPLICIT_DEF)), FR32:$src, sub_ss)>;
+// Implicitly promote a 64-bit scalar to a vector.
+def : Pat<(v4f64 (scalar_to_vector FR64:$src)),
+ (INSERT_SUBREG (v4f64 (IMPLICIT_DEF)), FR64:$src, sub_sd)>;
let AddedComplexity = 20 in {
// MOVSSrm zeros the high parts of the register; represent this
More information about the llvm-commits
mailing list