Added the llvm.readport and llvm.writeport intrinsics for x86. These do

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12782 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John Criswell
2004-04-08 20:31:47 +00:00
parent 9570301ee8
commit 4ffff9e2fa
7 changed files with 324 additions and 43 deletions

View File

@@ -33,12 +33,26 @@ def X86InstrInfo : InstrInfo {
// Define how we want to layout our TargetSpecific information field... This
// should be kept up-to-date with the fields in the X86InstrInfo.h file.
let TSFlagsFields = ["FormBits" , "hasOpSizePrefix" , "Prefix", "MemTypeBits",
"ImmTypeBits", "FPFormBits", "printImplicitUsesAfter",
"printImplicitUsesBefore", "Opcode"];
let TSFlagsShifts = [0, 5, 6, 10, 13,
15, 18, 19,
20];
let TSFlagsFields = ["FormBits",
"hasOpSizePrefix",
"Prefix",
"MemTypeBits",
"ImmTypeBits",
"FPFormBits",
"printImplicitUsesAfter",
"printImplicitUsesBefore",
"printImplicitDefsAfter",
"Opcode"];
let TSFlagsShifts = [0,
5,
6,
10,
13,
15,
18,
19,
20,
21];
}
def X86 : Target {