- Oct 01, 2010
-
-
Dale Johannesen authored
The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
-
- Sep 08, 2010
-
-
Dale Johannesen authored
llvm-svn: 113409
-
- Aug 17, 2010
-
-
Anton Korobeynikov authored
- Do not clobber al during variadic calls, this is AMD64 ABI-only feature - Emit wincall64, where necessary Patch by Cameron Esfahani! llvm-svn: 111289
-
- Aug 16, 2010
-
-
Eli Friedman authored
llvm-svn: 111182
-
- Aug 12, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 110937
-
Bruno Cardoso Lopes authored
term goal here is to be able to match enough of vector_shuffle and build_vector so all avx intrinsics which aren't mapped to their own built-ins but to shufflevector calls can be codegen'd. This is the first (baby) step, support building zeroed vectors. llvm-svn: 110897
-
- Aug 05, 2010
-
-
Eric Christopher authored
llvm-svn: 110359
-
- Jul 22, 2010
-
-
Chris Lattner authored
llvm-svn: 109154
-
Chris Lattner authored
asmprinter or mangler around. This is option #B for killing off X86InstrInfo::GetInstSizeInBytes. Option #A (killing "needsexactsize") was sent for consideration to llvmdev. llvm-svn: 109056
-
- Jul 21, 2010
-
-
Chris Lattner authored
llvm-svn: 108955
-
Chris Lattner authored
llvm-svn: 108952
-
Chris Lattner authored
llvm-svn: 108950
-
Chris Lattner authored
llvm-svn: 108949
-
Chris Lattner authored
llvm-svn: 108947
-
Chris Lattner authored
llvm-svn: 108945
-
- Jul 20, 2010
-
-
Chris Lattner authored
of AsmPrinter and InstLowering into libx86 and out of the asmprinter subdirectory. Now X86/AsmPrinter just depends on MC stuff, not all of codegen and LLVM IR. llvm-svn: 108782
-
- Jul 15, 2010
-
-
Chris Lattner authored
llvm-svn: 108368
-
- Jul 09, 2010
-
-
Chris Lattner authored
jumps where possible and turning the TAILCALL marker in the instruction asm string into a proper comment. This eliminates a FIXME and is on the path to finishing: rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc. However, I can't eliminate the encodings for these instructions because the JIT still exists and has its own copy of the encoder, sigh. llvm-svn: 107946
-
Chris Lattner authored
llvm-svn: 107939
-
Chris Lattner authored
like all other instructions, even though a segment is not allowed. This resolves a bunch of gross hacks in the encoder and makes LEA more consistent with the rest of the instruction set. No functionality change. llvm-svn: 107934
-
- Jul 07, 2010
-
-
Devang Patel authored
llvm-svn: 107818
-
- Jul 06, 2010
-
-
Devang Patel authored
llvm-svn: 107678
-
- Jun 17, 2010
-
-
Eric Christopher authored
TLVP: movl _a@TLVP, %eax Daniel: Please review if you get a chance. llvm-svn: 106194
-
- Jun 03, 2010
-
-
Eric Christopher authored
llvm-svn: 105381
-
- May 19, 2010
-
-
Daniel Dunbar authored
prefix byte problem as in r104062. - As a total hack to keep the TAILCALL markers in the output, which some tests depend on, this invents a new TAILJMP_1 instruction. llvm-svn: 104120
-
Daniel Dunbar authored
CALL64pcrel32, for the same reason. llvm-svn: 104116
-
Daniel Dunbar authored
llvm-svn: 104112
-
Daniel Dunbar authored
avoid same prefix byte problem as in r104062. llvm-svn: 104108
-
- May 18, 2010
-
-
Chris Lattner authored
The register use operands (e.g. the first argument is passed in a register) is currently being modeled as a normal register use, instead of correctly being an implicit use. This causes the operand to get propagated onto the mcinst, which was causing the encoder to emit a rex prefix byte, which generates an invalid call. This fixes rdar://7998435 llvm-svn: 104062
-
Daniel Dunbar authored
X86::ADC32ri $0, %eax to X86::ADC32i32 $0 llvm-svn: 104030
-
- May 07, 2010
-
-
Devang Patel authored
llvm-svn: 103276
-
- Apr 29, 2010
-
-
Devang Patel authored
##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0 ##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0 ##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706 ##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0 ##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0 llvm-svn: 102655
-
- Apr 28, 2010
-
-
Devang Patel authored
llvm-svn: 102486
-
- Apr 17, 2010
-
-
Dan Gohman authored
llvm-svn: 101639
-
- Apr 13, 2010
-
-
- Apr 07, 2010
-
-
Dale Johannesen authored
into AsmPrinter. Target-dependent form is still generated by FastISel and still handled in X86 code. llvm-svn: 100596
-
Dale Johannesen authored
llvm-svn: 100578
-
Dale Johannesen authored
There is probably a more elegant way to do this. llvm-svn: 100573
-
- Apr 04, 2010
-
-
Chris Lattner authored
llvm-svn: 100342
-
Chris Lattner authored
streamerized for everything. llvm-svn: 100316
-