Browse Source

runtime: reuse common code between 32 and 64-bit RISC-V

pull/1219/head
Yannis Huber 4 years ago
committed by Ron Evans
parent
commit
5ff76aacab
  1. 12
      src/runtime/arch_tinygoriscv.go
  2. 13
      src/runtime/arch_tinygoriscv32.go
  3. 6
      src/runtime/arch_tinygoriscv64.go

12
src/runtime/arch_tinygoriscv.go

@ -1,19 +1,9 @@
// +build tinygo.riscv32
// +build tinygo.riscv
package runtime
import "device/riscv"
const GOARCH = "arm" // riscv pretends to be arm
// The bitness of the CPU (e.g. 8, 32, 64).
const TargetBits = 32
// Align on word boundary.
func align(ptr uintptr) uintptr {
return (ptr + 3) &^ 3
}
func getCurrentStackPointer() uintptr {
return riscv.AsmFull("mv {}, sp", nil)
}

13
src/runtime/arch_tinygoriscv32.go

@ -0,0 +1,13 @@
// +build tinygo.riscv32
package runtime
const GOARCH = "arm" // riscv pretends to be arm
// The bitness of the CPU (e.g. 8, 32, 64).
const TargetBits = 32
// Align on word boundary.
func align(ptr uintptr) uintptr {
return (ptr + 3) &^ 3
}

6
src/runtime/arch_tinygoriscv64.go

@ -2,8 +2,6 @@
package runtime
import "device/riscv"
const GOARCH = "arm64" // riscv pretends to be arm
// The bitness of the CPU (e.g. 8, 32, 64).
@ -13,7 +11,3 @@ const TargetBits = 64
func align(ptr uintptr) uintptr {
return (ptr + 7) &^ 7
}
func getCurrentStackPointer() uintptr {
return riscv.AsmFull("mv {}, sp", nil)
}

Loading…
Cancel
Save