| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | add the missing aliases for fp stack cmovs, rdar://8456391 | Chris Lattner | 2010-09-22 | 1 | -0/+6 |
| | | | | | llvm-svn: 114531 | ||||
| * | reimplement elf TLS support in terms of addressing modes, eliminating ↵ | Chris Lattner | 2010-09-22 | 4 | -58/+42 |
| | | | | | | | SegmentBaseAddress. llvm-svn: 114529 | ||||
| * | Fix rdar://8456364 - llvm-mc rejects '%CS' | Chris Lattner | 2010-09-22 | 1 | -8/+13 |
| | | | | | llvm-svn: 114528 | ||||
| * | fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp' | Chris Lattner | 2010-09-22 | 1 | -0/+8 |
| | | | | | | | | | | -This line, and those below, will be ignored-- M test/MC/AsmParser/X86/x86_instructions.s M lib/Target/X86/AsmParser/X86AsmParser.cpp llvm-svn: 114527 | ||||
| * | fix rdar://8456361 - llvm-mc rejects 'rep movsd' | Chris Lattner | 2010-09-22 | 1 | -0/+6 |
| | | | | | llvm-svn: 114526 | ||||
| * | convert the last 4 X86ISD nodes that should have memoperands to have them. | Chris Lattner | 2010-09-22 | 4 | -41/+69 |
| | | | | | llvm-svn: 114523 | ||||
| * | give X86ISD::FNSTCW16m a memoperand, since it touches memory. It only | Chris Lattner | 2010-09-22 | 3 | -16/+21 |
| | | | | | | | can access the stack due to how it is generated though. llvm-svn: 114522 | ||||
| * | give FP_TO_INT16_IN_MEM and friends a memoperand. They are only | Chris Lattner | 2010-09-22 | 4 | -22/+29 |
| | | | | | | | used with stack slots, but hey, lets be safe. llvm-svn: 114521 | ||||
| * | give VZEXT_LOAD a memory operand, it now works with segment registers. | Chris Lattner | 2010-09-22 | 5 | -13/+14 |
| | | | | | llvm-svn: 114515 | ||||
| * | revert r114386 now that address modes work correctly, we get a nice | Chris Lattner | 2010-09-22 | 1 | -4/+0 |
| | | | | | | | call through gs-relative memory now. llvm-svn: 114510 | ||||
| * | give LCMPXCHG_DAG[8] a memory operand, allowing it to work with addrspace ↵ | Chris Lattner | 2010-09-21 | 3 | -10/+11 |
| | | | | | | | 256/257 llvm-svn: 114508 | ||||
| * | reimplement support for GS and FS relative address space matching | Chris Lattner | 2010-09-21 | 3 | -57/+44 |
| | | | | | | | | | | | | | | | | | | by having X86DAGToDAGISel::SelectAddr get passed in the parent node of the operand match (the load/store/atomic op) and having it get the address space from that, instead of having special FS/GS addr mode operations that require duplicating the entire instruction set to support. This makes FS and GS relative accesses *far* more predictable and work much better. It also simplifies the X86 backend a bit, more to come. There is still a pending issue with nodes like ISD::PREFETCH and X86ISD::FLD, which really should be MemSDNode's but aren't. llvm-svn: 114491 | ||||
| * | Reimplement r114460 in target-independent DAGCombine rather than ↵ | Owen Anderson | 2010-09-21 | 2 | -23/+15 |
| | | | | | | | | | | target-dependent, by using the predicate to discover the number of sign bits. Enhance X86's target lowering to provide a useful response to this query. llvm-svn: 114473 | ||||
| * | fix a long standing wart: all the ComplexPattern's were being | Chris Lattner | 2010-09-21 | 2 | -14/+16 |
| | | | | | | | | | | | | passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471 | ||||
| * | even though I'm about to rip it out, simplify the address mode stuff | Chris Lattner | 2010-09-21 | 2 | -28/+13 |
| | | | | | llvm-svn: 114468 | ||||
| * | convert a couple more places to use the new getStore() | Chris Lattner | 2010-09-21 | 1 | -4/+5 |
| | | | | | llvm-svn: 114463 | ||||
| * | When adding the carry bit to another value on X86, exploit the fact that the ↵ | Owen Anderson | 2010-09-21 | 1 | -0/+23 |
| | | | | | | | | | | | | carry-materialization (sbbl x, x) sets the registers to 0 or ~0. Combined with two's complement arithmetic, we can fold the intermediate AND and the ADD into a single SUB. This fixes <rdar://problem/8449754>. llvm-svn: 114460 | ||||
| * | eliminate some uses of the getStore overload. | Chris Lattner | 2010-09-21 | 1 | -35/+48 |
| | | | | | llvm-svn: 114453 | ||||
| * | propagate MachinePointerInfo through various uses of the old | Chris Lattner | 2010-09-21 | 1 | -2/+3 |
| | | | | | | | SelectionDAG::getExtLoad overload, and eliminate it. llvm-svn: 114446 | ||||
| * | convert the targets off the non-MachinePointerInfo of getLoad. | Chris Lattner | 2010-09-21 | 1 | -4/+2 |
| | | | | | llvm-svn: 114410 | ||||
| * | it's more elegant to put the "getConstantPool" and | Chris Lattner | 2010-09-21 | 2 | -25/+23 |
| | | | | | | | | | "getFixedStack" on the MachinePointerInfo class. While this isn't the problem I'm setting out to solve, it is the right way to eliminate PseudoSourceValue, so lets go with it. llvm-svn: 114406 | ||||
| * | update the X86 backend to use the MachinePointerInfo version of one | Chris Lattner | 2010-09-21 | 1 | -38/+44 |
| | | | | | | | | of the getLoad methods. This fixes at least one bug where an incorrect svoffset is passed in (a potential combiner-aa miscompile). llvm-svn: 114404 | ||||
| * | Fix a bug where the x86 backend would lower memcpy/memset of segment ↵ | Chris Lattner | 2010-09-21 | 1 | -0/+9 |
| | | | | | | | | | relative operations into non-segment-relative copies. llvm-svn: 114402 | ||||
| * | reimplement memcpy/memmove/memset lowering to use MachinePointerInfo | Chris Lattner | 2010-09-21 | 3 | -20/+16 |
| | | | | | | | | instead of srcvalue/offset pairs. This corrects SV info for mem operations whose size is > 32-bits. llvm-svn: 114401 | ||||
| * | convert targets to the new MF.getMachineMemOperand interface. | Chris Lattner | 2010-09-21 | 2 | -5/+6 |
| | | | | | llvm-svn: 114391 | ||||
| * | fix rdar://8453210, a crash handling a call through a GS relative load. | Chris Lattner | 2010-09-21 | 1 | -1/+7 |
| | | | | | | | For now, just disable folding the load into the call. llvm-svn: 114386 | ||||
| * | X86Subtarget.h: Fix Cygwin's TD. | NAKAMURA Takumi | 2010-09-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 114297 | ||||
| * | Avoid emitting a PIC base register if no PIC addresses are needed. | Dan Gohman | 2010-09-17 | 1 | -2/+8 |
| | | | | | | | This fixes rdar://8396318. llvm-svn: 114201 | ||||
| * | fix rdar://8444631 - encoder crash on 'enter' | Chris Lattner | 2010-09-17 | 4 | -4/+18 |
| | | | | | | | What a weird instruction. llvm-svn: 114190 | ||||
| * | fix rdar://8438816 - unrecognized 'fildq' instruction | Chris Lattner | 2010-09-16 | 1 | -1/+2 |
| | | | | | llvm-svn: 114116 | ||||
| * | lcall and ljmp always default to lcalll and ljmpl. This finally | Chris Lattner | 2010-09-15 | 1 | -10/+8 |
| | | | | | | | wraps up r8418316 llvm-svn: 113949 | ||||
| * | apparently jmpl $1,$2 is an alias for ljmpl, similiarly | Chris Lattner | 2010-09-15 | 1 | -0/+21 |
| | | | | | | | for call. Add this. llvm-svn: 113948 | ||||
| * | Disambiguate lcall/ljmp to the 32-bit version. This happens | Chris Lattner | 2010-09-15 | 1 | -0/+10 |
| | | | | | | | even in 64-bit mode apparently. llvm-svn: 113945 | ||||
| * | fix the encoding of sldt GR16 to have the 0x66 prefix, and | Chris Lattner | 2010-09-15 | 1 | -1/+3 |
| | | | | | | | | add sldt GR32, which isn't documented in the intel manual but which gas accepts. Part of rdar://8418316 llvm-svn: 113938 | ||||
| * | implement aliases for shld/shrd, part of rdar://8418316 | Chris Lattner | 2010-09-15 | 1 | -0/+9 |
| | | | | | llvm-svn: 113937 | ||||
| * | fix rdar://8431880 - rcl/rcr with no shift amount not recognized | Chris Lattner | 2010-09-15 | 1 | -1/+9 |
| | | | | | llvm-svn: 113936 | ||||
| * | add various broken forms of fnstsw. I didn't add the %rax | Chris Lattner | 2010-09-15 | 1 | -0/+19 |
| | | | | | | | | version because it adds a prefix and makes even less sense than the other broken forms. This wraps up rdar://8431422 llvm-svn: 113932 | ||||
| * | add some aliases for f[u]comi, part of rdar://8431422 | Chris Lattner | 2010-09-15 | 1 | -7/+9 |
| | | | | | llvm-svn: 113930 | ||||
| * | add a bunch of aliases for fp operations with no operand, | Chris Lattner | 2010-09-15 | 1 | -5/+22 |
| | | | | | | | rdar://8431422 llvm-svn: 113929 | ||||
| * | Diagnose invalid instructions like "incl" with "too few operands for ↵ | Chris Lattner | 2010-09-15 | 1 | -2/+4 |
| | | | | | | | | | | instruction" instead of crashing. This fixes: rdar://8431815 - crash when invalid operand is one that isn't present llvm-svn: 113921 | ||||
| * | trailing whitespace | Jim Grosbach | 2010-09-15 | 1 | -25/+25 |
| | | | | | llvm-svn: 113915 | ||||
| * | add a terrible hack to allow out with dx is parens, a gas bug. | Chris Lattner | 2010-09-14 | 1 | -0/+14 |
| | | | | | | | This fixes PR8114 llvm-svn: 113894 | ||||
| * | Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." | Michael J. Spencer | 2010-09-13 | 4 | -23/+2 |
| | | | | | | | | | | | This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819 | ||||
| * | Fix typos. 128-bit PSHUFB takes 128-bit memory op. | Dale Johannesen | 2010-09-13 | 2 | -2/+2 |
| | | | | | | | v8i16 is not an MMX type; put it where it belongs. llvm-svn: 113785 | ||||
| * | Added skeleton for inline asm multiple alternative constraint support. | John Thompson | 2010-09-13 | 2 | -0/+34 |
| | | | | | llvm-svn: 113766 | ||||
| * | add a missed cmov alias, part of rdar://8416805 | Chris Lattner | 2010-09-11 | 1 | -0/+2 |
| | | | | | llvm-svn: 113693 | ||||
| * | add support for all the setCC aliases. Part of rdar://8416805 | Chris Lattner | 2010-09-11 | 1 | -16/+14 |
| | | | | | llvm-svn: 113692 | ||||
| * | add support for pushfd/popfd which are aliases for pushfl/popfl. | Chris Lattner | 2010-09-11 | 1 | -0/+2 |
| | | | | | | | This fixes rdar://8408129 - pushfd and popfd get invalid instruction mnemonic errors llvm-svn: 113690 | ||||
| * | implement rdar://8407928 - support for in/out with a missing "a" register. | Chris Lattner | 2010-09-11 | 1 | -1/+33 |
| | | | | | llvm-svn: 113689 | ||||
| * | fix the asmparser so that the target is responsible for skipping to | Chris Lattner | 2010-09-11 | 1 | -3/+9 |
| | | | | | | | | | | | | | | | the end of the line on a parser error, allowing skipping to happen for syntactic errors but not for semantic errors. Before we would miss emitting a diagnostic about the second line, because we skipped it due to the semantic error on the first line: foo %eax bar %al This fixes rdar://8414033 - llvm-mc ignores lines after an invalid instruction mnemonic errors llvm-svn: 113688 | ||||

