summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86InstrInfo.cpp
AgeCommit message (Expand)AuthorFilesLines
2012-11-13Merge master branchtstellar1-8/+16
2012-10-11Merge master branchtstellar1-2/+12
2012-10-02Merge master branchtstellar1-2/+16
2012-09-20Re-work X86 code generation of atomic ops with spin-loophliao1-2/+2
2012-09-17Add some cases to x86 OptimizeCompare to handle DEC and INC, too.jvoung1-4/+14
2012-08-31Mark FMA4 instructions as commutable and add them to the folding tables.Craig Topper1-0/+60
2012-08-31Add selection of RegOp2MemOpTable3 to canFoldMemoryOperandCraig Topper1-0/+2
2012-08-28Convert V_SETALLONES/AVX_SETALLONES/AVX2_SETALLONES to Post-RA pseudos.Craig Topper1-4/+5
2012-08-28Merge AVX_SET0PSY/AVX_SET0PDY/AVX2_SET0 into a single post-RA pseudo.Craig Topper1-9/+6
2012-08-23Preserve operand flags in convertToThreeAddress() by copying operands.Jakob Stoklund Olesen1-67/+52
2012-08-23Use a switch statement instead of a bunch of if-else checks and pull out the ...Craig Topper1-8/+10
2012-08-21Fix up indentation and remove a couple else's after returns.Craig Topper1-11/+12
2012-08-21Use uint16_t for tables of opcodes.Craig Topper1-2/+2
2012-08-21Fix up indentation. No functional change.Craig Topper1-61/+61
2012-08-21Add a couple llvm_unreachables. Add a message to several others.Craig Topper1-8/+6
2012-08-21Replace a break with llvm_unreachable in the default case of a nested switch....Craig Topper1-50/+18
2012-08-20Remove FMA3 intrinsic instructions in favor of patterns.Craig Topper1-24/+0
2012-08-13X86: move Int_CVTSD2SSrr, Int_CVTSI2SSrr, Int_CVTSI2SDrr, Int_CVTSS2SDrr fromManman Ren1-6/+6
2012-08-08X86: enable CSE between CMP and SUBManman Ren1-0/+80
2012-08-08Don't scan physreg use-def chains looking for a PIC base.Jakob Stoklund Olesen1-10/+4
2012-08-02X86 Peephole: fold loads to the source register operand if possible.Manman Ren1-0/+75
2012-08-01Added FMA functionality to X86 target.Elena Demikhovsky1-32/+34
2012-07-29Revert r160920 and r160919 due to dragonegg and clang selfhost failureManman Ren1-69/+0
2012-07-28X86 Peephole: fold loads to the source register operand if possible.Manman Ren1-0/+69
2012-07-28X86 Peephole: fix PR13475 in optimizeCompare.Manman Ren1-3/+7
2012-07-18X86: remove redundant cmp against zero.Manman Ren1-14/+83
2012-07-16Fix a bug in the 3-address conversion of LEA when one of the operands is anNadav Rotem1-0/+7
2012-07-15Rename VBROADCASTSDrm into VBROADCASTSDYrm to match the naming convention.Nadav Rotem1-0/+5
2012-07-13Make helper functions static.Benjamin Kramer1-1/+1
2012-07-11X86: Update to peephole optimization to move Movr0 before (Sub, Cmp) pair.Manman Ren1-1/+22
2012-07-09X86: implement functions to analyze & synthesize CMOV|SET|JccManman Ren1-138/+185
2012-07-07X86: Fix optimizeCompare to correctly check safe condition.Manman Ren1-5/+25
2012-07-06X86: peephole optimization to remove cmp instructionManman Ren1-0/+285
2012-07-04Add early if-conversion support to X86.Jakob Stoklund Olesen1-0/+80
2012-06-25Remove codegen only instruction in favor of one that has the same definition....Craig Topper1-1/+1
2012-06-24Remove intrinsic specific instructions for (V)CVTPS2DQ and replace with patte...Craig Topper1-2/+0
2012-06-24Remove intrinsic specific instructions for (V)CVTPS2DQ and replace with patte...Craig Topper1-2/+0
2012-06-24Fix build failures from r159106.Craig Topper1-2/+0
2012-06-24Remove intrinsic specific instructions for CVTPD2DQ. Replace with patterns.Craig Topper1-2/+0
2012-06-23Remove intrinsic specific instructions for (V)CVTDQ2PS. Use a Pat instead ins...Craig Topper1-2/+0
2012-06-23Compress flags in X86 op folding to reduce space in static tables.Craig Topper1-16/+16
2012-06-23Remove intrinsic specific instructions for 128-bit (V)CVTDQ2PD. Replace with ...Craig Topper1-2/+0
2012-06-15Move AVX version of convert instructions that write to GPRs to the Op1 table.Craig Topper1-9/+13
2012-06-14Move X86::VCVTTSD2SIrr from the 2 operand to 1 operand MemRegOp table.Pete Cooper1-1/+1
2012-06-06Revert r157755.Manman Ren1-38/+0
2012-06-06Remove unused private fields found by clang's new -Wunused-private-field.Benjamin Kramer1-3/+0
2012-06-04Add intrinsic forms for FMA instructions to opcode folding tables.Craig Topper1-105/+137
2012-06-04Add VFMADDSUB and VFMSUBADD FMA instructions to folding tables. Also add 213 ...Craig Topper1-0/+34
2012-06-03Revert r157831Manman Ren1-323/+0
2012-06-01X86: peephole optimization to remove cmp instructionManman Ren1-0/+323