Skip to content

Commit

Permalink
Retour en arriere sur la modif du Lswitch -- ne fait guere de
Browse files Browse the repository at this point in the history
difference, le probleme de debordement des sauts conditionnels demeure.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1033 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
  • Loading branch information
xavierleroy committed Sep 27, 1996
1 parent ae97b44 commit 40d5f63
Showing 1 changed file with 4 additions and 17 deletions.
21 changes: 4 additions & 17 deletions asmcomp/emit_hppa.mlp
Original file line number Diff line number Diff line change
Expand Up @@ -713,25 +713,12 @@ let rec emit_instr i dslot =
| Some lbl -> ` comib,= 2, {emit_reg i.arg.(0)}, {emit_label lbl}\n nop\n`
end
| Lswitch jumptbl ->
let lbl = new_label() in
` ldil {emit_string high_prefix}{emit_label lbl}, %r1\n`;
` ldo {emit_string low_prefix}{emit_label lbl}(%r1), %r1\n`;
` ldwx,s {emit_reg i.arg.(0)}(0, %r1), %r1\n`;
` bv 0(%r1)\n`;
` blr {emit_reg i.arg.(0)}, 0\n`;
fill_delay_slot dslot;
if hpux then begin
` .space $TEXT$\n`;
` .subspa $LIT$\n`
end else
` .literal4\n`;
emit_align 4;
`{emit_label lbl}:\n`;
for i = 0 to Array.length jumptbl - 1 do
` .long {emit_label jumptbl.(i)}\n`
done;
if hpux
then ` .code\n`
else ` .text\n`
` b {emit_label jumptbl.(i)}\n`;
` nop\n`
done
| Lsetuptrap lbl ->
` bl {emit_label lbl}, %r1\n`;
fill_delay_slot dslot
Expand Down

0 comments on commit 40d5f63

Please sign in to comment.