Commit Graph

13717 Commits

Author SHA1 Message Date
Misha Brukman 78c1dcfc3e Add support for 64-bit CMPDI, CMPLDI, and CMPLD opcodes
llvm-svn: 15667
2004-08-11 20:56:14 +00:00
Misha Brukman 28beda9ba4 Add doubleword load/store (64-bit only).
llvm-svn: 15665
2004-08-11 15:54:36 +00:00
Misha Brukman 81f6ee8070 Simple hand-coded tests to aid in early development of backends, along with a
Makefile to run ad-hoc tests easily.

llvm-svn: 15664
2004-08-11 14:16:34 +00:00
Misha Brukman 7224ee1e4c Hyphenate ##-bit and remove first-person from comments.
llvm-svn: 15663
2004-08-11 13:35:44 +00:00
Nate Begeman f17ea0f7b7 Clean up 32/64bit and Darwin/AIX split. Next steps: 64 bit ISel, AIX asm printer.
llvm-svn: 15662
2004-08-11 07:40:04 +00:00
Chris Lattner 6f0291792e Fix a case where constantexprs could leak into the PPC isel.
llvm-svn: 15661
2004-08-11 07:34:50 +00:00
Chris Lattner eb34c59930 Remove a bunch of ad-hoc target-specific flags that were only used by the
old asmprinter.

llvm-svn: 15660
2004-08-11 07:12:04 +00:00
Chris Lattner 085663c4ec Remove a dead method
llvm-svn: 15659
2004-08-11 07:07:14 +00:00
Chris Lattner d1bee6ee12 Finally, the entire instruction asmprinter is now generated from tblgen, woo!
llvm-svn: 15658
2004-08-11 07:02:04 +00:00
Chris Lattner a0bafce127 Add asmprintergen support for the last X86 instruction that needs it: pcrelative calls.
llvm-svn: 15657
2004-08-11 06:59:12 +00:00
Chris Lattner 5edeb20bbb This file is long dead
llvm-svn: 15656
2004-08-11 06:55:12 +00:00
Chris Lattner 5f4b65e57d Scrunch memoperands, add a few more for floating point memops
Eliminate the FPI*m classes, converting them to use FPI instead.

llvm-svn: 15655
2004-08-11 06:50:10 +00:00
Chris Lattner b975636f71 Move hacks up
llvm-svn: 15654
2004-08-11 06:09:55 +00:00
Chris Lattner 6dd0474edd Make FPI take asm string and operand list
llvm-svn: 15653
2004-08-11 05:54:16 +00:00
Chris Lattner c52899c3c7 Nuke the Im*i* patterns, by asmprintergenifying all users.
llvm-svn: 15652
2004-08-11 05:31:07 +00:00
Chris Lattner f5c767038a X86 instructions that read-modify-write memory are not LLVM two-address instructions.
llvm-svn: 15651
2004-08-11 05:07:25 +00:00
Chris Lattner 0d7bc2c5da Get rid of the Im8, Im16, Im32 classes, converting more instructions over to
asmprintergeneration

llvm-svn: 15650
2004-08-11 04:31:00 +00:00
Chris Lattner baa2ecb798 Fix minor bug in previous checkin
llvm-svn: 15649
2004-08-11 04:08:36 +00:00
Nate Begeman 7526da6ead Fix 255.vortex by using getClassB instead of getClass
llvm-svn: 15648
2004-08-11 03:30:55 +00:00
Chris Lattner 4dfadc05e6 Remove dead method
llvm-svn: 15647
2004-08-11 02:26:39 +00:00
Chris Lattner 09ee05bcdf Convert asmprinter to new style of instruction printer
Start asmprintergen'ifying machine instrs with memory operands.

llvm-svn: 15646
2004-08-11 02:25:00 +00:00
Chris Lattner c1904dd38f change how we invoke the printer. Instead of passing in the MO directly,
pass in the MI, operand number, and the type of the operand.

