[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 191/437: Add updated sparc example from lightning 1.2c d
From: |
Andy Wingo |
Subject: |
[Guile-commits] 191/437: Add updated sparc example from lightning 1.2c documentation. |
Date: |
Mon, 2 Jul 2018 05:14:15 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit 678e72484c859c3f740c7723da55a8fc90654f99
Author: pcpa <address@hidden>
Date: Tue Feb 19 22:10:35 2013 -0300
Add updated sparc example from lightning 1.2c documentation.
* doc/body.texi: Add back the SPARC code generation example.
---
ChangeLog | 4 ++++
doc/body.texi | 19 ++++++++++++++++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 56ecbd0..0d6007f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2013-02-19 Paulo Andrade <address@hidden>
+ * doc/body.texi: Add back the SPARC code generation example.
+
+2013-02-19 Paulo Andrade <address@hidden>
+
* check/lightning.c: Remove state flag to work with partial
sparc port, by just disassembling if there was incomplete
code generation.
diff --git a/doc/body.texi b/doc/body.texi
index 3eef13b..7d3099d 100644
--- a/doc/body.texi
+++ b/doc/body.texi
@@ -710,11 +710,28 @@ code for these instructions. The client program has the
responsibility
of describing the code to be generated using the standard @lightning{}
instruction set.
-Let's examine the code generated for @code{incr} on the x86_64
+Let's examine the code generated for @code{incr} on the SPARC and x86_64
architecture (on the right is the code that an assembly-language
programmer would write):
@table @b
address@hidden SPARC
address@hidden
+ save %sp, -112, %sp
+ mov %i0, %g2 ret
+ inc %g2 inc %i0
+ mov %g2, %i0
+ restore
+ retl
+ nop
address@hidden example
+In this case, @lightning{} introduces overhead to create a register
+window (not knowing that the procedure is a leaf procedure) and to
+move the argument to the general purpose register @code{R0} (which
+maps to @code{%g2} on the SPARC).
address@hidden table
+
address@hidden @b
@item x86_64
@example
sub $0x30,%rsp
- [Guile-commits] 164/437: Add new carry test case., (continued)
- [Guile-commits] 164/437: Add new carry test case., Andy Wingo, 2018/07/02
- [Guile-commits] 138/437: Correct mips backend implementation to pass initial tests., Andy Wingo, 2018/07/02
- [Guile-commits] 163/437: Add missing jit_htonr to ppc backend., Andy Wingo, 2018/07/02
- [Guile-commits] 177/437: Correct reference to dangling pointer and better note bounds checking, Andy Wingo, 2018/07/02
- [Guile-commits] 167/437: Change type of return of jit_arg* and argument to jit_getarg*, Andy Wingo, 2018/07/02
- [Guile-commits] 168/437: Add new extensive float comparison and conversion test case, Andy Wingo, 2018/07/02
- [Guile-commits] 192/437: Correct SPARC optimized assembly example in documentation, Andy Wingo, 2018/07/02
- [Guile-commits] 93/437: subtract 1 from the final byte being flushed in PPC jit_flush_code, Andy Wingo, 2018/07/02
- [Guile-commits] 176/437: Add the new jit_name call to mark function boundaries, Andy Wingo, 2018/07/02
- [Guile-commits] 146/437: Add several arithmetic and branch tests cases., Andy Wingo, 2018/07/02
- [Guile-commits] 191/437: Add updated sparc example from lightning 1.2c documentation.,
Andy Wingo <=
- [Guile-commits] 151/437: Add new varargs test and correct related test case failures in all ports., Andy Wingo, 2018/07/02
- [Guile-commits] 198/437: Remove non optional gmp dependency., Andy Wingo, 2018/07/02
- [Guile-commits] 202/437: Ensure the end argument of __clear_cache is page aligned., Andy Wingo, 2018/07/02
- [Guile-commits] 197/437: Adapt PowerPC port to work in Darwin 32 bit and Linux 64 bit., Andy Wingo, 2018/07/02
- [Guile-commits] 184/437: Implement the "live" code to explicitly tell a register is live., Andy Wingo, 2018/07/02
- [Guile-commits] 149/437: Make all current test cases pass in Darwin PowerPC., Andy Wingo, 2018/07/02
- [Guile-commits] 113/437: Change JIT_REXTMP, JIT_R, JIT_V to use 64-bit registers, Andy Wingo, 2018/07/02
- [Guile-commits] 173/437: Add filename and line number annotation abstraction., Andy Wingo, 2018/07/02
- [Guile-commits] 201/437: Do not start over jit generation if can safely grow buffer size., Andy Wingo, 2018/07/02
- [Guile-commits] 152/437: Remove most type casts and compile test tool silently with -Wall, Andy Wingo, 2018/07/02