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/alpha/alpha.mdl
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/alpha/alpha.mdl

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

revision 888, Thu Jul 19 20:24:21 2001 UTC revision 889, Thu Jul 19 20:35:20 2001 UTC
# Line 419  Line 419 
419           BPT 0x80 | BUGCHK 0x81 | CALLSYS 0x83           BPT 0x80 | BUGCHK 0x81 | CALLSYS 0x83
420         | GENTRAP 0xaa | IMB 0x86 | RDUNIQUE 0x9e | WRUNIQUE 0x9f         | GENTRAP 0xaa | IMB 0x86 | RDUNIQUE 0x9e | WRUNIQUE 0x9f
421    
422        type addressing_mode = C.cell * operand        type addressing_mode = CellsBasis.cell * operand
423    
424     end (* Instruction *)     end (* Instruction *)
425    
# Line 475  Line 475 
475     struct     struct
476        (* compute displacement address *)        (* compute displacement address *)
477        fun disp lab = itow(Label.addrOf lab - !loc - 4) ~>> 0w2        fun disp lab = itow(Label.addrOf lab - !loc - 4) ~>> 0w2
478        val zeroR = Option.valOf(C.zeroReg C.GP)        val zeroR = Option.valOf(C.zeroReg CellsBasis.GP)
479     end     end
480    
481     structure Assembly =     structure Assembly =
# Line 501  Line 501 
501    
502     (* Load/Store *)     (* Load/Store *)
503     | LDA of {r: $GP, b: $GP, d:operand}        (* use of REGop is illegal *)     | LDA of {r: $GP, b: $GP, d:operand}        (* use of REGop is illegal *)
504       asm: if isZero d andalso C.sameCell(r,b) then ()       asm: if isZero d andalso CellsBasis.sameCell(r,b) then ()
505            else (``lda\t<r>, <d>'';            else (``lda\t<r>, <d>'';
506                  if C.registerId b = 31 then () else ``(<b>)''                  if CellsBasis.registerId b = 31 then () else ``(<b>)''
507                 )                 )
508       mc:  ILoadStore{opc=0w08,r,b,d}       mc:  ILoadStore{opc=0w08,r,b,d}
509       rtl: ``LDA''       rtl: ``LDA''
510    
511     | LDAH of {r: $GP, b: $GP, d:operand} (* use of REGop is illegal *)     | LDAH of {r: $GP, b: $GP, d:operand} (* use of REGop is illegal *)
512       asm: (``ldah\t<r>, <d>'';       asm: (``ldah\t<r>, <d>'';
513             if C.registerId b = 31 then () else ``(<b>)''             if CellsBasis.registerId b = 31 then () else ``(<b>)''
514            )            )
515       mc:  ILoadStore{opc=0w09,r,b,d}       mc:  ILoadStore{opc=0w09,r,b,d}
516       rtl: ``LDAH''       rtl: ``LDAH''
# Line 576  Line 576 
576     | OPERATE of {oper:operate, ra: $GP, rb:operand, rc: $GP}     | OPERATE of {oper:operate, ra: $GP, rb:operand, rc: $GP}
577               (* Pretty print ldgp differently *)               (* Pretty print ldgp differently *)
578       asm: let fun disp() = ``<oper>\t<ra>, <rb>, <rc>''       asm: let fun disp() = ``<oper>\t<ra>, <rb>, <rc>''
579            in  case (oper,C.registerId ra,rb,C.registerId rc) of            in  case (oper,CellsBasis.registerId ra,rb,CellsBasis.registerId rc) of
580                   (I.BIS,27,I.REGop rb,29) =>                   (I.BIS,27,I.REGop rb,29) =>
581                     if C.registerId rb = 31 then ``ldgp\t$29, 0($27)''                     if CellsBasis.registerId rb = 31 then ``ldgp\t$29, 0($27)''
582                     else disp()                     else disp()
583                |  (I.BIS,26,I.REGop rb,29) =>                |  (I.BIS,26,I.REGop rb,29) =>
584                     if C.registerId rb = 31 then ``ldgp\t$29, 0($26)''                     if CellsBasis.registerId rb = 31 then ``ldgp\t$29, 0($26)''
585                     else disp()                     else disp()
586                | _                        => disp()                | _                        => disp()
587            end            end

Legend:
Removed from v.888  
changed lines
  Added in v.889

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