llvm-svn: 15645
2004-08-11 02:23:23 +00:00
Chris Lattner 3bc477a237 Start parsing more information from the Operand information
llvm-svn: 15644
2004-08-11 02:22:39 +00:00
Chris Lattner 101f3fea82 Remove special case hacks
llvm-svn: 15643
2004-08-11 01:53:58 +00:00
Chris Lattner 6bd2d26b56 Fill out immediate operand classes, add a new Operand class
llvm-svn: 15642
2004-08-11 01:53:34 +00:00
Chris Lattner 4456da6a4c Fix InstCombine/2004-08-10-BoolSetCC.ll, a bug that is miscompiling
176.gcc.  Note that this is apparently not the only bug miscompiling gcc
though. :(

llvm-svn: 15639
2004-08-11 00:50:51 +00:00
Chris Lattner 39884511ee New testcase that instcombine is getting wrong
llvm-svn: 15637
2004-08-11 00:49:50 +00:00
Misha Brukman e67a212267 Breaking up the PowerPC target into 32- and 64-bit subparts, Part III: the rest.
llvm-svn: 15636
2004-08-11 00:11:25 +00:00
Misha Brukman 284086aa4a Breaking up the PowerPC target into 32- and 64-bit subparts: Part II: 64-bit.
llvm-svn: 15635
2004-08-11 00:10:41 +00:00
Misha Brukman d022a5ac5a Breaking up the PowerPC target into 32- and 64-bit subparts, Part I: 32-bit.
llvm-svn: 15634
2004-08-11 00:09:42 +00:00
Misha Brukman 3decf86fb7 Implement new constructor.
llvm-svn: 15633
2004-08-10 23:10:25 +00:00
Misha Brukman 8ca3b7568a Add new constructor.
llvm-svn: 15632
2004-08-10 23:10:21 +00:00
Misha Brukman dad438bfb9 Renamed PPC32 (namespace for regs, opcodes) to PPC to include 64-bit targets
llvm-svn: 15631
2004-08-10 22:47:03 +00:00
Misha Brukman 0b9444e536 * Fix file header to use tablegen emacs mode instead of c++
* Wrap long line to 80 cols

llvm-svn: 15630
2004-08-10 21:24:44 +00:00
Chris Lattner ce5fb7db1c This is purely a formatting patch that gets us closer to the mecca of fitting
X86InstrInfo.td into 80 columns

llvm-svn: 15629
2004-08-10 21:21:30 +00:00
Chris Lattner 116fc25d79 Drop the first argument of FPI, and asmprinterify fxch
llvm-svn: 15628
2004-08-10 21:02:13 +00:00
Misha Brukman 422d0fadf1 Deleted commented-out code as we now get namespace directly, add comments
llvm-svn: 15627
2004-08-10 20:54:58 +00:00
Nate Begeman 63be70d8f2 Fix casts of float to unsigned long
Replace STDX (store 64 bit int indexed) with STFDX (store double indexed)
Fix latent bug in indexed load generation
Generate indexed loads and stores in many more cases

llvm-svn: 15626
2004-08-10 20:42:36 +00:00
Misha Brukman 1401c28e35 Fix file header comment: update filename, set tablegen emacs mode.
llvm-svn: 15625
2004-08-10 20:28:13 +00:00
Chris Lattner ead14c1a07 This purely mechanical patch gives the "I" tblgen class operand list and asm
string operands, and adjusts all users to pass them in instead of using II.

llvm-svn: 15624
2004-08-10 20:17:41 +00:00
Reid Spencer e66c307d2a Fix a copy & paste error .. correct the description of the program.
llvm-svn: 15623
2004-08-10 19:18:51 +00:00
Reid Spencer b8773e31d8 Adding a simple example of how to use the JIT.
Contributed by Valery A. Khamenya. THANKS, Valery!

llvm-svn: 15622
2004-08-10 19:14:36 +00:00
Chris Lattner c4eb5951d5 Convert Ii32 instructions over to use the asmprinter generator
llvm-svn: 15621
2004-08-10 19:06:36 +00:00
Misha Brukman c6b114f258 DForm 5/6 extended mneumonics take 3 arguments.
llvm-svn: 15620
2004-08-10 19:03:31 +00:00
Misha Brukman 59978333a3 Use the target name instead of hard-coding SparcV9.
llvm-svn: 15616
2004-08-10 18:31:01 +00:00
Misha Brukman dc541abcd0 * Instruction definitions moved to SparcV9InstrInfo.td for consistency
* Defined PHI instruction and SparcV9 subclass of Target

llvm-svn: 15615
2004-08-10 18:15:31 +00:00
Misha Brukman 591d47113f Renamed SparcV9_Reg.td -> SparcV9RegisterInfo.td for consistency.
llvm-svn: 15614
2004-08-10 18:14:04 +00:00
Misha Brukman 09d87b4939 Fix DForm_4: format is `op r, r, i'
llvm-svn: 15613
2004-08-10 18:07:55 +00:00
Misha Brukman 17913b3f23 Fix comment header, specify type of file `tablegen'.
llvm-svn: 15612
2004-08-10 17:37:14 +00:00
Reid Spencer 424cf6c880 Finish HTMLizing the document. Configuration section is very crufty.
llvm-svn: 15611
2004-08-10 16:40:56 +00:00