- Jul 27, 2007
-
-
Evan Cheng authored
llvm-svn: 40547
-
- Jul 26, 2007
-
-
Dan Gohman authored
llvm-svn: 40528
-
Dan Gohman authored
x86 target, replacing them with the new alignment attributes on memory references. llvm-svn: 40504
-
- Jul 20, 2007
-
-
Evan Cheng authored
code that cross integer / floating point domains (e.g. generate pxor / pand for logical ops on floating point value, movdqa to load / store floating point SSE values). Given that, it's better to use movaps instead of movdqa and movups instead of movdqu. They have the same latency but the "aps" variants are one byte shorter. If the domain crossing problem is a real performance issue, then we will have to fix it with dynamic programming based isel. llvm-svn: 40076
-
Evan Cheng authored
Fix patterns so we isel the xorps, etc. for floating pt logical SSE ops. DAG combiner may fold away the (bit_convert (load)). llvm-svn: 40070
-
- Jul 19, 2007
-
-
Evan Cheng authored
InOperandList. This gives one piece of important information: # of results produced by an instruction. An example of the change: def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; => def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; llvm-svn: 40033
-
- Jul 18, 2007
-
-
Dan Gohman authored
and stores that have a specified alignment of less than 16 bytes now use instructions that support misaligned memory references. llvm-svn: 40015
-
- Jul 10, 2007
-
-
Dan Gohman authored
in addition to the intrinsic forms. Add spill-folding entries for these new instructions, and for the scalar min and max instrinsic instructions which were missing. And add some preliminary ISelLowering code for using the new non-intrinsic vector sqrt instruction, and fneg and fabs. llvm-svn: 38478
-
- Jul 03, 2007
-
-
Dale Johannesen authored
model to include f32 variants. Some factoring improvments forthcoming. llvm-svn: 37847
-
- Jun 26, 2007
-
-
Dan Gohman authored
instruction flag, and use the flag along with a virtual member function hook for targets to override if there are instructions that are only trivially rematerializable with specific operands (i.e. constant pool loads). llvm-svn: 37728
-
- Jun 25, 2007
-
-
Dan Gohman authored
between SSE1 instructions and their respective SSE2 analogues. llvm-svn: 37718
-
Dan Gohman authored
llvm-svn: 37717
-
- Jun 19, 2007
-
-
Dan Gohman authored
with a general target hook to identify rematerializable instructions. Some instructions are only rematerializable with specific operands, such as loads from constant pools, while others are always rematerializable. This hook allows both to be identified as being rematerializable with the same mechanism. llvm-svn: 37644
-
- May 17, 2007
-
-
Evan Cheng authored
llvm-svn: 37172
-
- May 03, 2007
-
-
Bill Wendling authored
for SSE1, SSE2, SSE3, and SSSE3. llvm-svn: 36656
-
- Apr 18, 2007
-
-
Dan Gohman authored
llvm-svn: 36256
-
- Apr 11, 2007
-
-
Bill Wendling authored
llvm-svn: 35869
-
- Mar 21, 2007
-
-
Evan Cheng authored
llvm-svn: 35230
-
- Mar 04, 2007
-
-
Chris Lattner authored
llvm-svn: 34905
-
- Feb 20, 2007
-
-
Evan Cheng authored
llvm-svn: 34434
-
- Jan 05, 2007
-
-
Evan Cheng authored
or'ing in the sign bit of operand 1. - Tweaking: rather than left shift the sign bit, fp_extend operand 1 first before taking its sign bit if its type is smaller than that of operand 0. llvm-svn: 32932
-
Evan Cheng authored
llvm-svn: 32900
-
- Dec 14, 2006
-
-
Evan Cheng authored
- Add MOVDI2SSrm and MOVSS2DImr to fold load / store for i32 <-> f32 bit_convert patterns. llvm-svn: 32582
-
- Dec 05, 2006
-
-
Chris Lattner authored
This compiles bitcast.ll:test3/test4 into: _test3: movd %xmm0, %eax ret _test4: movd %edi, %xmm0 ret llvm-svn: 32230
-
- Nov 17, 2006
-
-
Evan Cheng authored
Correct instructions for moving data between GR64 and SSE registers; also correct load i64 / store i64 from v2i64. llvm-svn: 31795
-
- Nov 10, 2006
-
-
Evan Cheng authored
take v4f32 / v2f64 operands and may end up causing larger spills / restores. Added X86 specific nodes X86ISD::FMAX, X86ISD::FMIN instead. This fixes PR996. llvm-svn: 31645
-
- Nov 07, 2006
-
-
Evan Cheng authored
shuffle v, undef, <2, ?, 3, ?> to movhlps It should match to unpckhps instead. Added proper matching code for shuffle v, undef, <2, 3, 2, 3> llvm-svn: 31519
-
- Nov 04, 2006
-
-
Chris Lattner authored
llvm-svn: 31435
-
- Nov 01, 2006
-
-
Evan Cheng authored
llvm-svn: 31343
-
- Oct 27, 2006
-
-
Evan Cheng authored
llvm-svn: 31228
-
- Oct 25, 2006
-
-
Evan Cheng authored
llvm-svn: 31185
-
- Oct 11, 2006
-
-
Evan Cheng authored
llvm-svn: 30892
-
- Oct 09, 2006
-
-
Evan Cheng authored
folding first. llvm-svn: 30848
-
Evan Cheng authored
llvm-svn: 30844
-
- Oct 07, 2006
-
-
Chris Lattner authored
a framework for doing it right. This fixes CodeGen/X86/2006-10-07-ScalarSSEMiscompile.ll. Once X86DAGToDAGISel::SelectScalarSSELoad is implemented right, this task will be done. llvm-svn: 30817
-
Chris Lattner authored
llvm-svn: 30815
-
Chris Lattner authored
llvm-svn: 30814
-
Chris Lattner authored
llvm-svn: 30813
-
Chris Lattner authored
llvm-svn: 30812
-
Chris Lattner authored
llvm-svn: 30811
-