Syscall tidying.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6349 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_syscall.c b/coregrind/m_syscall.c
index b5185fa..c35eb2c 100644
--- a/coregrind/m_syscall.c
+++ b/coregrind/m_syscall.c
@@ -343,16 +343,16 @@
       "lwz   9, 28(28)\n\t"
       "lwz  10, 32(28)\n\t"
 
-      // set up LR to point just after the sc insn
-      ".long 0x48000005\n\t" // "bl here+4" -- lr := & next insn
-      "mflr 29\n\t"
-      "addi 29,29,20\n\t"
-      "mtlr 29\n\t"
-
       // set bit 3 of CR1 otherwise AIX 5.1 returns to the
       // wrong address after the sc instruction
       "crorc 6,6,6\n\t"
 
+      // set up LR to point just after the sc insn
+      ".long 0x48000005\n\t" // "bl here+4" -- lr := & next insn
+      "mflr 29\n\t"
+      "addi 29,29,16\n\t"
+      "mtlr 29\n\t"
+
       // do it!
       "sc\n\t"
 
@@ -414,16 +414,16 @@
       "ld    9, 56(28)\n\t"
       "ld   10, 64(28)\n\t"
 
-      // set up LR to point just after the sc insn
-      ".long 0x48000005\n\t" // "bl here+4" -- lr := & next insn
-      "mflr 29\n\t"
-      "addi 29,29,20\n\t"
-      "mtlr 29\n\t"
-
       // set bit 3 of CR1 otherwise AIX 5.1 returns to the
       // wrong address after the sc instruction
       "crorc 6,6,6\n\t"
 
+      // set up LR to point just after the sc insn
+      ".long 0x48000005\n\t" // "bl here+4" -- lr := & next insn
+      "mflr 29\n\t"
+      "addi 29,29,16\n\t"
+      "mtlr 29\n\t"
+
       // do it!
       "sc\n\t"