aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/TargetMachine/Sparc/Sparc.cpp')
-rw-r--r--lib/CodeGen/TargetMachine/Sparc/Sparc.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp b/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
new file mode 100644
index 0000000000..08e12ff99a
--- /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
+}
+
+//**************************************************************************/