- 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 05, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 37923
-
- Jul 04, 2007
-
-
Dale Johannesen authored
their names are changed. llvm-svn: 37876
-
- Jul 03, 2007
-
-
Dale Johannesen authored
model to include f32 variants. Some factoring improvments forthcoming. llvm-svn: 37847
-
- Jun 29, 2007
-
-
Evan Cheng authored
llvm-svn: 37786
-
Evan Cheng authored
llvm-svn: 37784
-
- Jun 25, 2007
-
-
Dan Gohman authored
extended vector types. Remove the special SDNode opcodes used for pre-legalize vector operations, and the special MVT::Vector type used with them. Adjust lowering and legalize to work with the normal SDNode kinds instead, and to use the normal MVT functions to work with vector types instead of using the two special operands that the pre-legalize nodes held. This allows pre-legalize and post-legalize DAGs, and the code that operates on them, to be more consistent. Pre-legalize vector operators can be handled more consistently with scalar operators. And, -view-dag-combine1-dags and -view-legalize-dags now look prettier for vector code. llvm-svn: 37719
-
- Jun 22, 2007
-
-
Dan Gohman authored
TargetLowering to SelectionDAG so that they have more convenient access to the current DAG, in preparation for the ValueType routines being changed from standalone functions to members of SelectionDAG for the pre-legalize vector type changes. llvm-svn: 37704
-
- Jun 19, 2007
-
-
Chris Lattner authored
Anton for half of this patch. llvm-svn: 37641
-
Evan Cheng authored
Look for VECTOR_SHUFFLE that's identity operation on either LHS or RHS. This can happen before DAGCombiner catches it. llvm-svn: 37636
-
- Jun 17, 2007
-
-
Bill Wendling authored
define double @test2(i64 %A) { %B = bitcast i64 %A to double ret double %B } $ llvm-as < t.ll | llc -march=x86-64 before: .align 4 .globl _test2 _test2: movd %rdi, %xmm0 ret after: _test2: subq $8, %rsp movq %rdi, (%rsp) movsd (%rsp), %xmm0 addq $8, %rsp ret llvm-svn: 37617
-
- Jun 16, 2007
-
-
Bill Wendling authored
llvm-svn: 37611
-
- Jun 15, 2007
-
-
Dan Gohman authored
llvm-svn: 37579
-
- Jun 09, 2007
-
-
Chris Lattner authored
llvm-svn: 37534
-
Chris Lattner authored
llvm-svn: 37533
-
- May 24, 2007
-
-
Dan Gohman authored
llvm-svn: 37320
-
- May 18, 2007
-
-
Dan Gohman authored
llvm-svn: 37234
-
- May 17, 2007
-
-
Evan Cheng authored
Fix a bogus check that prevented folding VECTOR_SHUFFLE to UNDEF; add an optimization to fold VECTOR_SHUFFLE to a zero vector. llvm-svn: 37173
-
Chris Lattner authored
cause other regressions. llvm-svn: 37160
-
Anton Korobeynikov authored
llvm-svn: 37159
-
Chris Lattner authored
llvm-svn: 37141
-
- May 15, 2007
-
-
Chris Lattner authored
llvm-svn: 37065
-
- May 03, 2007
-
-
Chris Lattner authored
1. x86 backend rejected (&gv+c) for the 'i' constraint when in static mode. 2. the matcher didn't correctly reject and accept some global addresses. the right predicate is GVRequiresExtraLoad, not "relomodel = pic". llvm-svn: 36670
-
- May 02, 2007
-
-
Anton Korobeynikov authored
Emit correct register move information in eh frames for X86. This allows Shootout-C++/except to pass on x86/linux with non-llvm-compiled (e.g. "native") unwind runtime. llvm-svn: 36647
-
- Apr 24, 2007
-
-
Bill Wendling authored
vector_shuffle v1, v2, <2, 6, 3, 7> I.e. vector_shuffle v, undef, <2, 2, 3, 3> MMX only has a shuffle for v4i16 vectors. It needs to use the unpackh for this type of operation. llvm-svn: 36403
-
- Apr 23, 2007
-
-
Lauro Ramos Venancio authored
llvm-svn: 36355
-
- Apr 21, 2007
-
-
Lauro Ramos Venancio authored
llvm-svn: 36318
-
- Apr 20, 2007
-
-
Lauro Ramos Venancio authored
X86 32 bits. llvm-svn: 36283
-
- Apr 17, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 36213
-
Chris Lattner authored
it is defined in. llvm-svn: 36196
-
Anton Korobeynikov authored
Also, fixed static case in presence of eax livin. This fixes PR331 PS: Why don't we still have push/pop instructions? :) llvm-svn: 36195
-
- Apr 16, 2007
-
-
Anton Korobeynikov authored
target for tabs checking. llvm-svn: 36146
-
- Apr 12, 2007
-
-
Chris Lattner authored
llvm-svn: 35940
-
- Apr 10, 2007
-
-
Chris Lattner authored
llvm-svn: 35845
-
Chris Lattner authored
llvm-svn: 35840
-
- Apr 09, 2007
-
-
Chris Lattner authored
getRegClassForInlineAsmConstraint to being handled by getRegForInlineAsmConstraint. This allows us to let the llvm register allocator allocate, which gives us better code. For example, X86/2007-01-29-InlineAsm-ir.ll used to compile to: _run_init_process: subl $4, %esp movl %ebx, (%esp) xorl %ebx, %ebx movl $11, %eax movl %ebx, %ecx movl %ebx, %edx # InlineAsm Start push %ebx ; movl %ebx,%ebx ; int $0x80 ; pop %ebx # InlineAsm End Now we get: _run_init_process: xorl %ecx, %ecx movl $11, %eax movl %ecx, %edx # InlineAsm Start push %ebx ; movl %ecx,%ebx ; int $0x80 ; pop %ebx # InlineAsm End llvm-svn: 35804
-
Chris Lattner authored
used with x constraints. llvm-svn: 35803
-
Chris Lattner authored
llvm-svn: 35799
-
- Mar 31, 2007
-
-
Chris Lattner authored
llvm-svn: 35521
-
- Mar 28, 2007
-
-
Bill Wendling authored
llvm-svn: 35394
-