aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2001-07-21 12:42:19 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2001-07-21 12:42:19 +0000
commita21cf20411c595c81598a53b560a757d9daf299a (patch)
tree4d9dbf15ab0a4fcc1165e4a5c5f5830b2d0450d0 /lib/CodeGen/TargetMachine/Sparc/Sparc.cpp
parentdaae69927f2fe65b15cf68fbbc4c6099e2afc009 (diff)
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
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
+}
+
+//**************************************************************************/