Add RISC-V (riscv64) support (#7417)

This commit is contained in:
Federico Ceratto
2018-04-06 23:40:39 +01:00
committed by Andreas Rumpf
parent 8ae0ac8637
commit 673f5f3534
3 changed files with 9 additions and 5 deletions

View File

@@ -176,7 +176,7 @@ type
cpuNone, cpuI386, cpuM68k, cpuAlpha, cpuPowerpc, cpuPowerpc64,
cpuPowerpc64el, cpuSparc, cpuVm, cpuIa64, cpuAmd64, cpuMips, cpuMipsel,
cpuArm, cpuArm64, cpuJS, cpuNimrodVM, cpuAVR, cpuMSP430, cpuSparc64,
cpuMips64, cpuMips64el
cpuMips64, cpuMips64el, cpuRiscV64
type
TEndian* = enum
@@ -207,7 +207,8 @@ const
(name: "msp430", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
(name: "sparc64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
(name: "mips64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
(name: "mips64el", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64)]
(name: "mips64el", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
(name: "riscv64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64)]
var
targetCPU*, hostCPU*: TSystemCPU

View File

@@ -1377,7 +1377,8 @@ const
hostCPU* {.magic: "HostCPU".}: string = ""
## a string that describes the host CPU. Possible values:
## "i386", "alpha", "powerpc", "powerpc64", "powerpc64el", "sparc",
## "amd64", "mips", "mipsel", "arm", "arm64", "mips64", "mips64el".
## "amd64", "mips", "mipsel", "arm", "arm64", "mips64", "mips64el",
## "riscv64".
seqShallowFlag = low(int)
strlitFlag = 1 shl (sizeof(int)*8 - 2) # later versions of the codegen \

View File

@@ -29,8 +29,9 @@ type
arm, ## ARM based processor
arm64, ## ARM64 based processor
vm, ## Some Virtual machine: Nim's VM or JavaScript
avr ## AVR based processor
msp430 ## TI MSP430 microcontroller
avr, ## AVR based processor
msp430, ## TI MSP430 microcontroller
riscv64 ## RISC-V 64-bit processor
OsPlatform* {.pure.} = enum ## the OS this program will run on.
none, dos, windows, os2, linux, morphos, skyos, solaris,
@@ -84,5 +85,6 @@ const
elif defined(vm): CpuPlatform.vm
elif defined(avr): CpuPlatform.avr
elif defined(msp430): CpuPlatform.msp430
elif defined(riscv64): CpuPlatform.riscv64
else: CpuPlatform.none
## the CPU this program will run on.