summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC
Commit message (Collapse)AuthorAgeFilesLines
...
* PowerPCRegisterInfo no longer takes a bool to differentiate 32 vs 64 bitsMisha Brukman2004-08-171-6/+3
| | | | llvm-svn: 15854
* The PowerPCInstrInfo class has gone away.Misha Brukman2004-08-171-34/+0
| | | | llvm-svn: 15853
* PowerPCInstrInfo has gone away, PPC32 and PPC64 share opcodes.Misha Brukman2004-08-171-1/+2
| | | | llvm-svn: 15852
* PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPCMisha Brukman2004-08-179-27/+592
| | | | llvm-svn: 15851
* PowerPC 32-/64-bit split: Part I, PPC32* bit files, adapted from former PowerPC*Misha Brukman2004-08-179-40/+616
| | | | llvm-svn: 15850
* Print float constants as 4 byte values.Chris Lattner2004-08-171-22/+25
| | | | | | Also, fix endianness problems when cross compiling from little-endian host. llvm-svn: 15847
* Make sure to put an _ prefix on all identifiers!Chris Lattner2004-08-171-16/+29
| | | | | | Also, add some (currently disabled) code to print float's as 32-bits. llvm-svn: 15846
* More changes to make PPC32 and X86 more similarChris Lattner2004-08-161-11/+9
| | | | llvm-svn: 15842
* Minor changes to make the diff be nothing against the X86 versionChris Lattner2004-08-161-19/+4
| | | | llvm-svn: 15841
* Finegrainify namespacificationChris Lattner2004-08-161-109/+15
| | | | | | Start using the AsmPrinter base class to factor out a bunch of code llvm-svn: 15840
* There is no need for a cast hereChris Lattner2004-08-161-1/+1
| | | | llvm-svn: 15810
* Update the current state of the worldNate Begeman2004-08-161-6/+1
| | | | llvm-svn: 15809
* Fix typo of the word 'implicit' I made resolving a CVS conflict. Whoops!Nate Begeman2004-08-161-1/+1
| | | | llvm-svn: 15808
* Fix frame pointer handling:Nate Begeman2004-08-162-32/+33
| | | | | | | | | | Reserve R0 in store/load from stack slot for building >32k offsets from SP or FP. This also requires we use R11 rather than R0 for holding the LR value we want to save or restore. Also, tell the register allocator not to use R31 (our FP) in functions that have a frame pointer. These changes fix Burg. llvm-svn: 15807
* Fix mismatched adjust down/up of SP in functions that contain variableNate Begeman2004-08-161-4/+4
| | | | | | sized allocas. llvm-svn: 15806
* Insertion methods now return void instead of #instrs inserted. Also, useChris Lattner2004-08-152-31/+25
| | | | | | more powerful forms of BuildMI to concisify the code llvm-svn: 15782
* These methods no longer take a TargetRegisterClass* operand.Chris Lattner2004-08-152-8/+7
| | | | llvm-svn: 15774
* Make this compile on gc 3.4.1 (static_cast to non-const type was notAlkis Evlogimenos2004-08-151-2/+2
| | | | | | allowed). llvm-svn: 15766
* Add future optimization opportunityNate Begeman2004-08-151-0/+1
| | | | llvm-svn: 15760
* Fix float to int codepath by always allocating 8 bytes for the target of a ↵Nate Begeman2004-08-151-6/+9
| | | | | | double store; optimize cmplwi generation. llvm-svn: 15759
* Zimm16 is now dead. Its entry is not removed from the enum, to avoid havingChris Lattner2004-08-152-4/+0
| | | | | | | to renumber everything. Similar elimination should be applied to other operand enum values that are only used to format printing in the .s file. llvm-svn: 15755
* Convert all of the DForm_6* operations, which makes all of the Zimm16 usersChris Lattner2004-08-153-12/+24
| | | | | | dead. llvm-svn: 15754
* Reenable the CCRCChris Lattner2004-08-151-1/+2
| | | | llvm-svn: 15752
* Convert the DForm_4 over to the asmprintergenChris Lattner2004-08-153-9/+29
| | | | llvm-svn: 15751
* Remove dead codeNate Begeman2004-08-151-8/+0
| | | | llvm-svn: 15750
* Print mflr using the asmwriter generatorChris Lattner2004-08-142-2/+21
| | | | llvm-svn: 15749
* Replace PowerPCPEI.cpp with target independant PrologEpilogInserterNate Begeman2004-08-146-353/+64
| | | | llvm-svn: 15746
* Add support for frame pointers, and large offsets from stack and frame ↵Nate Begeman2004-08-142-28/+72
| | | | | | pointers. Adopt elimination of MachineFunction& arg from eliminateFrameIndex. llvm-svn: 15745
* Add indexed forms of load doubleword and load word algebraic for 64 bit targetsNate Begeman2004-08-141-0/+2
| | | | llvm-svn: 15743
* Fix handling of FP constants with single precision, and loading of internal ↵Nate Begeman2004-08-141-27/+27
| | | | | | linkage function addresses llvm-svn: 15742
* Add initial support for using the generated asm writer. Also, fix FP ↵Nate Begeman2004-08-141-61/+73
| | | | | | constant printing to always print 8 byte intializers. Move printing of LinkOnce stubs. llvm-svn: 15741
* Add generation of asm writer from tablegen files to MakefileNate Begeman2004-08-141-1/+6
| | | | llvm-svn: 15740
* Remove an unneeded header and forward declarationNate Begeman2004-08-131-2/+0
| | | | llvm-svn: 15722
* Fix siod by switching BoolTy to byte rather than int until CFE changes forNate Begeman2004-08-132-27/+28
| | | | | | | Darwin. Also, change asm printer to output proper stubs for external functions whose address is passed as an argument to aid in bugpointing. llvm-svn: 15721
* Fix 177.mesa compilation, don't use floating point regs for base addresses!Nate Begeman2004-08-131-1/+1
| | | | llvm-svn: 15720
* Fix llc crasher compiling siod by giving BuildMI the correct number of argumentsNate Begeman2004-08-131-1/+1
| | | | llvm-svn: 15719
* Longs are in one register on PowerPC 64; use appropriate instructions to ↵Nate Begeman2004-08-131-158/+22
| | | | | | operate on them. llvm-svn: 15711
* Add some more 64 bit instructions we need for the PowerPC-64 ISel to the ↵Nate Begeman2004-08-132-2/+57
| | | | | | tablegen files llvm-svn: 15710
* Disable PPC64 backend by default because LLC cannot choose automatically betweenMisha Brukman2004-08-121-2/+2
| | | | | | | SparcV9 and PowerPC64 without target triples, since they are both 64-bit big-endian targets. llvm-svn: 15688
* * Correct 64-bit version: blr 1 (not 0)Misha Brukman2004-08-121-2/+2
| | | | | | * BuildMI() can build 0-param instructions (e.g., NOP) llvm-svn: 15681
* * Print out full names for non-GPR or -FPR registersMisha Brukman2004-08-121-3/+5
| | | | | | * BuildMI() really *does* handle 0 params! llvm-svn: 15680
* * Pointers are 8 bytes, hence cLong type on 64-bit PPCMisha Brukman2004-08-121-6/+8
| | | | | | * Fix loading of GlobalValues llvm-svn: 15678
* Eliminate special-casing 14-bit immediate load/store opcodesMisha Brukman2004-08-121-16/+5
| | | | llvm-svn: 15677
* Correctly print out ASCII literal strings on AIXMisha Brukman2004-08-121-22/+48
| | | | llvm-svn: 15674
* Mark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64Misha Brukman2004-08-121-3/+6
| | | | llvm-svn: 15673
* * Move AIX into the llvm namespace to be accessed from RegisterInfoMisha Brukman2004-08-112-11/+15
| | | | | | | * Mark InstrInfo with 32 vs. 64 bit flag * Enable the 64-bit isel and asm printer llvm-svn: 15672
* Set the is64bit flag and propagate it to PowerPCRegisterInfoMisha Brukman2004-08-112-3/+6
| | | | llvm-svn: 15671
* * Set the is64bit boolean flag in PowerPCRegisterInfoMisha Brukman2004-08-113-18/+30
| | | | | | | | * Doubles are 8 bytes in 64-bit PowerPC, and use the general register class * Use double-word loads and stores for restoring from/saving to stack * Do not allocate R2 if compiling for AIX llvm-svn: 15670
* 64-bit instruction selector and AIX-specific 64-bit asm printerMisha Brukman2004-08-113-1/+3887
| | | | llvm-svn: 15669
* Fix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodesMisha Brukman2004-08-111-4/+10
| | | | llvm-svn: 15668
OpenPOWER on IntegriCloud