summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrInfo.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement insertGoto and reverseBranchCondition for the X86.Alkis Evlogimenos2004-07-311-0/+10
| | | | llvm-svn: 15362
* Introduce a new FP instruction type to separate the compare cases from theChris Lattner2004-06-111-2/+6
| | | | | | twoarg cases. llvm-svn: 14143
* Add support for the printImplicitDefsBefore flagChris Lattner2004-04-131-3/+4
| | | | llvm-svn: 12893
* Added the llvm.readport and llvm.writeport intrinsics for x86. These doJohn Criswell2004-04-081-3/+7
| | | | | | | | | | | | I/O port instructions on x86. The specific code sequence is tailored to the parameters and return value of the intrinsic call. Added the ability for implicit defintions to be printed in the Instruction Printer. Added the ability for RawFrm instruction to print implict uses and defintions with correct comma output. This required adjustment to some methods so that a leading comma would or would not be printed. llvm-svn: 12782
* Wrap at 80 colsChris Lattner2004-04-011-2/+2
| | | | llvm-svn: 12587
* Add FP conditional move instructions, which annoyingly have special propertiesChris Lattner2004-03-311-4/+12
| | | | | | | that require the asmwriter to be extended (printing implicit uses before the explicit operands) llvm-svn: 12574
* These two virtual methods are never called.Chris Lattner2004-02-291-12/+0
| | | | llvm-svn: 11984
* Each instruction now has both an ImmType and a MemType. This describesAlkis Evlogimenos2004-02-281-12/+20
| | | | | | | | the size of the immediate and the memory operand on instructions that use them. This resolves problems with instructions that take both a memory and an immediate operand but their sizes differ (i.e. ADDmi32b). llvm-svn: 11967
* Rename MRMS[0-7]{r,m} to MRM[0-7]{r,m}.Alkis Evlogimenos2004-02-271-5/+5
| | | | llvm-svn: 11921
* Add support for the rep movs[bwd] instructions, and emit them when codeChris Lattner2004-02-121-7/+11
| | | | | | generating the llvm.memcpy intrinsic. llvm-svn: 11351
* Add a new flag, which is only used for symmetry.Chris Lattner2004-01-301-0/+3
| | | | llvm-svn: 11025
* Add TargetInstrInfo::isMoveInstr() to support coalescing in registerAlkis Evlogimenos2003-12-281-0/+8
| | | | | | allocation. llvm-svn: 10633
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-201-1/+1
| | | | llvm-svn: 10542
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM copyright header.John Criswell2003-10-211-0/+7
| | | | llvm-svn: 9321
* Completely eliminate the isVoid TSFlag, shifting over all other fieldsChris Lattner2003-08-061-29/+30
| | | | llvm-svn: 7636
* Lump the base opcode in with the X86 TargetSpecific flagsChris Lattner2003-08-031-4/+7
| | | | llvm-svn: 7540
* Nice tasty llc fixes. These should fix LLC for x86 for everything inBrian Gaeke2003-06-271-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SingleSource except oopack and Oscar. (Sorry, Oscar.) include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add accessors for ImplicitUses/Defs. lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you really wanted this, just use MI->print(O, TM); instead... lib/Target/X86: FloatingPoint.cpp: ...like this. X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses target-specific flag bit. X86InstrInfo.def: Add the PrintImplUses flag to all the instructions which implicitly use CL, because the assembler needs to see the CL in order to generate the right instruction. Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName to name constants in the constant pool for each function instead. This avoids keeping state between runOnMachineFunction() invocations, which is a no-no. Having MangledGlobals be global is a bogon I'd like to get rid of too, but making it a static member of Printer causes link errors (why???). Make NumberForBB into a member of Printer instead of a global, too. Make printOp and printMemReference into methods of Printer. X86InstrInfo::print is now Printer::printMachineInstruction, because TargetInstrInfo::print is history. (Because of this, we have to qualify the names of some TargetInstrInfo methods we call.) Print out the ImplicitUses field of any instruction we print that has the PrintImplUses bit set. llvm-svn: 6924
* Reword to remove reference to how things worked in the past.Misha Brukman2003-05-241-4/+3
| | | | llvm-svn: 6323
* Implement the TargetInstrInfo's createNOPinstr() and isNOPinstr() interface.Misha Brukman2003-05-241-0/+13
| | | | llvm-svn: 6320
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-4/+4
| | | | llvm-svn: 5272
* * Some instructions take 64 bit integers, add an Arg type for itChris Lattner2003-01-131-4/+32
| | | | | | * Add flags for different types of FP pseudo instrs llvm-svn: 5230
* * Remove implementations of previously pure virtual functions that are not ↵Chris Lattner2002-12-281-49/+0
| | | | | | any longer. llvm-svn: 5184
* Add FP instr prefix byte supportChris Lattner2002-12-251-25/+40
| | | | | | Add Pseudo instr class llvm-svn: 5152
* Rename MemArg* to Arg*Chris Lattner2002-12-131-7/+7
| | | | llvm-svn: 4979
* Target/X86/Printer.cpp: Add sizePtr function, and use it instead ofBrian Gaeke2002-12-051-0/+11
| | | | | | | | | | | | | | | | | | " <SIZE> PTR " string when emitting assembly. Target/X86/X86InstrInfo.def: Tidy up a bit: Squashed everything down to 118 chars wide, wrapping lines so that comment is at the same point on each line. Rename "NoImpRegs" as "NoIR". (most instructions have NoImpRegs twice on a line, so this saves 10 columns). Also, annotate various instructions with flags for size of memory operand. (MemArg16, MemArg32, MemArg64, etc.) Target/X86/X86InstrInfo.h: Define flags for size of memory operand. (MemArg16, MemArg32, MemArg64, etc.) llvm-svn: 4932
* Eliminate OtherFrmChris Lattner2002-12-021-10/+6
| | | | llvm-svn: 4868
* Add fixmeChris Lattner2002-11-211-0/+3
| | | | llvm-svn: 4815
* Add support for /0 /1, etc type instructionsChris Lattner2002-11-211-5/+16
| | | | llvm-svn: 4802
* Add new prefix flagChris Lattner2002-11-211-0/+5
| | | | llvm-svn: 4794
* Expose base opcodeChris Lattner2002-11-181-0/+7
| | | | llvm-svn: 4742
* Start to add more information to instr.defChris Lattner2002-11-181-4/+45
| | | | llvm-svn: 4741
* Add instruction annotation about whether it has a 0x0F opcode prefixChris Lattner2002-11-181-1/+8
| | | | llvm-svn: 4740
* Arrange to have a TargetMachine available in X86InstrInfo::printChris Lattner2002-11-171-1/+2
| | | | llvm-svn: 4734
* Reorganize printing interface a bitChris Lattner2002-11-171-1/+1
| | | | llvm-svn: 4728
* Add flag to specify when no value is produced by an instructionChris Lattner2002-10-301-0/+9
| | | | llvm-svn: 4441
* Rename X86InstructionInfo to X86InstrInfoChris Lattner2002-10-291-2/+2
| | | | llvm-svn: 4413
* Minor renamingChris Lattner2002-10-291-2/+2
| | | | llvm-svn: 4410
* Implement MachineInstrInfo interfaceChris Lattner2002-10-291-3/+51
| | | | llvm-svn: 4394
* Initial stab at MachineInstr'icationChris Lattner2002-10-281-1/+1
| | | | llvm-svn: 4367
* Initial checkin of X86 backend.Chris Lattner2002-10-251-0/+30
We can instruction select exactly one instruction 'ret void'. Wow. llvm-svn: 4284
OpenPOWER on IntegriCloud