Commit 9defdb4a authored by Bernd Paysan's avatar Bernd Paysan

Some improvements to see/disassembler

parent fd2e8b4d
Pipeline #853 passed with stage
in 9 minutes and 59 seconds
...@@ -416,7 +416,9 @@ Create fopatable ...@@ -416,7 +416,9 @@ Create fopatable
\ sse instructions \ sse instructions
: .s/p ( -- ) 's' 'p' s? select emit ; : .s/p ( -- ) 's' 'p' s? select emit ;
: .p/s ( -- ) 'p' 's' s? select emit ;
: .s/d ( -- ) 's' 'd' s? IF ss? ELSE length @ 0= THEN select emit ; : .s/d ( -- ) 's' 'd' s? IF ss? ELSE length @ 0= THEN select emit ;
: .d/s ( -- ) 'd' 's' s? IF ss? ELSE length @ 0= THEN select emit ;
: .sse-suff ( -- ) .s/p .s/d ; : .sse-suff ( -- ) .s/p .s/d ;
: .ssereg ( n -- n ) 'y' 'x' l? select emit ." mm" #.r ; : .ssereg ( n -- n ) 'y' 'x' l? select emit ." mm" #.r ;
...@@ -443,6 +445,13 @@ Create fopatable ...@@ -443,6 +445,13 @@ Create fopatable
: .cvtb ( ip -- ip' ) .sse-suff '2' emit .s/p 'i' emit tab mod@ >r? : .cvtb ( ip -- ip' ) .sse-suff '2' emit .s/p 'i' emit tab mod@ >r?
>r .sseaddr ., r> .ssereg >r .sseaddr ., r> .ssereg
vex? IF vvvv @ .ssereg ., THEN ; vex? IF vvvv @ .ssereg ., THEN ;
: .cvt2 ( ip -- ip' ) .sse-suff '2' emit .s/p .d/s tab mod@ >r?
.ssereg ., .sseaddr
vex? IF vvvv @ .ssereg ., THEN ;
: .cvt3 ( ip -- ip' ) \ incomplete, undested!
.sse-suff '2' emit .s/p tab mod@ >r?
.ssereg ., .sseaddr
vex? IF vvvv @ .ssereg ., THEN ;
: .ssec ( ip -- ip' ) : .ssec ( ip -- ip' )
.s/d tab mod@ >r? .ssereg ., .s/d tab mod@ >r? .ssereg .,
vex? IF vvvv @ .ssereg ., THEN vex? IF vvvv @ .ssereg ., THEN
...@@ -467,6 +476,7 @@ FF 52 t, .sse rsqrt" FF 53 t, .sse rcp" ...@@ -467,6 +476,7 @@ FF 52 t, .sse rsqrt" FF 53 t, .sse rcp"
FF 54 t, .sse and" FF 55 t, .sse andn" FF 54 t, .sse and" FF 55 t, .sse andn"
FF 56 t, .sse or" FF 57 t, .sse xor" FF 56 t, .sse or" FF 57 t, .sse xor"
FF 58 t, .sse add" FF 59 t, .sse mul" FF 58 t, .sse add" FF 59 t, .sse mul"
FF 5A t, .cvt2 cvt" FF 5B t, .cvt3 cvt"
FF 5C t, .sse sub" FF 5D t, .sse min" FF 5C t, .sse sub" FF 5D t, .sse min"
FF 5E t, .sse div" FF 5F t, .sse max" FF 5E t, .sse div" FF 5F t, .sse max"
F0 80 t, .jl j" F0 90 t, .set set" F0 80 t, .jl j" F0 90 t, .set set"
......
...@@ -3291,7 +3291,8 @@ vt: [G'] peephole-compile, gset-optimizer ;vt ...@@ -3291,7 +3291,8 @@ vt: [G'] peephole-compile, gset-optimizer ;vt
Builder does>-dummy Builder does>-dummy
Build: ;Build Build: ;Build
by: :dodoes ;DO by: :dodoes ;DO
vt: [G'] does, gset-optimizer ;vt vt: [G'] does, gset-optimizer
[G'] noop gset-extra ;vt
\ vtghost: dodoes-vt \ vtghost: dodoes-vt
\ Variables and Constants 05dec92py \ Variables and Constants 05dec92py
......
...@@ -832,6 +832,11 @@ c-extender ! ...@@ -832,6 +832,11 @@ c-extender !
>body dup dup next-head >body dup dup next-head
swap - discode swap - discode
." end-code" cr ; ." end-code" cr ;
: see;abicode ( xt -- )
dup s" ;ABI-Code" .defname
>body dup dup next-head
swap - discode
." end-code" cr ;
: seevar ( xt -- ) : seevar ( xt -- )
s" Variable" .defname cr ; s" Variable" .defname cr ;
: seeuser ( xt -- ) : seeuser ( xt -- )
...@@ -918,6 +923,9 @@ set-current ...@@ -918,6 +923,9 @@ set-current
[THEN] [THEN]
[IFDEF] doabicode: [IFDEF] doabicode:
doabicode: of seeabicode endof doabicode: of seeabicode endof
[THEN]
[IFDEF] do;abicode:
do;abicode: of see;abicode endof
[THEN] [THEN]
over of seecode endof \ direct threaded code words over of seecode endof \ direct threaded code words
over >body of seecode endof \ indirect threaded code words over >body of seecode endof \ indirect threaded code words
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment