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
diff --git a/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp b/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
new file mode 100644
index 0000000..08e12ff
--- /dev/null
+++ b/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
@@ -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
+}
+
+//**************************************************************************/