diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-12 09:08:23 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-12 09:08:23 +0200 |
commit | 552147109492793cd811d37c3c7e310090bb5476 (patch) | |
tree | 7c88854440b760e236f2a3299ebe0a7ff6695640 /runtime | |
parent | 525720d136acb20dca47f31655c1940cc341c69e (diff) | |
download | compcert-kvx-552147109492793cd811d37c3c7e310090bb5476.tar.gz compcert-kvx-552147109492793cd811d37c3c7e310090bb5476.zip |
simplification of the varargs procedure: they are leaf procedures, there is no need to save $ra
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/mppa_k1c/vararg.S | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/runtime/mppa_k1c/vararg.S b/runtime/mppa_k1c/vararg.S index 0c96b2ff..9e23e0b3 100644 --- a/runtime/mppa_k1c/vararg.S +++ b/runtime/mppa_k1c/vararg.S @@ -7,18 +7,6 @@ .balign 2 .globl __compcert_va_int32 __compcert_va_int32: -# Prologue - addd $r14 = $r12, 0 -;; - addd $r12 = $r12, -16 -;; - sd 0[$r12] = $r14 -;; - get $r16 = $ra -;; - sd 8[$r12] = $r16 -;; -# Body ld $r32 = 0[$r0] # $r32 <- *ap ;; addd $r32 = $r32, 8 # $r32 <- $r32 + WORDSIZE @@ -26,14 +14,6 @@ __compcert_va_int32: sd 0[$r0] = $r32 # *ap <- $r32 ;; lws $r0 = -8[$r32] # retvalue <- 32-bits at *ap - WORDSIZE -;; -# Prologue - ld $r16 = 8[$r12] -;; - set $ra = $r16 -;; - addd $r12 = $r12, 16 -;; ret ;; @@ -47,17 +27,6 @@ __compcert_va_float64: # FIXME this assumes pass-by-reference __compcert_va_composite: # Prologue - addd $r14 = $r12, 0 -;; - addd $r12 = $r12, -16 -;; - sd 0[$r12] = $r14 -;; - get $r16 = $ra -;; - sd 8[$r12] = $r16 -;; -# Body ld $r32 = 0[$r0] # $r32 <- *ap ;; addd $r32 = $r32, 8 # $r32 <- $r32 + WORDSIZE @@ -65,16 +34,8 @@ __compcert_va_composite: sd 0[$r0] = $r32 # *ap <- $r32 ;; ld $r0 = -8[$r32] # retvalue <- 64-bits at *ap - WORDSIZE -;; -# Prologue - ld $r16 = 8[$r12] -;; - set $ra = $r16 -;; - addd $r12 = $r12, 16 -;; ret - ;; +;; # FIXME this assumes pass-by-reference .globl __compcert_acswapd |