Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/MLRISC/x86/emit/x86Asm.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/emit/x86Asm.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 575, Fri Mar 10 02:55:58 2000 UTC revision 576, Fri Mar 10 07:27:16 2000 UTC
# Line 250  Line 250 
250          emit_GP base;          emit_GP base;
251          emit ")";          emit ")";
252          emit_region mem )          emit_region mem )
253        | I.Indexed{base=NONE, index, scale, disp, mem, ...} =>        | I.Indexed{base, index, scale, disp, mem, ...} =>
254          ( emit_disp disp;          ( emit_disp disp;
255          emit "(";          emit "(";
256          emit_GP index;  
257          comma ();          (
258          emitScale scale;           case base of
259          emit ")";           NONE => ()
260          emit_region mem )         | SOME base => emit_GP base
261        | I.Indexed{base=SOME base, index, scale, disp, mem, ...} =>          );
         ( emit_disp disp;  
         emit "(";  
         emit_GP base;  
262          comma ();          comma ();
263          emit_GP index;          emit_GP index;
264          comma ();          comma ();
# Line 274  Line 271 
271       | emit_disp (I.ImmedLabel lexp) = emit_labexp lexp       | emit_disp (I.ImmedLabel lexp) = emit_labexp lexp
272       | emit_disp _ = error "emit_disp"       | emit_disp _ = error "emit_disp"
273    
274  (*#line 228.7 "x86/x86.md"*)  (*#line 229.7 "x86/x86.md"*)
275     fun stupidGas (I.ImmedLabel lexp) = emit_labexp lexp     fun stupidGas (I.ImmedLabel lexp) = emit_labexp lexp
276       | stupidGas (I.LabelEA _) = error "stupidGas"       | stupidGas (I.LabelEA _) = error "stupidGas"
277       | stupidGas opnd = emit_operand opnd       | stupidGas opnd = emit_operand opnd
278    
279  (*#line 233.7 "x86/x86.md"*)  (*#line 234.7 "x86/x86.md"*)
280     fun isMemOpnd (I.MemReg _) = true     fun isMemOpnd (I.MemReg _) = true
281       | isMemOpnd (I.FDirect f) = true       | isMemOpnd (I.FDirect f) = true
282       | isMemOpnd (I.LabelEA _) = true       | isMemOpnd (I.LabelEA _) = true
# Line 287  Line 284 
284       | isMemOpnd (I.Indexed _) = true       | isMemOpnd (I.Indexed _) = true
285       | isMemOpnd _ = false       | isMemOpnd _ = false
286    
287  (*#line 239.7 "x86/x86.md"*)  (*#line 240.7 "x86/x86.md"*)
288     fun chop fbinOp = let     fun chop fbinOp = let
289    
290  (*#line 240.15 "x86/x86.md"*)  (*#line 241.15 "x86/x86.md"*)
291            val n = size fbinOp            val n = size fbinOp
292         in         in
293            (            (
# Line 301  Line 298 
298         end         end
299    
300    
301  (*#line 246.7 "x86/x86.md"*)  (*#line 247.7 "x86/x86.md"*)
302     val emit_dst = emit_operand     val emit_dst = emit_operand
303    
304  (*#line 247.7 "x86/x86.md"*)  (*#line 248.7 "x86/x86.md"*)
305     val emit_src = emit_operand     val emit_src = emit_operand
306    
307  (*#line 248.7 "x86/x86.md"*)  (*#line 249.7 "x86/x86.md"*)
308     val emit_opnd = emit_operand     val emit_opnd = emit_operand
309    
310  (*#line 249.7 "x86/x86.md"*)  (*#line 250.7 "x86/x86.md"*)
311     val emit_rsrc = emit_operand     val emit_rsrc = emit_operand
312    
313  (*#line 250.7 "x86/x86.md"*)  (*#line 251.7 "x86/x86.md"*)
314     val emit_lsrc = emit_operand     val emit_lsrc = emit_operand
315    
316  (*#line 251.7 "x86/x86.md"*)  (*#line 252.7 "x86/x86.md"*)
317     val emit_addr = emit_operand     val emit_addr = emit_operand
318    
319  (*#line 252.7 "x86/x86.md"*)  (*#line 253.7 "x86/x86.md"*)
320     val emit_src1 = emit_operand     val emit_src1 = emit_operand
321     fun emitInstr instr =     fun emitInstr instr =
322         ( tab ();         ( tab ();

Legend:
Removed from v.575  
changed lines
  Added in v.576

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0