diff options
author | David Chamberlain <daybird@gentoo.org> | 2002-06-09 15:24:37 +0000 |
---|---|---|
committer | David Chamberlain <daybird@gentoo.org> | 2002-06-09 15:24:37 +0000 |
commit | 76634c75d566b4a93367c3ff14a7958cc4e66b0e (patch) | |
tree | 3be8552c854464945f9a582e879121891520becf /dev-lang/ocaml/files | |
parent | dodoc added in the ebuild. (diff) | |
download | historical-76634c75d566b4a93367c3ff14a7958cc4e66b0e.tar.gz historical-76634c75d566b4a93367c3ff14a7958cc4e66b0e.tar.bz2 historical-76634c75d566b4a93367c3ff14a7958cc4e66b0e.zip |
hopefully this diff will work :-)
Diffstat (limited to 'dev-lang/ocaml/files')
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.04-ppc.diff | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/dev-lang/ocaml/files/ocaml-3.04-ppc.diff b/dev-lang/ocaml/files/ocaml-3.04-ppc.diff index 46cc96add588..82351fc15b3a 100644 --- a/dev-lang/ocaml/files/ocaml-3.04-ppc.diff +++ b/dev-lang/ocaml/files/ocaml-3.04-ppc.diff @@ -1,12 +1,12 @@ diff --exclude=*CVS* -urN ocaml/asmcomp/linearize.ml ocaml+powerpcfix/asmcomp/linearize.ml ---- ocaml/asmcomp/linearize.ml Mon Feb 5 09:49:10 2001 -+++ ocaml+powerpcfix/asmcomp/linearize.ml Tue Feb 19 18:06:40 2002 +--- ocaml/asmcomp/linearize.ml Mon Feb 5 09:49:10 2001 ++++ ocaml+powerpcfix/asmcomp/linearize.ml Tue Feb 19 18:06:40 2002 @@ -10,7 +10,7 @@ (* *) (***********************************************************************) --(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) -+(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) +-(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) ++(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) (* Transformation of Mach code into a list of pseudo-instructions. *) @@ -20,14 +20,14 @@ diff --exclude=*CVS* -urN ocaml/asmcomp/linearize.ml ocaml+powerpcfix/asmcomp/li res: Reg.t array; live: Reg.Set.t } diff --exclude=*CVS* -urN ocaml/asmcomp/linearize.mli ocaml+powerpcfix/asmcomp/linearize.mli ---- ocaml/asmcomp/linearize.mli Mon Feb 5 09:49:10 2001 -+++ ocaml+powerpcfix/asmcomp/linearize.mli Tue Feb 19 18:06:40 2002 +--- ocaml/asmcomp/linearize.mli Mon Feb 5 09:49:10 2001 ++++ ocaml+powerpcfix/asmcomp/linearize.mli Tue Feb 19 18:06:40 2002 @@ -10,7 +10,7 @@ (* *) (***********************************************************************) --(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) -+(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) +-(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) ++(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) (* Transformation of Mach code into a list of pseudo-instructions. *) @@ -49,14 +49,14 @@ diff --exclude=*CVS* -urN ocaml/asmcomp/linearize.mli ocaml+powerpcfix/asmcomp/l type fundecl = { fun_name: string; diff --exclude=*CVS* -urN ocaml/asmcomp/power/arch.ml ocaml+powerpcfix/asmcomp/power/arch.ml ---- ocaml/asmcomp/power/arch.ml Fri Apr 21 10:11:10 2000 -+++ ocaml+powerpcfix/asmcomp/power/arch.ml Tue Feb 19 18:06:42 2002 +--- ocaml/asmcomp/power/arch.ml Fri Apr 21 10:11:10 2000 ++++ ocaml+powerpcfix/asmcomp/power/arch.ml Tue Feb 19 18:06:42 2002 @@ -10,7 +10,7 @@ (* *) (***********************************************************************) --(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) -+(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) +-(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) ++(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) (* Specific operations for the PowerPC processor *) @@ -76,31 +76,31 @@ diff --exclude=*CVS* -urN ocaml/asmcomp/power/arch.ml ocaml+powerpcfix/asmcomp/p + fprintf ppf "alloc_far %d" n (* Distinguish between the PowerPC and the Power/RS6000 submodels *) - + diff --exclude=*CVS* -urN ocaml/asmcomp/power/emit.mlp ocaml+powerpcfix/asmcomp/power/emit.mlp ---- ocaml/asmcomp/power/emit.mlp Fri Mar 10 15:31:06 2000 -+++ ocaml+powerpcfix/asmcomp/power/emit.mlp Tue Feb 19 18:06:42 2002 +--- ocaml/asmcomp/power/emit.mlp Fri Mar 10 15:31:06 2000 ++++ ocaml+powerpcfix/asmcomp/power/emit.mlp Tue Feb 19 18:06:42 2002 @@ -10,7 +10,7 @@ (* *) (***********************************************************************) - --(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) -+(* $Id: ocaml-3.04-ppc.diff,v 1.1 2002/06/09 02:17:18 daybird Exp $ *) - + +-(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) ++(* $Id: ocaml-3.04-ppc.diff,v 1.2 2002/06/09 15:24:37 daybird Exp $ *) + (* Emission of PowerPC assembly code *) - + @@ -349,6 +349,7 @@ let name_for_specific = function Imultaddf -> "fmadd" | Imultsubf -> "fmsub" + | _ -> Misc.fatal_error "Emit.Ispecific" - + (* Name of current function *) let function_name = ref "" @@ -365,6 +366,132 @@ (* Number of jumptable entries *) let num_jumptbl_entries = ref 0 - + +(* Fixup conditional branches that exceed hardware allowed range *) + +let load_store_size = function @@ -231,32 +231,32 @@ diff --exclude=*CVS* -urN ocaml/asmcomp/power/emit.mlp ocaml+powerpcfix/asmcomp/ let rec emit_instr i dslot = @@ -551,6 +678,15 @@ - ` addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n`; + ` addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n`; record_frame i.live; - ` bltl {emit_label !call_gc_label}\n` + ` bltl {emit_label !call_gc_label}\n` + | Lop(Ispecific(Ialloc_far n)) -> + if !call_gc_label = 0 then call_gc_label := new_label(); + let lbl = new_label() in -+ ` addi {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`; -+ ` cmplw {emit_gpr 31}, {emit_gpr 30}\n`; -+ ` bge {emit_label lbl}\n`; ++ ` addi {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`; ++ ` cmplw {emit_gpr 31}, {emit_gpr 30}\n`; ++ ` bge {emit_label lbl}\n`; + record_frame i.live; -+ ` bl {emit_label !call_gc_label}\n`; -+ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n` ++ ` bl {emit_label !call_gc_label}\n`; ++ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n` | Lop(Iintop Isub) -> (* subf has swapped arguments *) (* Use subfc instead of subf for RS6000 compatibility. *) - ` subfc {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` + ` subfc {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` @@ -749,7 +885,7 @@ - ` lwz {emit_gpr 29}, 4({emit_gpr 1})\n`; + ` lwz {emit_gpr 29}, 4({emit_gpr 1})\n`; if toc then - ` lwz {emit_gpr 2}, 20({emit_gpr 1})\n`; -- ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int trap_frame_size}\n\n`; -+ ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int trap_frame_size}\n`; + ` lwz {emit_gpr 2}, 20({emit_gpr 1})\n`; +- ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int trap_frame_size}\n\n`; ++ ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int trap_frame_size}\n`; ` blr\n` - + and emit_delay = function @@ -831,6 +967,7 @@ - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int(-n)}\n` + ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int(-n)}\n` end; `{emit_label !tailrec_entry_point}:\n`; + branch_normalization fundecl.fun_body; |