X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FCOptWraps.lh;fp=ghc%2Fincludes%2FCOptWraps.lh;h=27c862fdf987016e3b041cb4965d7c4eed7e72e3;hb=34a942902c63d690ddb5bcd6df6d3a01f82cd92b;hp=b0d68479832f889260e4d8a7eacd59c5dc249e9f;hpb=291b7ab4dbafa062fe96b7f0b7ed79fb171d1c35;p=ghc-hetmet.git diff --git a/ghc/includes/COptWraps.lh b/ghc/includes/COptWraps.lh index b0d6847..27c862f 100644 --- a/ghc/includes/COptWraps.lh +++ b/ghc/includes/COptWraps.lh @@ -559,33 +559,20 @@ gets whatever it's after. \begin{code} #if powerpc_TARGET_ARCH || rs6000_TARGET_ARCH -/* shift 4 arg registers down one */ - #define MAGIC_CALL_SETUP \ register void (*f)() __asm__("$2"); \ __asm__ volatile ( \ - "move $2,$4\n" \ "not used!!!????\n" \ - "\tmove $4,$5\n" \ - "\tmove $5,$6\n" \ - "\tmove $6,$7\n" \ - "\tlw $7,16($sp)\n" \ - "\taddu $sp,$sp,4\n" \ : : : "$2" ); #define MAGIC_CALL \ (*f)(); \ __asm__ volatile ( \ - "subu $sp,$sp,4\n" \ - "\ts.d $f0, -8($sp)\n" \ - "not used!!!????\n" \ - "\tsw $2, -12($sp)"); + "not used!!!????\n"); #define MAGIC_RETURN \ __asm__ volatile ( \ - "l.d $f0, -8($sp)\n" \ - "not used!!!????\n" \ - "\tlw $2, -12($sp)"); + "not used!!!????\n"); #define WRAPPER_NAME(f) /* nothing */ @@ -600,7 +587,7 @@ We defeat it by saving the registers in the stack again. :-( */ do {RestoreAllStgRegs(); if(x) JMP_(EnterNodeCode);} while(0); \ __asm__ volatile ( \ "cal 1,136(1)\n" \ - "\tstm 13,-76(1)\n" \ + "\tstm 14,-72(1)\n" \ "\tstu 1,-136(1)"); #define SEPARATE_WRAPPER_RESTORE /* none */