Description of the SPARC as a target architecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vikram S. Adve
2001-07-21 12:42:19 +00:00
parent daae69927f
commit a21cf20411
4 changed files with 1813 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
// $Id$
//***************************************************************************
// File:
// Sparc.cpp
//
// Purpose:
//
// History:
// 7/15/01 - Vikram Adve - Created
//**************************************************************************/
//************************** System Include Files **************************/
//*************************** User Include Files ***************************/
#include "llvm/DerivedTypes.h"
#include "llvm/Codegen/Sparc.h"
//************************ Exported Constants ******************************/
// Set external object describing the machine instructions
//
const MachineInstrInfo* TargetMachineInstrInfo = SparcMachineInstrInfo;
//************************ Class Implementations **************************/
//---------------------------------------------------------------------------
// class UltraSparcMachine
//
// Purpose:
// Machine description.
//
//---------------------------------------------------------------------------
UltraSparc::UltraSparc()
: TargetMachine()
{
optSizeForSubWordData = 4;
intSize = 4;
floatSize = 4;
longSize = 8;
doubleSize = 8;
longDoubleSize = 16;
pointerSize = 8;
minMemOpWordSize = 8;
maxAtomicMemOpWordSize = 8;
machineInstrInfo = SparcMachineInstrInfo;
zeroRegNum = 0; // %g0 always gives 0 on Sparc
}
//**************************************************************************/