public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: bauermann@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Fix Frysk assembly for PowerPC 32-bit and 64-bit.
Date: Wed, 16 Apr 2008 21:36:00 -0000	[thread overview]
Message-ID: <20080416213644.28403.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  08db4df075e0d7461c6cb91b48743440028425ab (commit)
      from  0732bb7177854c12cfc978bb720cca7ea1838924 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 08db4df075e0d7461c6cb91b48743440028425ab
Author: Thiago Jung Bauermann <bauerman@br.ibm.com>
Date:   Wed Apr 16 18:33:24 2008 -0300

    Fix Frysk assembly for PowerPC 32-bit and 64-bit.
    
    frysk-imports/include/ChangeLog
    2008-04-16  Thiago Jung Bauermann  <bauerman@br.ibm.com>
    
    	* frysk-asm.h (ILLEGAL_INSTRUCTION): Use 0 as illegal insn.
    	* (LOAD_WORD): Add version for PowerPC64.  Use correct insn
    	for PowerPC32.
    	* (STORE_WORD): Add version for PowerPC64.
    	* (LOAD_BYTE): Use correct insn.
    	* (COMPARE): Add version for PowerPC64.

-----------------------------------------------------------------------

Summary of changes:
 frysk-imports/include/ChangeLog   |    9 +++++++++
 frysk-imports/include/frysk-asm.h |   22 ++++++++++++++--------
 2 files changed, 23 insertions(+), 8 deletions(-)

First 500 lines of diff:
diff --git a/frysk-imports/include/ChangeLog b/frysk-imports/include/ChangeLog
index d032d0b..2b95bb8 100644
--- a/frysk-imports/include/ChangeLog
+++ b/frysk-imports/include/ChangeLog
@@ -1,3 +1,12 @@
+2008-04-16  Thiago Jung Bauermann  <bauerman@br.ibm.com>
+
+	* frysk-asm.h (ILLEGAL_INSTRUCTION): Use 0 as illegal insn.
+	* (LOAD_WORD): Add version for PowerPC64.  Use correct insn
+	for PowerPC32.
+	* (STORE_WORD): Add version for PowerPC64.
+	* (LOAD_BYTE): Use correct insn.
+	* (COMPARE): Add version for PowerPC64.
+
 2008-04-04  Andrew Cagney  <cagney@redhat.com>
 
 	* frysk-asm.h (LOAD_WORD): Replace LOAD.
diff --git a/frysk-imports/include/frysk-asm.h b/frysk-imports/include/frysk-asm.h
index 81c063a..b00377d 100644
--- a/frysk-imports/include/frysk-asm.h
+++ b/frysk-imports/include/frysk-asm.h
@@ -185,7 +185,7 @@
 #elif defined __x86_64__
 #  define ILLEGAL_INSTRUCTION .word 0xffff
 #elif defined __powerpc__
-#  define ILLEGAL_INSTRUCTION .4byte 0xffffffff
+#  define ILLEGAL_INSTRUCTION .4byte 0
 #else
 #  warning "No no-operation instruction defined"
 #endif
@@ -205,14 +205,18 @@
 
 #if defined __x86__
 #  define LOAD_WORD(DEST_REG,BASE_REG) mov (BASE_REG), DEST_REG
+#elif defined __powerpc64__
+#  define LOAD_WORD(DEST_REG,BASE_REG) ld DEST_REG, 0(BASE_REG)
 #elif defined __powerpc__
-#  define LOAD_WORD(DEST_REG,BASE_REG) ldw DEST_REG, 0(BASE_REG)
+#  define LOAD_WORD(DEST_REG,BASE_REG) lwz DEST_REG, 0(BASE_REG)
 #else
 #  warning "No load instruction defined"
 #endif
 
 #if defined __x86__
 #  define STORE_WORD(SOURCE_REG,BASE_REG) mov SOURCE_REG, (BASE_REG)
+#elif defined __powerpc64__
+#  define STORE_WORD(SOURCE_REG,BASE_REG) std SOURCE_REG, 0(BASE_REG)
 #elif defined __powerpc__
 #  define STORE_WORD(SOURCE_REG,BASE_REG) stw SOURCE_REG, 0(BASE_REG)
 #else
@@ -225,7 +229,7 @@
 #if defined __x86__
 #  define LOAD_BYTE(DEST_REG,BASE_REG) movb (BASE_REG), DEST_REG
 #elif defined __powerpc__
-#  define LOAD_BYTE(DEST_REG,BASE_REG) ldb DEST_REG, 0(BASE_REG)
+#  define LOAD_BYTE(DEST_REG,BASE_REG) lbz DEST_REG, 0(BASE_REG)
 #else
 #  warning "No load instruction defined"
 #endif
@@ -356,6 +360,8 @@
 #  define COMPARE(LHS_REG,RHS_REG) cmpl LHS_REG, RHS_REG
 #elif defined __x86_64__
 #  define COMPARE(LHS_REG,RHS_REG) cmpq LHS_REG, RHS_REG
+#elif defined __powerpc64__
+#  define COMPARE(LHS_REG,RHS_REG) cmpd cr7, LHS_REG, RHS_REG
 #elif defined __powerpc__
 #  define COMPARE(LHS_REG,RHS_REG) cmpw cr7, LHS_REG, RHS_REG
 #else
@@ -396,10 +402,10 @@
 #if defined __x86__
 #  define JUMP_REG(REG) jmp *REG
 #elif defined __powerpc__
-// PowerPC do not have a instructio for jumping for a REG,
-// so the solution is to use a special reg (here counter reg)
-// copy the value to him, and them jump. The problem is that you
-// will lose the old value of CTR reg.
+// PowerPC does not have an instruction for jumping to the address
+// in a REG, so the solution is to use a special reg (here counter
+// reg) copy the value to it, and them jump. The problem is that
+// you will lose the old value of CTR reg.
 #  define JUMP_REG(REG) mtctr REG; bctrl
 #else
 #  warning "No indirect or register jump instruction defined"
@@ -407,7 +413,7 @@
 
 \f
 
-// Host ABI calling convetion instructions.
+// Host ABI calling convention instructions.
 
 // This collection of compound instructions let assembler code work
 // with the host's ABI's "traditional" function calling convention.


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2008-04-16 21:36 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080416213644.28403.qmail@sourceware.org \
    --to=bauermann@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).