2001-07-21 12:42:19 +00:00
|
|
|
// $Id$
|
|
|
|
//***************************************************************************
|
|
|
|
// File:
|
|
|
|
// Sparc.cpp
|
|
|
|
//
|
|
|
|
// Purpose:
|
|
|
|
//
|
|
|
|
// History:
|
|
|
|
// 7/15/01 - Vikram Adve - Created
|
|
|
|
//**************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
//************************** System Include Files **************************/
|
|
|
|
|
|
|
|
//*************************** User Include Files ***************************/
|
|
|
|
|
|
|
|
#include "llvm/DerivedTypes.h"
|
2001-07-21 20:58:30 +00:00
|
|
|
#include "llvm/CodeGen/Sparc.h"
|
2001-07-21 12:42:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
//************************ 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
|
|
|
|
}
|
|
|
|
|
|
|
|
//**************************************************************************/
|