summary refs log tree commit diff stats
diff options
context:
space:
mode:
authordef <dennis@felsin9.de>2015-07-31 23:55:31 +0200
committerdef <dennis@felsin9.de>2015-07-31 23:55:31 +0200
commit130605567e93902df1cc65dade92ec433fdf9dff (patch)
treed451ea75cac40408a2967118e331bb66d2ab7c2f
parent3d6a8b401a22f02c6dd604bc6caac09f415d3ddf (diff)
downloadNim-130605567e93902df1cc65dade92ec433fdf9dff.tar.gz
Add powerpc64el support (untested)
-rw-r--r--compiler/platform.nim5
-rw-r--r--lib/system.nim4
-rw-r--r--lib/system/platforms.nim2
3 files changed, 7 insertions, 4 deletions
diff --git a/compiler/platform.nim b/compiler/platform.nim
index f52017af7..153ada2b2 100644
--- a/compiler/platform.nim
+++ b/compiler/platform.nim
@@ -158,8 +158,8 @@ type
   TSystemCPU* = enum # Also add CPU for in initialization section and
                      # alias conditionals to condsyms (end of module).
     cpuNone, cpuI386, cpuM68k, cpuAlpha, cpuPowerpc, cpuPowerpc64,
-    cpuSparc, cpuVm, cpuIa64, cpuAmd64, cpuMips, cpuMipsel, cpuArm,
-    cpuJS, cpuNimrodVM, cpuAVR
+    cpuPowerpc64el, cpuSparc, cpuVm, cpuIa64, cpuAmd64, cpuMips, cpuMipsel,
+    cpuArm, cpuJS, cpuNimrodVM, cpuAVR
 
 type
   TEndian* = enum
@@ -175,6 +175,7 @@ const
     (name: "alpha", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
     (name: "powerpc", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
     (name: "powerpc64", intSize: 64, endian: bigEndian, floatSize: 64,bit: 64),
+    (name: "powerpc64el", intSize: 64, endian: littleEndian, floatSize: 64,bit: 64),
     (name: "sparc", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
     (name: "vm", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32),
     (name: "ia64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
diff --git a/lib/system.nim b/lib/system.nim
index 56b62d111..19af433de 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -1150,8 +1150,8 @@ const
 
   hostCPU* {.magic: "HostCPU".}: string = ""
     ## a string that describes the host CPU. Possible values:
-    ## "i386", "alpha", "powerpc", "powerpc64", "sparc", "amd64", "mips",
-    ## "mipsel", "arm".
+    ## "i386", "alpha", "powerpc", "powerpc64", "powerpc64el", "sparc",
+    ## "amd64", "mips", "mipsel", "arm".
 
   seqShallowFlag = low(int)
 
diff --git a/lib/system/platforms.nim b/lib/system/platforms.nim
index 0472181f5..243f48a3a 100644
--- a/lib/system/platforms.nim
+++ b/lib/system/platforms.nim
@@ -18,6 +18,7 @@ type
     alpha,                     ## Alpha processor
     powerpc,                   ## 32 bit PowerPC
     powerpc64,                 ## 64 bit PowerPC
+    powerpc64el,               ## Little Endian 64 bit PowerPC
     sparc,                     ## Sparc based processor
     ia64,                      ## Intel Itanium
     amd64,                     ## x86_64 (AMD64); 64 bit x86 compatible CPU
@@ -64,6 +65,7 @@ const
                elif defined(alpha): CpuPlatform.alpha
                elif defined(powerpc): CpuPlatform.powerpc
                elif defined(powerpc64): CpuPlatform.powerpc64
+               elif defined(powerpc64el): CpuPlatform.powerpc64el
                elif defined(sparc): CpuPlatform.sparc
                elif defined(ia64): CpuPlatform.ia64
                elif defined(amd64): CpuPlatform.amd64