Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added new target for ARMv7 platforms that use platform register.
- Loading branch information
1 parent
413f8e2
commit 2ab9d50
Showing
7 changed files
with
101 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
; -*- mode: scheme -*- | ||
; | ||
; Copyright 1998 Lars T Hansen. | ||
; | ||
; Configuration file for Fence register names, ARMv6 / ARMv7. | ||
|
||
(define-files "regs.ch" "regs.ah" "regs.sch") | ||
|
||
; These are platform-invariant and the hardware mappings are private | ||
; between the Cant back-ends and the (minimal) assembly code in the | ||
; Rts to support millicode. At least for now. | ||
|
||
(define-const result "-1" #f #f "$r.result") | ||
(define-const second "-2" #f #f "$r.second") | ||
(define-const stkp "-3" #f #f "$r.stkp") | ||
(define-const globals "-4" #f #f "$r.globals") | ||
(define-const tmp "-5" #f #f "$r.tmp") | ||
(define-const reg0 "0" #f #f "$r.reg0") | ||
|
||
; These are specific to the ARM mapping. We need a mechanism to | ||
; properly parameterize on platform here. | ||
|
||
; ARM hardware register assignments for MacScheme registers. | ||
|
||
(define-const armRESULT "0" #f #f "arm.RESULT") | ||
(define-const armSECOND "1" #f #f "arm.SECOND") | ||
(define-const armGLOBALS "2" #f #f "arm.GLOBALS") | ||
(define-const armSTKP "3" #f #f "arm.STKP") | ||
(define-const armTMP0 "4" #f #f "arm.TMP0") ; This is $r.tmp in pass5p2. | ||
(define-const armREG0 "5" #f #f "arm.REG0") | ||
(define-const armREG1 "6" #f #f "arm.REG1") | ||
(define-const armREG2 "7" #f #f "arm.REG2") | ||
(define-const armREG3 "8" #f #f "arm.REG3") | ||
(define-const armREG4 "10" #f #f "arm.REG4") | ||
(define-const armREG5 "11" #f #f "arm.REG5") | ||
(define-const armTMP1 "12" #f #f "arm.TMP1") ; Not exposed to pass5p2. | ||
|
||
; Other ARM hardware registers. FP=R11, not used here. | ||
|
||
(define-const armSP "13" #f #f "arm.SP") | ||
(define-const armLR "14" #f #f "arm.LR") | ||
(define-const armPC "15" #f #f "arm.PC") | ||
|
||
(define-const _result (string-append "r" armRESULT) #f "RESULT" #f) | ||
(define-const _second (string-append "r" armSECOND) #f "SECOND" #f) | ||
(define-const _globals (string-append "r" armGLOBALS) #f "GLOBALS" #f) | ||
(define-const _stkp (string-append "r" armSTKP) #f "STKP" #f) | ||
(define-const _tmp0 (string-append "r" armTMP0) #f "TMP0" #f) | ||
(define-const _reg0 (string-append "r" armREG0) #f "REG0" #f) | ||
(define-const _reg1 (string-append "r" armREG1) #f "REG1" #f) | ||
(define-const _reg2 (string-append "r" armREG2) #f "REG2" #f) | ||
(define-const _reg3 (string-append "r" armREG3) #f "REG3" #f) | ||
(define-const _reg4 (string-append "r" armREG4) #f "REG4" #f) | ||
(define-const _reg5 (string-append "r" armREG5) #f "REG5" #f) | ||
(define-const _tmp1 (string-append "r" armTMP1) #f "TMP1" #f) | ||
|
||
; These are also specific to the ARM mapping. | ||
|
||
(define-const _lastreg "5" "LASTREG" "LASTREG" "*lastreg*") | ||
(define-const _nregs "6" "NREGS" "NREGS" "*nregs*") | ||
(define-const _nhwregs "6" #f #f "*nhwregs*") | ||
|
||
; eof |