FW: Parameter values wrong on indirect functions using gcc 2.95 on HP PA machines
Dan Coby
dan@artifex.com
Fri Jun 30 22:06:00 GMT 2000
Hello,
I have tried to send this email but your email system will not
accept anything over 200k. I have a 578k attachment. Do you
have any suggestions?
My name is Dan Coby and I work for Artifex Software. One of
Artifex's responsibilities is providing for supporting the
Ghostscript software package. Ghostscript is an Adobe Postscript
and PDF interpreter.
We have what appears to be a GCC problem. The problem only seems
to appear on HP Precision Architecture machines using GCC 2.95.
I got this email address from the web. If I am sending this
information to the wrong people, please let me know and I thank
you for your efforts.
The problem is being reported by one of our customers. As I said,
it only seems to exist on HP PA machines and GCC 2.95. I do not
have this machine. Thus I am working with indirect information
from our customer. However the evidence seems very strong for
a GCC problem.
Note: We have tested this same software on a Sun Solaris and GCC
2.95 and everything seems fine. Ghostscript has thousands of users,
it is commonly the prime printer interface on Linux machines, and
we only have this one report of this specific problem.
The basic information:
OS: HPUX 10.20 Model 712/80i With a cpu 9000
Compiler: GCC 2.95 19990728 release
In our software there seems to be a parameter passing problem between
a routine called gs_ht_process_screen_memory() in the source module
gsht.c and a routine called spot_dummy() in the source module zht1.c.
Note: *phsp->spot_function is pointing at spot_dummy().
To find the problem, I modified gs_ht_process_screen_memory from:
while ((code = gs_screen_currentpoint(penum, &pt)) == 0)
if ((code = gs_screen_next(penum, (*phsp->spot_function) (pt.x, pt.y))) <
0)
return code;
To:
while ((code = gs_screen_currentpoint(penum, &pt)) == 0)
{
floatp value;
dprintf1("In gs_ht_process_screen_memory %d\n", 1);
value = (*phsp->spot_function) (pt.x, pt.y);
if ( value < -1.0 ) {
dprintf3("gsht:gx_ht_process_screen - value less than -1 %f at %f,
%f\n", value, pt.x, pt.y);
}
if ( value > 1.0 ) {
dprintf3("gsht:gx_ht_process_screen - value greater than 1 %f at %f,
%f\n", value, pt.x, pt.y);
}
if ((code = gs_screen_next(penum, value)) < 0)
return code;
}
Spot_dummy was changed from:
private float
spot_dummy(floatp x, floatp y)
{
return (x + y) / 2;
}
To:
private float
spot_dummy(floatp x, floatp y)
{
floatp value = (x + y) / 2;
dprintf3("zht1:spot_dummy %f, %f, value = %f\n", x, y, value);
return value;
}
>From some of the various include files, etc:
floatp is defined as double (in stdpre.h)
src/stdpre.h:typedef double floatp;
The definition of spot_function is consistent with the definition of
spot_dummy.
float (*spot_function) (P2(floatp, floatp)); (from gsht.h)
private float
spot_dummy(floatp x, floatp y) (from zht1.c)
The types of pt.x and pt.y passed to
value = (*phsp->spot_function) (pt.x, pt.y);
are both double:
typedef struct gs_point_s { (from gstypes.h)
double x, y;
} gs_point;
Note: My MSVC 6.0 compiler gives no warning messages about either zht1.c or
gsht.c.
With these changes the following section from the output was obtained:
In gs_ht_process_screen_memory 1
zht1:spot_dummy -2.334333, 0.333333, value = -1.000500
gsht:gx_ht_process_screen - value less than -1 -1.000500 at
0.666333, -0.334333
This shows:
1. Entry into gs_ht_process_screen_memory (first line)
2. The values of pt.x and pt.y are 0.666333, -0.334333 (from third line)
3. spot_dummy thinks x and y are -2.334333, 0.333333 (from second line)
4. The calculated value from spot_dummy is consistent with its incorrect
parameter values. Also this value is being returned properly to
gs_ht_process_screen_memory().
We had the customer send us a copy of the assembly language produced by
the compiler. Included as gsht.s and zht1.s. Looking at it we see:
The spot_dummy procedure in zht1.o expects double-precision arguments in
%fr5 and %fr7, computes the double-precision result in %fr12, and converts
it to a single-precision return value in %fr4L. This is as expected.
The call in gx_ht_process_screen_memory expects a single-precision return
value in %fr4L, so that is OK. However, it is not obvious how it passes
the arguments. Rather than calling the procedure directly, it uses a
runtime support procedure named $$dyncall, whose operation is unknown.
It is not loading %fr5 and %fr7 as we would expect. For other calls (such
as the printf calls where we are printing the values) we do see the floating
point registers being loaded.
Everything points to a problem in the parameter passing mechanism with the
indirect call to the function spot_dummy. We tried several variants but
anything that involved the indirect call failed.
The effective command line which is generated by our makefile is:
gcc `cat cc.tr` $(CFLAGS) gsht.o -c gsht.c
Where the contents of cc.tr is
-Wcast-qual -Wwrite-strings
Where the following combinations for CFLAGS were tried
-O2
-g -O
-g -O0
The actually commnd line is a little more complicated since files are
actually
in multiple directories.
I am sending:
gsht.c - the original (unmodified) version of this source file.
cc.tr - command file used on the compiler command line.
headers.zip - All of the headers in a Ghostscript build. I do not know
which ones are required for this file and I would forget one if I tried
to pick them out.
Since I am doing things by proxy via our customer, I cannot generate the
preprocessor
output that you have requested. Sorry.
If you are interested in a full copy of Ghostscript and its source files,
they can be obtained at
http://sourceforge.net/projects/ghostscript
The current version is 6.01 (and that is the version being used by our
customer).
A description of the Ghostscript build process is described in doc/make.htm
in the download. Our customer is using src/unix-gcc.mak as his makefile.
Thank you
Dan Coby
-------------- next part --------------
-Wcast-qual -Wwrite-strings
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gsht.c
Type: text/x-c
Size: 20913 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20000630/41341623/attachment.bin>
-------------- next part --------------
.LEVEL 1.1
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.EXPORT st_ht_order,DATA
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
st_ht_order
.word 80
.word L$C0000
.word 0
.word 0
.word P%ht_order_enum_ptrs
.word P%ht_order_reloc_ptrs
.word 0
.blockz 4
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0000
.STRING "gx_ht_order\x00"
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
ht_order_component_reloc_ptrs
.half 0
.half 0
.word st_ht_order
.word 0
.align 4
st_ht_order_component
.word 84
.word L$C0001
.word 0
.word 0
.IMPORT basic_enum_ptrs,CODE
.word P%basic_enum_ptrs
.IMPORT basic_reloc_ptrs,CODE
.word P%basic_reloc_ptrs
.word 0
.word ht_order_component_reloc_ptrs
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0001
.STRING "gx_ht_order_component\x00"
.align 8
L$C0002
.word 0
.word 818089009
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
ht_order_element_enum_ptrs
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
ldo 64(%r30),%r30
extru %r25,29,30,%r25
stw %r25,-16(%r30)
fldws -16(%r30),%fr22L
ldil LR'L$C0002,%r19
ldo RR'L$C0002(%r19),%r19
fldds 0(%r19),%fr23
xmpyu %fr22L,%fr23R,%fr22
fstws %fr22L,-16(%r30)
ldw -16(%r30),%r20
extru %r20,29,30,%r19
comib,= 0,%r19,L$0003
copy %r26,%r22
ldil LR'st_ht_order_component,%r21
ldo RR'st_ht_order_component(%r21),%r21
copy %r24,%r26
.IMPORT $$remU,MILLICODE
bl $$remU,%r31
copy %r19,%r25
sh2addl %r29,%r29,%r20
sh2addl %r20,%r29,%r20
copy %r24,%r26
.IMPORT $$divU,MILLICODE
bl $$divU,%r31
copy %r19,%r25
stw %r21,-52(%r30)
ldw -120(%r30),%r19
stw %r19,-56(%r30)
sh2addl %r20,%r22,%r26
ldi 84,%r25
copy %r29,%r24
ldw 16(%r21),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0005
ldw -84(%r30),%r2
L$0003
ldi 0,%r28
ldw -84(%r30),%r2
L$0005
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 8
L$C0003
.word 0
.word 818089009
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
ht_order_element_reloc_ptrs
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=6
.ENTRY
stw %r2,-20(%r30)
stwm %r6,64(%r30)
stw %r5,-60(%r30)
stw %r4,-56(%r30)
stw %r3,-52(%r30)
copy %r26,%r4
extru %r25,29,30,%r25
stw %r25,-16(%r30)
fldws -16(%r30),%fr22L
ldil LR'L$C0003,%r19
ldo RR'L$C0003(%r19),%r19
fldds 0(%r19),%fr23
xmpyu %fr22L,%fr23R,%fr22
fstws %fr22L,-16(%r30)
ldw -16(%r30),%r19
extru %r19,29,30,%r3
comib,= 0,%r3,L$0008
copy %r23,%r6
ldil LR'st_ht_order_component,%r19
ldo RR'st_ht_order_component(%r19),%r5
L$0010
copy %r4,%r26
ldi 84,%r25
copy %r5,%r24
copy %r6,%r23
ldw 20(%r5),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldo -1(%r3),%r3
comib,<> 0,%r3,L$0010
ldo 84(%r4),%r4
L$0008
ldw -84(%r30),%r2
ldw -60(%r30),%r5
ldw -56(%r30),%r4
ldw -52(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r6
.EXIT
.PROCEND
.EXPORT st_ht_order_component_element,DATA
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
st_ht_order_component_element
.word 84
.word L$C0004
.word 0
.word 0
.word P%ht_order_element_enum_ptrs
.word P%ht_order_element_reloc_ptrs
.word 0
.blockz 4
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0004
.STRING "gx_ht_order_component[]\x00"
.EXPORT st_halftone,DATA
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
st_halftone
.word 96
.word L$C0005
.word 0
.word 0
.word P%halftone_enum_ptrs
.word P%halftone_reloc_ptrs
.word 0
.blockz 4
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0005
.STRING "gs_halftone\x00"
.align 2
device_halftone_enum_ptrs
.half 0
.half 100
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
device_halftone_reloc_ptrs
.half 1
.half 0
.word st_ht_order
.word device_halftone_enum_ptrs
.EXPORT st_device_halftone,DATA
.align 4
st_device_halftone
.word 132
.word L$C0006
.word 0
.word 0
.word P%basic_enum_ptrs
.word P%basic_reloc_ptrs
.word 0
.word device_halftone_reloc_ptrs
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0006
.STRING "gx_device_halftone\x00"
.IMPORT ptr_struct_procs,DATA
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
ht_order_enum_ptrs
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
comib,<<,n 3,%r24,L$0014
blr %r24,%r0
nop
L$0023
L$0026
b L$0015
ldw 60(%r26),%r19
L$0027
b L$0018
ldw 60(%r26),%r19
L$0028
b L$0021
ldw 72(%r26),%r19
L$0029
b L$0022
ldw 76(%r26),%r19
L$0014
bv %r0(%r2)
ldi 0,%r28
L$0015
comib,= 0,%r19,L$0016
ldi 0,%r20
ldw 64(%r26),%r20
L$0016
stw %r20,0(%r23)
L$0025
ldil LR'ptr_struct_procs,%r28
bv %r0(%r2)
ldo RR'ptr_struct_procs(%r28),%r28
L$0018
comib,= 0,%r19,L$0016
ldi 0,%r20
b L$0016
ldw 68(%r26),%r20
L$0021
b L$0025
stw %r19,0(%r23)
L$0022
stw %r19,0(%r23)
ldil LR'ptr_struct_procs,%r28
bv %r0(%r2)
ldo RR'ptr_struct_procs(%r28),%r28
.EXIT
.PROCEND
.align 4
ht_order_reloc_ptrs
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
stw %r3,-60(%r30)
copy %r26,%r3
ldw 60(%r3),%r19
comib,= 0,%r19,L$0031
copy %r23,%r4
ldw 0(%r4),%r19
ldw 64(%r3),%r26
copy %r4,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,64(%r3)
ldw 0(%r4),%r19
ldw 68(%r3),%r26
copy %r4,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,68(%r3)
L$0031
ldw 0(%r4),%r19
ldw 72(%r3),%r26
copy %r4,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,72(%r3)
ldw 0(%r4),%r19
ldw 76(%r3),%r26
copy %r4,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,76(%r3)
ldw -84(%r30),%r2
ldw -60(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.IMPORT ptr_const_string_procs,DATA
.IMPORT enum_const_bytestring,CODE
.align 4
halftone_enum_ptrs
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
ldo 64(%r30),%r30
movb,= %r24,%r24,L$0035
copy %r26,%r25
comib,= 1,%r24,L$0050
ldi 0,%r28
b L$0073
ldw -84(%r30),%r2
L$0035
ldw 0(%r25),%r19
comib,<<,n 8,%r19,L$0074
blr %r19,%r0
nop
L$0048
L$0064
b L$0061
ldi 0,%r28
L$0065
b L$0061
ldi 0,%r28
L$0066
b L$0061
ldi 0,%r28
L$0067
b L$0037
ldw 40(%r25),%r19
L$0068
b L$0040
ldw 32(%r26),%r19
L$0069
b L$0041
copy %r23,%r26
L$0070
b L$0063
ldw 16(%r25),%r19
L$0071
b L$0044
ldw 16(%r25),%r19
L$0072
b L$0042
ldw 32(%r25),%r19
L$0037
comib,<> 0,%r19,L$0038
ldi 0,%r20
ldw 48(%r25),%r20
L$0038
b L$0062
stw %r20,0(%r23)
L$0040
stw %r19,0(%r23)
ldw 36(%r26),%r19
stw %r19,4(%r23)
ldil LR'ptr_const_string_procs,%r28
b L$0061
ldo RR'ptr_const_string_procs(%r28),%r28
L$0041
.CALL ARGW0=GR,ARGW1=GR
bl enum_const_bytestring,%r2
ldo 44(%r25),%r25
b L$0073
ldw -84(%r30),%r2
L$0042
b L$0062
stw %r19,0(%r23)
L$0044
b L$0062
stw %r19,0(%r23)
L$0050
ldw 0(%r25),%r19
L$0074
comib,=,n 5,%r19,L$0055
comib,<<,n 5,%r19,L$0059
comib,= 4,%r19,L$0052
ldi 0,%r28
b L$0073
ldw -84(%r30),%r2
L$0059
comib,=,n 8,%r19,L$0056
ldi 0,%r28
b L$0073
ldw -84(%r30),%r2
L$0052
ldw 40(%r25),%r19
comib,<> 0,%r19,L$0053
ldi 0,%r20
ldw 28(%r25),%r20
L$0053
b L$0062
stw %r20,0(%r23)
L$0055
b L$0063
ldw 28(%r25),%r19
L$0056
ldw 40(%r25),%r19
L$0063
stw %r19,0(%r23)
L$0062
ldil LR'ptr_struct_procs,%r28
ldo RR'ptr_struct_procs(%r28),%r28
L$0061
ldw -84(%r30),%r2
L$0073
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
.IMPORT reloc_const_bytestring,CODE
.align 4
halftone_reloc_ptrs
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=5
.ENTRY
stw %r2,-20(%r30)
stwm %r5,64(%r30)
stw %r4,-60(%r30)
stw %r3,-56(%r30)
copy %r26,%r5
copy %r23,%r3
ldw 0(%r5),%r19
comib,<< 8,%r19,L$0076
copy %r5,%r4
blr %r19,%r0
nop
L$0088
L$0090
b L$0099
ldw -84(%r30),%r2
L$0091
b L$0099
ldw -84(%r30),%r2
L$0092
b L$0099
ldw -84(%r30),%r2
L$0093
b L$0077
ldw 40(%r4),%r19
L$0094
b L$0079
ldw 0(%r3),%r19
L$0095
b L$0081
ldo 44(%r4),%r26
L$0096
b L$0100
ldw 0(%r3),%r19
L$0097
b L$0084
ldw 0(%r3),%r19
L$0098
b L$0082
ldw 0(%r3),%r19
L$0077
comib,<> 0,%r19,L$0099
ldw -84(%r30),%r2
ldw 0(%r3),%r19
ldw 48(%r5),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0076
stw %r28,48(%r5)
L$0079
ldo 32(%r5),%r26
copy %r3,%r25
ldw 8(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldw 40(%r4),%r19
comib,<> 0,%r19,L$0099
ldw -84(%r30),%r2
ldw 0(%r3),%r19
ldw 28(%r5),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0076
stw %r28,28(%r5)
L$0081
.CALL ARGW0=GR,ARGW1=GR
bl reloc_const_bytestring,%r2
copy %r3,%r25
ldw 0(%r3),%r19
ldw 28(%r4),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0076
stw %r28,28(%r4)
L$0082
ldw 32(%r5),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,32(%r5)
ldw 0(%r3),%r19
ldw 40(%r5),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0076
stw %r28,40(%r5)
L$0084
L$0100
ldw 16(%r5),%r26
copy %r3,%r25
ldw 0(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,16(%r5)
L$0076
ldw -84(%r30),%r2
L$0099
ldw -60(%r30),%r4
ldw -56(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r5
.EXIT
.PROCEND
.IMPORT gx_ht_process_screen_memory,CODE
.IMPORT gs_currentaccuratescreens,CODE
.IMPORT gs_screen_install,CODE
.align 4
.EXPORT gs_setscreen,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR
gs_setscreen
.PROC
.CALLINFO FRAME=384,CALLS,SAVE_RP,ENTRY_GR=4
.ENTRY
stw %r2,-20(%r30)
ldo 384(%r30),%r30
stw %r5,-120(%r30)
stw %r4,-116(%r30)
copy %r26,%r4
.CALL
bl gs_currentaccuratescreens,%r2
copy %r25,%r5
ldw 0(%r4),%r19
stw %r19,-52(%r30)
ldo -376(%r30),%r26
copy %r4,%r25
copy %r5,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_ht_process_screen_memory,%r2
copy %r28,%r23
movb,< %r28,%r28,L$0104
ldw -404(%r30),%r2
.CALL ARGW0=GR
bl gs_screen_install,%r2
ldo -376(%r30),%r26
ldw -404(%r30),%r2
L$0104
ldw -120(%r30),%r5
ldw -116(%r30),%r4
bv %r0(%r2)
ldo -384(%r30),%r30
.EXIT
.PROCEND
.IMPORT gs_log_error,CODE
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0007
.STRING "./src/gsht.c\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gs_currentscreen,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR
gs_currentscreen
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
ldo 64(%r30),%r30
ldw 176(%r26),%r19
ldw 0(%r19),%r19
comib,= 1,%r19,L$0107
copy %r25,%r20
comib,=,n 2,%r19,L$0108
ldi -21,%r26
b L$0109
ldil LR'L$C0007,%r25
L$0107
ldw 176(%r26),%r19
b L$0112
ldo 16(%r19),%r19
L$0108
ldw 176(%r26),%r19
ldo 76(%r19),%r19
L$0112
ldi 12,%r23
ldws,ma 4(%r19),%r22
ldws,ma 4(%r19),%r21
stws,ma %r22,4(%r20)
addib,>= -8,%r23,.-12
stws,ma %r21,4(%r20)
ldws,ma 4(%r19),%r22
stws,ma %r22,4(%r20)
b L$0111
ldi 0,%r28
L$0109
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 146,%r24
L$0111
ldw -84(%r30),%r2
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
.align 4
.EXPORT gs_currentscreenlevels,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
gs_currentscreenlevels
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
ldw 196(%r26),%r19
bv %r0(%r2)
ldw 48(%r19),%r28
.EXIT
.PROCEND
.align 4
.EXPORT gx_imager_setscreenphase,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_imager_setscreenphase
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=6
.ENTRY
stw %r2,-20(%r30)
stwm %r6,64(%r30)
stw %r5,-60(%r30)
stw %r4,-56(%r30)
stw %r3,-52(%r30)
copy %r26,%r4
copy %r25,%r5
comib,<> -1,%r23,L$0115
copy %r24,%r6
ldi 0,%r3
copy %r4,%r26
L$0124
copy %r5,%r25
copy %r6,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_imager_setscreenphase,%r2
copy %r3,%r23
ldo 1(%r3),%r3
comib,>= 1,%r3,L$0124
copy %r4,%r26
b L$0123
ldi 0,%r28
L$0115
comib,<< 1,%r23,L$0121
ldo 180(%r4),%r19
zdep %r23,28,29,%r20
sh3addl %r23,%r19,%r19
stw %r5,0(%r19)
addl %r4,%r20,%r20
stw %r6,184(%r20)
b L$0123
ldi 0,%r28
L$0121
ldi -15,%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 169,%r24
L$0123
ldw -84(%r30),%r2
ldw -60(%r30),%r5
ldw -56(%r30),%r4
ldw -52(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r6
.EXIT
.PROCEND
.IMPORT gx_dc_type_data_none,DATA
.align 4
.EXPORT gs_setscreenphase,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gs_setscreenphase
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
stw %r3,-60(%r30)
copy %r26,%r4
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_imager_setscreenphase,%r2
copy %r23,%r3
movb,< %r28,%r28,L$0126
ldo 1(%r3),%r19
comib,<<,n 1,%r19,L$0126
ldw 384(%r4),%r20
ldil LR'gx_dc_type_data_none,%r19
ldo RR'gx_dc_type_data_none(%r19),%r19
stw %r19,0(%r20)
L$0126
ldw -84(%r30),%r2
ldw -60(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.align 4
.EXPORT gs_currentscreenphase,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
gs_currentscreenphase
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
comib,<< 1,%r24,L$0128
ldo 64(%r30),%r30
sh3addl %r24,%r26,%r19
ldw 180(%r19),%r20
stw %r20,0(%r25)
ldw 184(%r19),%r19
stw %r19,4(%r25)
b L$0129
ldi 0,%r28
L$0128
ldi -15,%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 198,%r24
L$0129
ldw -84(%r30),%r2
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
.IMPORT memcpy,CODE
.align 4
.EXPORT gs_currenthalftone,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR
gs_currenthalftone
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
ldo 64(%r30),%r30
ldw 176(%r26),%r19
copy %r25,%r26
copy %r19,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 96,%r24
ldi 0,%r28
ldw -84(%r30),%r2
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
.IMPORT gs_screen_init_memory,CODE
.IMPORT gs_screen_currentpoint,CODE
.IMPORT fprintf,CODE
.IMPORT gs_debug_out,DATA
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0008
.STRING "In gs_ht_process_screen_memory %d\x0a\x00"
.align 4
L$C0010
.STRING "gsht:gx_ht_process_screen - value less than -1 %f at %f, %f\x0a\x00"
.align 4
L$C0012
.STRING "gsht:gx_ht_process_screen - value greater than 1 %f at %f, %f\x0a\x00"
.IMPORT gs_screen_next,CODE
.align 8
L$C0009
.word 0xbff00000
.word 0x0
.align 8
L$C0011
.word 0x3ff00000
.word 0x0
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_process_screen_memory,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_ht_process_screen_memory
.PROC
.CALLINFO FRAME=192,CALLS,SAVE_RP,ENTRY_GR=8,ENTRY_FR=14
.ENTRY
stw %r2,-20(%r30)
ldo 192(%r30),%r30
stw %r8,-120(%r30)
stw %r7,-116(%r30)
stw %r6,-112(%r30)
stw %r5,-108(%r30)
stw %r4,-104(%r30)
stw %r3,-100(%r30)
ldo -96(%r30),%r1
fstds,ma %fr14,8(%r1)
fstds,ma %fr13,8(%r1)
fstds,ma %fr12,8(%r1)
copy %r26,%r5
copy %r24,%r6
ldw -244(%r30),%r19
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gs_screen_init_memory,%r2
stw %r19,-52(%r30)
movb,< %r28,%r28,L$0140
ldil LR'L$C0008,%r8
ldil LR'L$C0009,%r19
ldo RR'L$C0009(%r19),%r19
fldds 0(%r19),%fr14
ldil LR'L$C0010,%r7
ldil LR'L$C0011,%r19
ldo RR'L$C0011(%r19),%r19
b L$0133
fldds 0(%r19),%fr13
L$0135
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r4
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0008(%r8),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldi 1,%r24
ldo -176(%r30),%r3
fldds 0(%r3),%fr22
ldo -192(%r30),%r19
ldw 8(%r19),%r25
ldw 12(%r19),%r26
fstds %fr22,-16(%r30)
ldw -16(%r30),%r20
ldw -12(%r30),%r21
copy %r20,%r23
copy %r21,%r24
ldw 8(%r6),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
fcpy,sgl %fr4L,%fr12L
fcnvff,sgl,dbl %fr12L,%fr7
fcmp,dbl,< %fr7,%fr14
ftest
b L$0142
fcmp,dbl,> %fr7,%fr13
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo -64(%r30),%r19
ldo -192(%r30),%r21
fldds 8(%r21),%fr22
fstds %fr22,8(%r19)
fldds 0(%r3),%fr22
fstds %fr22,0(%r19)
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl fprintf,%r2
ldo RR'L$C0010(%r7),%r25
fcnvff,sgl,dbl %fr12L,%fr7
fcmp,dbl,> %fr7,%fr13
L$0142
ftest
b L$0143
copy %r5,%r26
addil LR'gs_debug_out-$global$,%r27
ldw RR'gs_debug_out-$global$(%r1),%r26
ldil LR'L$C0012,%r25
ldo -64(%r30),%r20
ldo -192(%r30),%r1
fldds 8(%r1),%fr22
fstds %fr22,8(%r20)
ldo -176(%r30),%r19
fldds 0(%r19),%fr22
fstds %fr22,0(%r20)
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl fprintf,%r2
ldo RR'L$C0012(%r25),%r25
copy %r5,%r26
L$0143
.CALL ARGW0=GR,ARGW2=FR,ARGW3=FU
bl gs_screen_next,%r2
fcnvff,sgl,dbl %fr12L,%fr7
movb,< %r28,%r28,L$0144
ldw -212(%r30),%r2
L$0133
copy %r5,%r26
.CALL ARGW0=GR,ARGW1=GR
bl gs_screen_currentpoint,%r2
ldo -184(%r30),%r25
comib,= 0,%r28,L$0135
ldi 0,%r28
L$0140
ldw -212(%r30),%r2
L$0144
ldw -120(%r30),%r8
ldw -116(%r30),%r7
ldw -112(%r30),%r6
ldw -108(%r30),%r5
ldw -104(%r30),%r4
ldw -100(%r30),%r3
ldo -96(%r30),%r1
fldds,ma 8(%r1),%fr14
fldds,ma 8(%r1),%fr13
fldds,ma 8(%r1),%fr12
bv %r0(%r2)
ldo -192(%r30),%r30
.EXIT
.PROCEND
.IMPORT igcd,CODE
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0013
.STRING "alloc_ht_order_data(levels)\x00"
.align 4
L$C0014
.STRING "alloc_ht_order_data(bit_data)\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_alloc_ht_order,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_ht_alloc_ht_order
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=5
.ENTRY
stw %r2,-20(%r30)
stwm %r5,64(%r30)
stw %r4,-60(%r30)
stw %r3,-56(%r30)
copy %r26,%r3
copy %r23,%r5
ldw -120(%r30),%r19
ldw -128(%r30),%r4
sth %r25,32(%r3)
sth %r24,34(%r3)
ldo 31(%r25),%r25
extru %r25,26,27,%r25
zdep %r25,29,30,%r25
sth %r25,36(%r3)
sth %r19,38(%r3)
sth %r24,40(%r3)
sth %r19,42(%r3)
extru %r19,31,16,%r19
comib,<> 0,%r19,L$0146
copy %r24,%r20
b L$0147
extru %r20,31,16,%r24
L$0146
ldh 32(%r3),%r26
.CALL ARGW0=GR,ARGW1=GR
bl igcd,%r2
ldh 38(%r3),%r25
ldh 32(%r3),%r26
.IMPORT $$divI,MILLICODE
bl $$divI,%r31
copy %r28,%r25
ldh 34(%r3),%r19
stw %r19,-16(%r30)
fldws -16(%r30),%fr22L
stw %r29,-16(%r30)
fldws -16(%r30),%fr23L
xmpyu %fr23L,%fr22L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r19
copy %r19,%r24
L$0147
stw %r24,44(%r3)
stw %r5,48(%r3)
ldw -116(%r30),%r19
stw %r19,52(%r3)
ldw -124(%r30),%r19
stw %r19,56(%r3)
stw %r4,60(%r3)
copy %r4,%r26
copy %r5,%r25
ldi 4,%r24
ldil LR'L$C0013,%r23
ldo RR'L$C0013(%r23),%r23
ldw 44(%r4),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,64(%r3)
ldw 56(%r3),%r19
copy %r4,%r26
ldw 52(%r3),%r25
ldw 0(%r19),%r24
ldil LR'L$C0014,%r23
ldo RR'L$C0014(%r23),%r23
ldw 44(%r4),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r28,68(%r3)
ldw 64(%r3),%r19
comib,= 0,%r19,L$0152
copy %r4,%r26
comib,<> 0,%r28,L$0148
ldi 0,%r28
copy %r4,%r26
L$0152
ldw 68(%r3),%r25
ldil LR'L$C0014,%r24
ldo RR'L$C0014(%r24),%r24
ldw 12(%r4),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r0,68(%r3)
copy %r4,%r26
ldw 64(%r3),%r25
ldil LR'L$C0013,%r24
ldo RR'L$C0013(%r24),%r24
ldw 12(%r4),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r0,64(%r3)
ldi -25,%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 275,%r24
b L$0151
ldw -84(%r30),%r2
L$0148
stw %r0,72(%r3)
stw %r0,76(%r3)
ldw -84(%r30),%r2
L$0151
ldw -60(%r30),%r4
ldw -56(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r5
.EXIT
.PROCEND
.IMPORT gx_compute_cell_values,CODE
.IMPORT ht_order_procs_table,DATA
.align 4
.EXPORT gx_ht_alloc_order,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_ht_alloc_order
.PROC
.CALLINFO FRAME=256,CALLS,SAVE_RP,ENTRY_GR=10
.ENTRY
stw %r2,-20(%r30)
ldo 256(%r30),%r30
stw %r10,-120(%r30)
stw %r9,-116(%r30)
stw %r8,-112(%r30)
stw %r7,-108(%r30)
stw %r6,-104(%r30)
stw %r5,-100(%r30)
stw %r4,-96(%r30)
stw %r3,-92(%r30)
copy %r26,%r10
copy %r25,%r5
copy %r24,%r6
copy %r23,%r4
ldw -308(%r30),%r8
ldw -312(%r30),%r7
ldo -248(%r30),%r3
ldi 80,%r9
copy %r3,%r26
copy %r10,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r9,%r24
.CALL ARGW0=GR
bl gx_compute_cell_values,%r2
copy %r3,%r26
stw %r5,-16(%r30)
fldws -16(%r30),%fr23L
stw %r6,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r19
stw %r19,-52(%r30)
stw %r4,-56(%r30)
ldil LR'ht_order_procs_table,%r19
ldo RR'ht_order_procs_table(%r19),%r19
stw %r19,-60(%r30)
stw %r7,-64(%r30)
copy %r3,%r26
copy %r5,%r25
copy %r6,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_ht_alloc_ht_order,%r2
copy %r8,%r23
movb,< %r28,%r28,L$0155
copy %r10,%r26
copy %r3,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r9,%r24
ldi 0,%r28
L$0155
ldw -276(%r30),%r2
ldw -120(%r30),%r10
ldw -116(%r30),%r9
ldw -112(%r30),%r8
ldw -108(%r30),%r7
ldw -104(%r30),%r6
ldw -100(%r30),%r5
ldw -96(%r30),%r4
ldw -92(%r30),%r3
bv %r0(%r2)
ldo -256(%r30),%r30
.EXIT
.PROCEND
.align 4
.EXPORT gx_ht_alloc_threshold_order,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_ht_alloc_threshold_order
.PROC
.CALLINFO FRAME=256,CALLS,SAVE_RP,ENTRY_GR=12
.ENTRY
stw %r2,-20(%r30)
ldo 256(%r30),%r30
stw %r12,-120(%r30)
stw %r11,-116(%r30)
stw %r10,-112(%r30)
stw %r9,-108(%r30)
stw %r8,-104(%r30)
stw %r7,-100(%r30)
stw %r6,-96(%r30)
stw %r5,-92(%r30)
stw %r4,-88(%r30)
stw %r3,-84(%r30)
copy %r26,%r12
copy %r25,%r5
copy %r24,%r8
copy %r23,%r10
ldw -308(%r30),%r9
stw %r5,-16(%r30)
fldws -16(%r30),%fr22R
stw %r8,-16(%r30)
fldws -16(%r30),%fr22L
xmpyu %fr22R,%fr22L,%fr22
fstds %fr22,-16(%r30)
ldw -16(%r30),%r6
ldw -12(%r30),%r7
ldil LR'ht_order_procs_table,%r4
ldo RR'ht_order_procs_table(%r4),%r4
ldo -2001(%r7),%r21
ldil L'63534,%r19
ldo R'63534(%r19),%r19
ldo 12(%r4),%r20
comclr,<< %r19,%r21,%r0
copy %r20,%r4
ldo -248(%r30),%r3
ldi 80,%r11
copy %r3,%r26
copy %r12,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r11,%r24
.CALL ARGW0=GR
bl gx_compute_cell_values,%r2
copy %r3,%r26
stw %r7,-52(%r30)
stw %r0,-56(%r30)
stw %r4,-60(%r30)
stw %r9,-64(%r30)
copy %r3,%r26
copy %r5,%r25
copy %r8,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_ht_alloc_ht_order,%r2
copy %r10,%r23
movb,< %r28,%r28,L$0159
copy %r12,%r26
copy %r3,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r11,%r24
ldi 0,%r28
L$0159
ldw -276(%r30),%r2
ldw -120(%r30),%r12
ldw -116(%r30),%r11
ldw -112(%r30),%r10
ldw -108(%r30),%r9
ldw -104(%r30),%r8
ldw -100(%r30),%r7
ldw -96(%r30),%r6
ldw -92(%r30),%r5
ldw -88(%r30),%r4
ldw -84(%r30),%r3
bv %r0(%r2)
ldo -256(%r30),%r30
.EXIT
.PROCEND
.align 4
.EXPORT gx_ht_alloc_client_order,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_ht_alloc_client_order
.PROC
.CALLINFO FRAME=256,CALLS,SAVE_RP,ENTRY_GR=10
.ENTRY
stw %r2,-20(%r30)
ldo 256(%r30),%r30
stw %r10,-120(%r30)
stw %r9,-116(%r30)
stw %r8,-112(%r30)
stw %r7,-108(%r30)
stw %r6,-104(%r30)
stw %r5,-100(%r30)
stw %r4,-96(%r30)
stw %r3,-92(%r30)
copy %r26,%r10
copy %r25,%r5
copy %r24,%r6
copy %r23,%r8
ldw -308(%r30),%r4
ldw -312(%r30),%r7
ldo -248(%r30),%r3
ldi 80,%r9
copy %r3,%r26
copy %r10,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r9,%r24
sth %r5,-248(%r30)
sth %r0,-246(%r30)
ldi 1,%r19
sth %r19,-244(%r30)
sth %r6,-242(%r30)
sth %r0,-240(%r30)
sth %r19,-238(%r30)
.CALL ARGW0=GR
bl gx_compute_cell_values,%r2
copy %r3,%r26
stw %r4,-52(%r30)
stw %r0,-56(%r30)
ldil LR'ht_order_procs_table,%r19
ldo RR'ht_order_procs_table(%r19),%r19
stw %r19,-60(%r30)
stw %r7,-64(%r30)
copy %r3,%r26
copy %r5,%r25
copy %r6,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_ht_alloc_ht_order,%r2
copy %r8,%r23
movb,< %r28,%r28,L$0162
copy %r10,%r26
copy %r3,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
copy %r9,%r24
ldi 0,%r28
L$0162
ldw -276(%r30),%r2
ldw -120(%r30),%r10
ldw -116(%r30),%r9
ldw -112(%r30),%r8
ldw -108(%r30),%r7
ldw -104(%r30),%r6
ldw -100(%r30),%r5
ldw -96(%r30),%r4
ldw -92(%r30),%r3
bv %r0(%r2)
ldo -256(%r30),%r30
.EXIT
.PROCEND
.align 4
compare_samples
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
ldw 4(%r26),%r20
ldw 4(%r25),%r19
comclr,>>= %r19,%r20,%r28
ldi 1,%r28
comclr,<<= %r19,%r20,%r0
ldi -1,%r28
bv,n %r0(%r2)
.EXIT
.PROCEND
.IMPORT qsort,CODE
.IMPORT gs_debug_c,CODE
.IMPORT dprintf_file_and_line,CODE
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0016
.STRING "%s\x00"
.align 4
L$C0017
.STRING "[H]Sorted samples:\x0a\x00"
.align 4
L$C0018
.STRING "%5u: %5u: %u\x0a\x00"
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
L$C0015
.word P%compare_samples
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_sort_ht_order,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
gx_sort_ht_order
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=8
.ENTRY
stw %r2,-20(%r30)
stwm %r8,128(%r30)
stw %r7,-124(%r30)
stw %r6,-120(%r30)
stw %r5,-116(%r30)
stw %r4,-112(%r30)
stw %r3,-108(%r30)
copy %r26,%r6
movb,= %r25,%r4,L$0168
ldi 0,%r20
sh3addl %r20,%r6,%r19
L$0178
stw %r20,0(%r19)
ldo 1(%r20),%r20
comb,>> %r4,%r20,L$0178
sh3addl %r20,%r6,%r19
L$0168
copy %r6,%r26
copy %r4,%r25
ldi 8,%r24
ldil LR'L$C0015,%r19
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl qsort,%r2
ldw RR'L$C0015(%r19),%r23
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 72,%r26
comib,= 0,%r28,L$0172
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 372,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0016,%r25
ldo RR'L$C0016(%r25),%r25
ldil LR'L$C0017,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0017(%r24),%r24
comb,<<= %r4,%r0,L$0172
ldi 0,%r3
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r5
ldil LR'L$C0007,%r8
ldil LR'L$C0018,%r7
ldw RR'gs_debug_out-$global$(%r5),%r26
L$0179
ldo RR'L$C0007(%r8),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 375,%r24
ldw RR'gs_debug_out-$global$(%r5),%r26
sh3addl %r3,%r6,%r19
ldw 0(%r19),%r23
ldw 4(%r19),%r19
stw %r19,-52(%r30)
ldo RR'L$C0018(%r7),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
copy %r3,%r24
ldo 1(%r3),%r3
comb,>> %r4,%r3,L$0179
ldw RR'gs_debug_out-$global$(%r5),%r26
L$0172
ldw -148(%r30),%r2
ldw -124(%r30),%r7
ldw -120(%r30),%r6
ldw -116(%r30),%r5
ldw -112(%r30),%r4
ldw -108(%r30),%r3
bv %r0(%r2)
ldwm -128(%r30),%r8
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0024
.STRING "[h]spot order: num_levels=%u w=%u h=%u strip=%u shift=%u\x0a\x00"
.IMPORT gx_ht_construct_bits,CODE
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_construct_spot_order,ENTRY,PRIV_LEV=3,ARGW0=GR
gx_ht_construct_spot_order
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=14
.ENTRY
stw %r2,-20(%r30)
stwm %r14,128(%r30)
stw %r13,-124(%r30)
stw %r12,-120(%r30)
stw %r11,-116(%r30)
stw %r10,-112(%r30)
stw %r9,-108(%r30)
stw %r8,-104(%r30)
stw %r7,-100(%r30)
stw %r6,-96(%r30)
stw %r5,-92(%r30)
stw %r4,-88(%r30)
stw %r3,-84(%r30)
copy %r26,%r8
ldh 32(%r8),%r5
ldw 48(%r8),%r6
copy %r6,%r26
bl $$divU,%r31
copy %r5,%r25
copy %r29,%r9
ldw 68(%r8),%r11
ldw 64(%r8),%r13
ldh 42(%r8),%r10
ldw 44(%r8),%r14
ldw 52(%r8),%r12
stw %r5,-16(%r30)
fldws -16(%r30),%fr23L
stw %r9,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
copy %r12,%r26
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r1
bl $$divU,%r31
copy %r1,%r25
copy %r29,%r7
sh3addl %r12,%r11,%r4
ldo -8(%r4),%r4
copy %r11,%r26
.CALL ARGW0=GR,ARGW1=GR
bl gx_sort_ht_order,%r2
copy %r6,%r25
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 104,%r26
comib,= 0,%r28,L$0182
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 404,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0024,%r25
ldh 40(%r8),%r19
stw %r19,-52(%r30)
stw %r9,-56(%r30)
stw %r10,-60(%r30)
ldo RR'L$C0024(%r25),%r25
copy %r6,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
copy %r5,%r23
L$0182
movb,= %r6,%r21,L$0187
ldo -1(%r21),%r21
L$0198
sh3addl %r21,%r11,%r19
ldw 0(%r19),%r19
copy %r19,%r26
bl $$remU,%r31
copy %r5,%r25
sub %r19,%r29,%r20
sh2addl %r21,%r13,%r19
stw %r21,-16(%r30)
fldws -16(%r30),%fr23L
stw %r7,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,0(%r19)
comb,<<= %r7,%r0,L$0186
ldi 0,%r22
addl %r20,%r29,%r19
L$0197
stw %r19,0(%r4)
ldo 1(%r22),%r22
ldo -8(%r4),%r4
addl %r20,%r6,%r20
addl %r29,%r5,%r26
sub %r26,%r10,%r26
bl $$remU,%r31
copy %r5,%r25
comb,>> %r7,%r22,L$0197
addl %r20,%r29,%r19
L$0186
comib,<> 0,%r21,L$0198
ldo -1(%r21),%r21
L$0187
stw %r5,-16(%r30)
fldws -16(%r30),%fr23L
stw %r14,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r1
comb,<>,n %r1,%r12,L$0196
sth %r14,34(%r8)
sth %r0,38(%r8)
L$0196
.CALL ARGW0=GR
bl gx_ht_construct_bits,%r2
copy %r8,%r26
ldw -148(%r30),%r2
ldw -124(%r30),%r13
ldw -120(%r30),%r12
ldw -116(%r30),%r11
ldw -112(%r30),%r10
ldw -108(%r30),%r9
ldw -104(%r30),%r8
ldw -100(%r30),%r7
ldw -96(%r30),%r6
ldw -92(%r30),%r5
ldw -88(%r30),%r4
ldw -84(%r30),%r3
bv %r0(%r2)
ldwm -128(%r30),%r14
.EXIT
.PROCEND
.align 4
.EXPORT gx_ht_construct_bit,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR
gx_ht_construct_bit
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
copy %r26,%r22
copy %r25,%r21
ldo 31(%r21),%r19
depi 0,31,5,%r19
sub %r19,%r21,%r19
copy %r24,%r20
bl $$divI,%r31
copy %r20,%r26
stw %r29,-16(%r30)
fldws -16(%r30),%fr23L
stw %r19,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r19
addl %r19,%r20,%r20
extrs %r20,28,29,%r19
depi 0,31,2,%r19
stw %r19,0(%r22)
extru %r20,31,5,%r19
mtsar %r19
subi 32,%r21,%r20
sub %r20,%r21,%r20
comib,> 0,%r20,L$0201
zvdepi 1,32,%r24
mtsar %r21
L$0210
vshd %r0,%r24,%r19
sub %r20,%r21,%r20
comib,<= 0,%r20,L$0210
or %r24,%r19,%r24
L$0201
stw %r0,4(%r22)
comib,= 0,%r24,L$0211
ldo 7(%r22),%r26
stbs,ma %r24,-1(%r26)
L$0209
extru %r24,23,24,%r24
comib,<>,n 0,%r24,L$0209
stbs,ma %r24,-1(%r26)
L$0211
bv,n %r0(%r2)
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0025
.STRING "[H]Halftone order bits 0x%lx:\x0a\x00"
.align 4
L$C0026
.STRING "%4d: %u:0x%lx\x0a\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_construct_bits,ENTRY,PRIV_LEV=3,ARGW0=GR
gx_ht_construct_bits
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=8
.ENTRY
stw %r2,-20(%r30)
stwm %r8,128(%r30)
stw %r7,-124(%r30)
stw %r6,-120(%r30)
stw %r5,-116(%r30)
stw %r4,-112(%r30)
stw %r3,-108(%r30)
copy %r26,%r5
ldi 0,%r4
ldw 52(%r5),%r19
comb,<<= %r19,%r0,L$0214
ldw 68(%r5),%r3
L$0216
copy %r3,%r26
ldh 32(%r5),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gx_ht_construct_bit,%r2
ldw 0(%r3),%r24
ldo 1(%r4),%r4
ldw 52(%r5),%r19
comb,>> %r19,%r4,L$0216
ldo 8(%r3),%r3
L$0214
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 72,%r26
comib,= 0,%r28,L$0218
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 467,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0025,%r25
ldo RR'L$C0025(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldw 68(%r5),%r24
ldi 0,%r4
ldw 52(%r5),%r19
comb,<<= %r19,%r0,L$0218
ldw 68(%r5),%r3
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r6
ldil LR'L$C0007,%r8
ldil LR'L$C0026,%r7
L$0222
ldw RR'gs_debug_out-$global$(%r6),%r26
ldo RR'L$C0007(%r8),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 472,%r24
ldw RR'gs_debug_out-$global$(%r6),%r26
ldw 0(%r3),%r23
ldw 4(%r3),%r19
stw %r19,-52(%r30)
ldo RR'L$C0026(%r7),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
copy %r4,%r24
ldo 1(%r4),%r4
ldw 52(%r5),%r19
comb,>> %r19,%r4,L$0222
ldo 8(%r3),%r3
L$0218
ldw -148(%r30),%r2
ldw -124(%r30),%r7
ldw -120(%r30),%r6
ldw -116(%r30),%r5
ldw -112(%r30),%r4
ldw -108(%r30),%r3
bv %r0(%r2)
ldwm -128(%r30),%r8
.EXIT
.PROCEND
.IMPORT gx_ht_free_cache,CODE
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0027
.STRING "gx_ht_order_release(transfer)\x00"
.align 4
L$C0028
.STRING "gx_ht_order_release(bit_data)\x00"
.align 4
L$C0029
.STRING "gx_ht_order_release(levels)\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_order_release,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR
gx_ht_order_release
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
stw %r3,-60(%r30)
copy %r26,%r4
comib,= 0,%r24,L$0225
copy %r25,%r3
ldw 72(%r4),%r25
comib,= 0,%r25,L$0227
copy %r3,%r26
.CALL ARGW0=GR,ARGW1=GR
bl gx_ht_free_cache,%r2
copy %r3,%r26
L$0225
copy %r3,%r26
L$0227
ldw 76(%r4),%r25
ldil LR'L$C0027,%r24
ldo RR'L$C0027(%r24),%r24
ldw 12(%r3),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldw 60(%r4),%r19
comib,= 0,%r19,L$0226
copy %r19,%r26
ldw 68(%r4),%r25
ldil LR'L$C0028,%r24
ldo RR'L$C0028(%r24),%r24
ldw 12(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldw 60(%r4),%r19
copy %r19,%r26
ldw 64(%r4),%r25
ldil LR'L$C0029,%r24
ldo RR'L$C0029(%r24),%r24
ldw 12(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
L$0226
ldw -84(%r30),%r2
ldw -60(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0030
.STRING "gx_dev_ht_release(components)\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_device_halftone_release,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
gx_device_halftone_release
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=5
.ENTRY
stw %r2,-20(%r30)
stwm %r5,64(%r30)
stw %r4,-60(%r30)
stw %r3,-56(%r30)
copy %r26,%r4
ldw 100(%r4),%r19
comib,= 0,%r19,L$0229
copy %r25,%r5
ldw 104(%r4),%r19
comb,<<= %r19,%r0,L$0231
ldi 0,%r3
ldw 100(%r4),%r20
L$0236
sh2addl %r3,%r3,%r19
sh2addl %r19,%r3,%r19
sh2addl %r19,%r20,%r26
ldw 68(%r26),%r20
ldw 68(%r4),%r19
comb,= %r19,%r20,L$0232
copy %r5,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gx_ht_order_release,%r2
ldi 1,%r24
L$0232
ldo 1(%r3),%r3
ldw 104(%r4),%r19
comb,>>,n %r19,%r3,L$0236
ldw 100(%r4),%r20
L$0231
copy %r5,%r26
ldw 100(%r4),%r25
ldil LR'L$C0030,%r24
ldo RR'L$C0030(%r24),%r24
ldw 12(%r5),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
stw %r0,100(%r4)
stw %r0,104(%r4)
L$0229
copy %r4,%r26
copy %r5,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gx_ht_order_release,%r2
ldi 0,%r24
ldw -84(%r30),%r2
ldw -60(%r30),%r4
ldw -56(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r5
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0031
.STRING "gx_imager_dev_ht_install\x00"
.IMPORT rc_free_struct_only,CODE
.IMPORT rc_trace_init_free,CODE
.align 4
L$C0033
.STRING "\x00"
.IMPORT rc_trace_adjust,CODE
.IMPORT gs_next_ids,CODE
.align 4
dcnames___78
.word 0
.blockz 12
.word 0
.word 0
.word 0
.word 1
.word 0
.blockz 12
.word 2
.word 3
.word 4
.word 0
.word 5
.word 6
.word 7
.word 8
.align 4
cscnames___79
.word 2
.word 3
.word 4
.word 0
.align 4
L$C0034
.STRING "[h]dcnames=%lu,%lu,%lu,%lu\x0a\x00"
.IMPORT memset,CODE
.align 4
L$C0035
.STRING "[h]cname[%d]=%lu\x0a\x00"
.align 4
L$C0036
.STRING "[h]color_indices[%d]=%d\x0a\x00"
.align 4
L$C0037
.STRING "[h]LCM=(%d,%d)\x0a\x00"
.IMPORT gx_imager_set_effective_xfer,CODE
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
L$C0032
.word P%rc_free_struct_only
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_imager_dev_ht_install,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
gx_imager_dev_ht_install
.PROC
.CALLINFO FRAME=192,CALLS,SAVE_RP,ENTRY_GR=18
.ENTRY
stw %r2,-20(%r30)
ldo 192(%r30),%r30
stw %r18,-120(%r30)
stw %r17,-116(%r30)
stw %r16,-112(%r30)
stw %r15,-108(%r30)
stw %r14,-104(%r30)
stw %r13,-100(%r30)
stw %r12,-96(%r30)
stw %r11,-92(%r30)
stw %r10,-88(%r30)
stw %r9,-84(%r30)
stw %r8,-80(%r30)
stw %r7,-76(%r30)
stw %r6,-72(%r30)
stw %r5,-68(%r30)
stw %r4,-64(%r30)
stw %r3,-60(%r30)
copy %r26,%r13
copy %r25,%r12
copy %r24,%r5
copy %r23,%r6
ldw 196(%r13),%r7
ldh 36(%r12),%r1
stw %r1,-16(%r30)
fldws -16(%r30),%fr22L
ldw 52(%r12),%r26
bl $$divU,%r31
ldh 32(%r12),%r25
stw %r29,-16(%r30)
fldws -16(%r30),%fr23L
xmpyu %fr22L,%fr23L,%fr22
ldw 200(%r13),%r19
ldw 4(%r19),%r19
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r1
comb,>>= %r19,%r1,L$0238
ldi -13,%r26
ldil LR'L$C0007,%r25
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 530,%r24
b L$0316
ldw -212(%r30),%r2
L$0238
comb,=,n %r7,%r12,L$0244
comib,=,n 0,%r7,L$0245
ldw 80(%r7),%r19
comib,<>,n 1,%r19,L$0245
ldw 84(%r7),%r25
ldw 84(%r12),%r19
comb,<>,n %r19,%r25,L$0245
.CALL ARGW0=GR,ARGW1=GR
bl gx_device_halftone_release,%r2
copy %r7,%r26
b,n L$0244
L$0245
ldw 196(%r13),%r20
comib,=,n 0,%r20,L$0251
ldw 80(%r20),%r19
comib,<,n 1,%r19,L$0251
ldw 84(%r20),%r20
ldw 84(%r12),%r19
comb,=,n %r19,%r20,L$0248
L$0251
ldw 84(%r12),%r19
ldil LR'st_device_halftone,%r25
ldil LR'L$C0031,%r24
copy %r19,%r26
ldo RR'st_device_halftone(%r25),%r25
ldo RR'L$C0031(%r24),%r24
ldw 36(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
movb,= %r28,%r4,L$0315
ldi 1,%r19
stw %r19,80(%r4)
ldw 84(%r12),%r19
stw %r19,84(%r4)
ldil LR'L$C0032,%r19
ldw RR'L$C0032(%r19),%r19
stw %r19,88(%r4)
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0253
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 543,%r24
ldil LR'L$C0016,%r25
ldil LR'L$C0033,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0016(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0033(%r24),%r24
copy %r4,%r26
.CALL ARGW0=GR,ARGW1=GR
bl rc_trace_init_free,%r2
ldo 80(%r4),%r25
L$0253
ldw 196(%r13),%r19
comib,=,n 0,%r19,L$0263
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0267
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 543,%r24
ldil LR'L$C0016,%r25
ldil LR'L$C0033,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0016(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0033(%r24),%r24
ldw 196(%r13),%r25
copy %r25,%r26
ldo 80(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl rc_trace_adjust,%r2
ldi -1,%r24
L$0267
ldw 196(%r13),%r20
ldw 80(%r20),%r19
ldo -1(%r19),%r19
stw %r19,80(%r20)
L$0263
stw %r4,196(%r13)
L$0248
ldw 196(%r13),%r7
L$0244
ldw 80(%r7),%r19
stw %r19,-184(%r30)
ldw 84(%r7),%r19
stw %r19,-180(%r30)
ldw 88(%r7),%r19
stw %r19,-176(%r30)
copy %r7,%r26
copy %r12,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 132,%r24
ldw -184(%r30),%r19
stw %r19,80(%r7)
ldw -180(%r30),%r19
stw %r19,84(%r7)
ldw -176(%r30),%r19
stw %r19,88(%r7)
.CALL ARGW0=GR
bl gs_next_ids,%r2
ldi 1,%r26
stw %r28,92(%r7)
stw %r5,96(%r7)
ldw 200(%r13),%r19
stw %r0,80(%r19)
ldw 200(%r13),%r19
stw %r0,84(%r19)
ldw 200(%r13),%r19
ldw 8(%r19),%r19
stw %r0,0(%r19)
ldw 100(%r12),%r19
comib,=,n 0,%r19,L$0270
ldw 52(%r6),%r21
zdep %r21,27,28,%r20
ldil LR'dcnames___78,%r19
ldo RR'dcnames___78(%r19),%r19
addl %r20,%r19,%r9
ldi 1,%r14
comib,<> 4,%r21,L$0271
copy %r14,%r16
comib,= 2,%r5,L$0317
ldil LR'cscnames___79,%r19
comiclr,<> 7,%r5,%r0
L$0317
ldo RR'cscnames___79(%r19),%r9
L$0271
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 104,%r26
comib,= 0,%r28,L$0274
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 596,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldil LR'L$C0034,%r25
ldw 0(%r9),%r24
ldw 4(%r9),%r23
ldw 8(%r9),%r19
stw %r19,-52(%r30)
ldw 12(%r9),%r19
stw %r19,-56(%r30)
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
ldo RR'L$C0034(%r25),%r25
L$0274
ldo 108(%r7),%r26
ldi 0,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memset,%r2
ldi 16,%r24
ldw 104(%r12),%r19
comb,<<= %r19,%r0,L$0279
ldi 0,%r6
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r15
ldil LR'L$C0007,%r18
ldil LR'L$C0035,%r17
sh2addl %r6,%r6,%r19
L$0319
sh2addl %r19,%r6,%r19
ldw 100(%r12),%r20
sh2addl %r19,%r20,%r5
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 104,%r26
comib,= 0,%r28,L$0283
ldw RR'gs_debug_out-$global$(%r15),%r26
ldo RR'L$C0007(%r18),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 604,%r24
ldw RR'gs_debug_out-$global$(%r15),%r26
ldo RR'L$C0035(%r17),%r25
copy %r6,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
ldw 80(%r5),%r23
L$0283
ldi 0,%r3
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r4
ldil LR'L$C0007,%r11
ldil LR'L$C0036,%r10
ldo 108(%r7),%r8
ldw 80(%r5),%r20
L$0318
ldwx,s %r3(%r9),%r19
comb,<>,n %r19,%r20,L$0289
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 104,%r26
comib,= 0,%r28,L$0293
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0007(%r11),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 608,%r24
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0036(%r10),%r25
copy %r3,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
copy %r6,%r23
L$0293
sh2addl %r3,%r8,%r19
stw %r6,0(%r19)
L$0289
ldo 1(%r3),%r3
comib,>=,n 3,%r3,L$0318
ldw 80(%r5),%r20
ldo 1(%r6),%r6
ldw 104(%r12),%r19
comb,>> %r19,%r6,L$0319
sh2addl %r6,%r6,%r19
L$0279
ldi 0,%r6
ldo 108(%r7),%r8
ldwx,s %r6(%r8),%r19
L$0320
sh2addl %r19,%r19,%r20
sh2addl %r20,%r19,%r19
ldw 100(%r12),%r20
sh2addl %r19,%r20,%r20
ldh 32(%r20),%r3
ldw 44(%r20),%r5
copy %r16,%r26
.CALL ARGW0=GR,ARGW1=GR
bl igcd,%r2
copy %r3,%r25
copy %r16,%r26
bl $$divI,%r31
copy %r28,%r25
copy %r29,%r4
copy %r14,%r26
.CALL ARGW0=GR,ARGW1=GR
bl igcd,%r2
copy %r5,%r25
copy %r14,%r26
bl $$divI,%r31
copy %r28,%r25
copy %r29,%r19
zdepi -1,31,31,%r26
bl $$divI,%r31
copy %r4,%r25
comb,<<,n %r29,%r3,L$0303
stw %r3,-16(%r30)
fldws -16(%r30),%fr23L
stw %r4,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r1
b L$0304
copy %r1,%r16
L$0303
zdepi -1,31,31,%r16
L$0304
zdepi -1,31,31,%r26
bl $$divI,%r31
copy %r19,%r25
comb,<<,n %r29,%r5,L$0305
stw %r5,-16(%r30)
fldws -16(%r30),%fr23L
stw %r19,-16(%r30)
fldws -16(%r30),%fr24L
xmpyu %fr23L,%fr24L,%fr22
fstws %fr22R,-16(%r30)
ldw -16(%r30),%r1
b L$0301
copy %r1,%r14
L$0305
zdepi -1,31,31,%r14
L$0301
ldo 1(%r6),%r6
comib,>>=,n 3,%r6,L$0320
ldwx,s %r6(%r8),%r19
stw %r16,124(%r7)
b L$0308
stw %r14,128(%r7)
L$0315
ldil LR'L$C0007,%r25
ldi -25,%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 543,%r24
b L$0316
ldw -212(%r30),%r2
L$0270
ldh 32(%r7),%r19
stw %r19,124(%r7)
ldw 44(%r7),%r19
stw %r19,128(%r7)
L$0308
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 104,%r26
comib,= 0,%r28,L$0310
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 634,%r24
ldil LR'L$C0037,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0037(%r25),%r25
ldw 124(%r7),%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
ldw 128(%r7),%r23
L$0310
.CALL ARGW0=GR
bl gx_imager_set_effective_xfer,%r2
copy %r13,%r26
ldi 0,%r28
ldw -212(%r30),%r2
L$0316
ldw -120(%r30),%r18
ldw -116(%r30),%r17
ldw -112(%r30),%r16
ldw -108(%r30),%r15
ldw -104(%r30),%r14
ldw -100(%r30),%r13
ldw -96(%r30),%r12
ldw -92(%r30),%r11
ldw -88(%r30),%r10
ldw -84(%r30),%r9
ldw -80(%r30),%r8
ldw -76(%r30),%r7
ldw -72(%r30),%r6
ldw -68(%r30),%r5
ldw -64(%r30),%r4
ldw -60(%r30),%r3
bv %r0(%r2)
ldo -192(%r30),%r30
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0048
.STRING "gx_ht_install(new halftone)\x00"
.IMPORT rc_trace_free_struct,CODE
.align 4
L$C0050
.STRING "gx_ht_install(old halftone)\x00"
.IMPORT eprintf_program_ident,CODE
.IMPORT gs_program_name,CODE
.IMPORT gs_revision_number,CODE
.IMPORT lprintf_file_and_line,CODE
.align 4
L$C0051
.STRING "0x%lx has ref_count of %ld!\x0a\x00"
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
L$C0049
.word P%rc_free_struct_only
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT gx_ht_install,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
gx_ht_install
.PROC
.CALLINFO FRAME=192,CALLS,SAVE_RP,ENTRY_GR=9
.ENTRY
stw %r2,-20(%r30)
ldo 192(%r30),%r30
stw %r9,-120(%r30)
stw %r8,-116(%r30)
stw %r7,-112(%r30)
stw %r6,-108(%r30)
stw %r5,-104(%r30)
stw %r4,-100(%r30)
stw %r3,-96(%r30)
copy %r26,%r7
copy %r25,%r8
copy %r24,%r9
ldw 176(%r7),%r3
comib,= 0,%r3,L$0322
ldw 8(%r8),%r5
ldw 8(%r3),%r19
comb,<> %r5,%r19,L$0364
ldil LR'st_halftone,%r25
ldw 4(%r3),%r19
comib,<> 1,%r19,L$0365
ldil LR'L$C0048,%r24
b L$0323
copy %r3,%r6
L$0322
ldil LR'st_halftone,%r25
L$0364
ldil LR'L$C0048,%r24
L$0365
copy %r5,%r26
ldo RR'st_halftone(%r25),%r25
ldo RR'L$C0048(%r24),%r24
ldw 36(%r5),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
movb,= %r28,%r6,L$0361
ldi 1,%r19
stw %r19,4(%r6)
stw %r5,8(%r6)
ldil LR'L$C0049,%r19
ldw RR'L$C0049(%r19),%r19
stw %r19,12(%r6)
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0323
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r4
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 660,%r24
ldil LR'L$C0016,%r25
ldil LR'L$C0033,%r24
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0016(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0033(%r24),%r24
copy %r6,%r26
.CALL ARGW0=GR,ARGW1=GR
bl rc_trace_init_free,%r2
ldo 4(%r6),%r25
L$0323
copy %r7,%r26
copy %r9,%r25
ldw 0(%r8),%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl gx_imager_dev_ht_install,%r2
ldw 452(%r7),%r23
movb,>=,n %r28,%r4,L$0335
comb,= %r3,%r6,L$0336
copy %r5,%r26
copy %r6,%r25
ldil LR'L$C0048,%r24
ldo RR'L$C0048(%r24),%r24
ldw 12(%r5),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
L$0336
b L$0360
copy %r4,%r28
L$0361
ldil LR'L$C0007,%r25
ldi -25,%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 660,%r24
b L$0362
ldw -212(%r30),%r2
L$0335
comb,=,n %r3,%r6,L$0337
comib,=,n 0,%r3,L$0337
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0345
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r4
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 669,%r24
ldil LR'L$C0016,%r25
ldil LR'L$C0033,%r24
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0016(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0033(%r24),%r24
copy %r3,%r26
ldo 4(%r3),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl rc_trace_adjust,%r2
ldi -1,%r24
L$0345
ldw 4(%r3),%r19
ldo -1(%r19),%r19
comib,<> 0,%r19,L$0347
stw %r19,4(%r3)
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0351
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r4
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 669,%r24
ldil LR'L$C0016,%r25
ldil LR'L$C0033,%r24
ldw RR'gs_debug_out-$global$(%r4),%r26
ldo RR'L$C0016(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0033(%r24),%r24
ldil LR'L$C0050,%r24
copy %r3,%r26
ldo 4(%r3),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl rc_trace_free_struct,%r2
ldo RR'L$C0050(%r24),%r24
L$0351
ldil LR'L$C0050,%r24
ldw 8(%r3),%r26
copy %r3,%r25
ldo RR'L$C0050(%r24),%r24
ldw 12(%r3),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
b L$0363
ldw 4(%r6),%r19
L$0347
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 63,%r26
comib,=,n 0,%r28,L$0337
ldw 4(%r3),%r19
comib,<=,n 0,%r19,L$0337
.CALL
bl gs_program_name,%r2
nop
.CALL
bl gs_revision_number,%r2
copy %r28,%r4
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r5
ldw RR'gs_debug_out-$global$(%r5),%r26
copy %r4,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl eprintf_program_ident,%r2
copy %r28,%r24
ldil LR'L$C0007,%r25
ldw RR'gs_debug_out-$global$(%r5),%r26
ldo RR'L$C0007(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl lprintf_file_and_line,%r2
ldi 669,%r24
ldil LR'L$C0051,%r25
ldw RR'gs_debug_out-$global$(%r5),%r26
ldo RR'L$C0051(%r25),%r25
copy %r3,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl fprintf,%r2
ldw 4(%r3),%r23
L$0337
ldw 4(%r6),%r19
L$0363
stw %r19,-184(%r30)
ldo 8(%r6),%r20
ldws,ma 4(%r20),%r19
stw %r19,-180(%r30)
ldw 0(%r20),%r19
stw %r19,-176(%r30)
copy %r6,%r26
copy %r8,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 96,%r24
ldw -184(%r30),%r19
stw %r19,4(%r6)
ldo 8(%r6),%r20
ldw -180(%r30),%r19
stws,ma %r19,4(%r20)
ldw -176(%r30),%r19
stw %r19,0(%r20)
stw %r6,176(%r7)
ldw 384(%r7),%r20
ldil LR'gx_dc_type_data_none,%r19
ldo RR'gx_dc_type_data_none(%r19),%r19
stw %r19,0(%r20)
ldi 0,%r28
L$0360
ldw -212(%r30),%r2
L$0362
ldw -120(%r30),%r9
ldw -116(%r30),%r8
ldw -112(%r30),%r7
ldw -108(%r30),%r6
ldw -104(%r30),%r5
ldw -100(%r30),%r4
ldw -96(%r30),%r3
bv %r0(%r2)
ldo -192(%r30),%r30
.EXIT
.PROCEND
.align 4
.EXPORT gx_imager_set_effective_xfer,ENTRY,PRIV_LEV=3,ARGW0=GR
gx_imager_set_effective_xfer
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
ldw 196(%r26),%r24
ldo 232(%r26),%r20
ldo 216(%r26),%r19
ldi 8,%r23
ldws,ma 4(%r19),%r22
ldws,ma 4(%r19),%r21
stws,ma %r22,4(%r20)
addib,>= -8,%r23,.-12
stws,ma %r21,4(%r20)
comib,=,n 0,%r24,L$0366
ldw 100(%r24),%r19
comib,<> 0,%r19,L$0368
ldi 0,%r22
ldw 76(%r24),%r19
comib,=,n 0,%r19,L$0366
stw %r19,244(%r26)
stw %r19,240(%r26)
stw %r19,236(%r26)
bv %r0(%r2)
stw %r19,232(%r26)
L$0368
ldo 108(%r24),%r25
ldo 232(%r26),%r26
zdep %r22,29,30,%r23
L$0377
sh2addl %r22,%r25,%r19
ldw 0(%r19),%r19
ldw 100(%r24),%r21
sh2addl %r19,%r19,%r20
sh2addl %r20,%r19,%r19
sh2addl %r19,%r21,%r21
ldw 76(%r21),%r20
comib,= 0,%r20,L$0373
addl %r26,%r23,%r19
stw %r20,0(%r19)
L$0373
ldo 1(%r22),%r22
comib,>= 3,%r22,L$0377
zdep %r22,29,30,%r23
L$0366
bv,n %r0(%r2)
.EXIT
.PROCEND
.align 4
.EXPORT gx_set_effective_transfer,ENTRY,PRIV_LEV=3,ARGW0=GR
gx_set_effective_transfer
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
.CALL ARGW0=GR
bl gx_imager_set_effective_xfer,%r2
ldo 64(%r30),%r30
ldw -84(%r30),%r2
bv %r0(%r2)
ldo -64(%r30),%r30
.EXIT
.PROCEND
-------------- next part --------------
.LEVEL 1.1
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.IMPORT fprintf,CODE
.IMPORT gs_debug_out,DATA
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0001
.STRING "zht1:spot_dummy %f, %f, value = %f\x0a\x00"
.align 8
L$C0000
.word 0x3fe00000
.word 0x0
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
spot_dummy
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_FR=12
.ENTRY
stw %r2,-20(%r30)
ldo 128(%r30),%r30
ldo -128(%r30),%r1
fstds,ma %fr12,8(%r1)
fadd,dbl %fr5,%fr7,%fr12
ldil LR'L$C0000,%r19
ldo RR'L$C0000(%r19),%r19
fldds 0(%r19),%fr22
fmpy,dbl %fr12,%fr22,%fr12
addil LR'gs_debug_out-$global$,%r27
ldo -64(%r30),%r19
fstds %fr7,8(%r19)
fstds %fr12,0(%r19)
ldw RR'gs_debug_out-$global$(%r1),%r26
ldil LR'L$C0001,%r25
ldo RR'L$C0001(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU
bl fprintf,%r2
fcpy,dbl %fr5,%fr7
fcnvff,dbl,sgl %fr12,%fr4L
ldw -148(%r30),%r2
ldo -128(%r30),%r1
fldds,ma 8(%r1),%fr12
bv %r0(%r2)
ldo -128(%r30),%r30
.EXIT
.PROCEND
.IMPORT zscreen_params,CODE
.IMPORT ref_stack_extend,CODE
.IMPORT st_halftone,DATA
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0003
.STRING "setcolorscreen(halftone)\x00"
.IMPORT rc_free_struct_only,CODE
.IMPORT gs_debug_c,CODE
.IMPORT dprintf_file_and_line,CODE
.IMPORT rc_trace_init_free,CODE
.align 4
L$C0005
.STRING "./src/zht1.c\x00"
.align 4
L$C0006
.STRING "%s\x00"
.align 4
L$C0007
.STRING "\x00"
.IMPORT st_device_halftone,DATA
.align 4
L$C0008
.STRING "setcolorscreen(device halftone)\x00"
.IMPORT gs_log_error,CODE
.IMPORT memcpy,CODE
.IMPORT gs_sethalftone_prepare,CODE
.IMPORT memcpy,CODE
.IMPORT gs_debug,DATA
.IMPORT zscreen_enum_init,CODE
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
L$C0002
.word P%spot_dummy
.align 4
L$C0004
.word P%rc_free_struct_only
.align 4
L$C0009
.word P%setcolorscreen_cleanup
.align 4
L$C0010
.word P%setcolorscreen_finish
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
zsetcolorscreen
.PROC
.CALLINFO FRAME=320,CALLS,SAVE_RP,ENTRY_GR=12
.ENTRY
stw %r2,-20(%r30)
ldo 320(%r30),%r30
stw %r12,-120(%r30)
stw %r11,-116(%r30)
stw %r10,-112(%r30)
stw %r9,-108(%r30)
stw %r8,-104(%r30)
stw %r7,-100(%r30)
stw %r6,-96(%r30)
stw %r5,-92(%r30)
stw %r4,-88(%r30)
stw %r3,-84(%r30)
copy %r26,%r8
ldw 256(%r8),%r10
ldi 0,%r5
ldi 0,%r4
ldo -312(%r30),%r9
ldo -304(%r30),%r7
ldil LR'L$C0002,%r19
ldw RR'L$C0002(%r19),%r12
ldo -184(%r30),%r6
ldi 12,%r11
sh1addl %r4,%r4,%r19
L$0053
zdep %r19,28,29,%r19
ldo -72(%r19),%r19
addl %r10,%r19,%r3
sh2addl %r4,%r4,%r25
copy %r3,%r26
.CALL ARGW0=GR,ARGW1=GR
bl zscreen_params,%r2
sh2addl %r25,%r9,%r25
movb,< %r28,%r28,L$0049
sh2addl %r4,%r4,%r19
sh2addl %r19,%r7,%r19
stw %r12,0(%r19)
sh3addl %r4,%r6,%r20
ldw 0(%r3),%r19
stw %r19,0(%r20)
ldw 4(%r3),%r19
stw %r19,4(%r20)
ldh 0(%r3),%r19
and %r19,%r11,%r19
extru %r19,29,30,%r19
comclr,< %r19,%r5,%r0
copy %r19,%r5
ldo 1(%r4),%r4
comib,>= 3,%r4,L$0053
sh1addl %r4,%r4,%r19
ldo 12(%r8),%r19
ldwx,s %r5(%r19),%r7
ldw 204(%r8),%r19
ldo -64(%r19),%r19
ldw 196(%r8),%r20
comb,>>= %r19,%r20,L$0010
ldo 196(%r8),%r26
.CALL ARGW0=GR,ARGW1=GR
bl ref_stack_extend,%r2
ldi 8,%r25
movb,< %r28,%r28,L$0054
ldw -340(%r30),%r2
L$0010
ldil LR'st_halftone,%r25
ldil LR'L$C0003,%r24
copy %r7,%r26
ldo RR'st_halftone(%r25),%r25
ldo RR'L$C0003(%r24),%r24
ldw 36(%r7),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
movb,=,n %r28,%r6,L$0013
stw %r0,4(%r6)
stw %r7,8(%r6)
ldil LR'L$C0004,%r19
ldw RR'L$C0004(%r19),%r19
stw %r19,12(%r6)
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0013
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0005,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0005(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 62,%r24
ldil LR'L$C0006,%r25
ldil LR'L$C0007,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0006(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0007(%r24),%r24
copy %r6,%r26
.CALL ARGW0=GR,ARGW1=GR
bl rc_trace_init_free,%r2
ldo 4(%r6),%r25
L$0013
ldil LR'st_device_halftone,%r25
ldil LR'L$C0008,%r24
copy %r7,%r26
ldo RR'st_device_halftone(%r25),%r25
ldo RR'L$C0008(%r24),%r24
ldw 36(%r7),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
movb,=,n %r28,%r5,L$0024
stw %r0,80(%r5)
stw %r7,84(%r5)
ldil LR'L$C0004,%r19
ldw RR'L$C0004(%r19),%r19
stw %r19,88(%r5)
.CALL ARGW0=GR
bl gs_debug_c,%r2
ldi 94,%r26
comib,= 0,%r28,L$0024
addil LR'gs_debug_out-$global$,%r27
copy %r1,%r3
ldil LR'L$C0005,%r25
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0005(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl dprintf_file_and_line,%r2
ldi 64,%r24
ldil LR'L$C0006,%r25
ldil LR'L$C0007,%r24
ldw RR'gs_debug_out-$global$(%r3),%r26
ldo RR'L$C0006(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl fprintf,%r2
ldo RR'L$C0007(%r24),%r24
copy %r5,%r26
.CALL ARGW0=GR,ARGW1=GR
bl rc_trace_init_free,%r2
ldo 80(%r5),%r25
L$0024
comib,= 0,%r6,L$0055
ldi -25,%r26
comib,<> 0,%r5,L$0034
ldi 2,%r19
ldi -25,%r26
L$0055
ldil LR'L$C0005,%r25
ldo RR'L$C0005(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_log_error,%r2
ldi 66,%r24
b,n L$0052
L$0051
b L$0037
stw %r10,196(%r8)
L$0034
stw %r19,0(%r6)
ldo 16(%r6),%r26
ldo -312(%r30),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 80,%r24
ldw 0(%r8),%r26
copy %r6,%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gs_sethalftone_prepare,%r2
copy %r5,%r24
L$0052
copy %r28,%r3
comib,>,n 0,%r3,L$0048
ldw 196(%r8),%r10
ldo 64(%r10),%r20
stw %r20,196(%r8)
ldil LR'L$C0009,%r19
ldw RR'L$C0009(%r19),%r19
stw %r19,-52(%r20)
ldw 196(%r8),%r20
ldi 3712,%r19
sth %r19,-56(%r20)
ldw 196(%r8),%r19
sth %r0,-54(%r19)
ldw 196(%r8),%r26
ldo -48(%r26),%r26
ldo -184(%r30),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 32,%r24
ldw 196(%r8),%r19
stw %r6,-12(%r19)
ldw 196(%r8),%r20
ldh 30(%r8),%r19
ldo 2048(%r19),%r19
sth %r19,-16(%r20)
addil LR'gs_debug-$global$,%r27
ldb RR'gs_debug-$global$+36(%r1),%r19
comib,=,n 0,%r19,L$0039
ldw 196(%r8),%r20
ldi -275,%r19
sth %r19,-14(%r20)
L$0039
ldw 196(%r8),%r19
stw %r5,-4(%r19)
ldw 196(%r8),%r20
ldh 30(%r8),%r19
ldo 2048(%r19),%r19
sth %r19,-8(%r20)
addil LR'gs_debug-$global$,%r27
ldb RR'gs_debug-$global$+36(%r1),%r19
comib,=,n 0,%r19,L$0041
ldw 196(%r8),%r20
ldi -275,%r19
sth %r19,-6(%r20)
L$0041
ldw 196(%r8),%r20
ldil LR'L$C0010,%r19
ldw RR'L$C0010(%r19),%r19
stw %r19,4(%r20)
ldw 196(%r8),%r20
ldi 3968,%r19
sth %r19,0(%r20)
ldw 196(%r8),%r19
sth %r0,2(%r19)
ldi 0,%r4
ldo -184(%r30),%r9
ldo 1(%r4),%r19
L$0056
extru %r19,31,2,%r19
zdep %r19,29,30,%r25
addl %r25,%r19,%r25
zdep %r25,29,30,%r25
addl %r25,%r19,%r25
ldw 100(%r5),%r19
sh2addl %r4,%r4,%r24
zdep %r24,29,30,%r24
ldo 16(%r24),%r24
stw %r0,-52(%r30)
stw %r0,-56(%r30)
stw %r7,-60(%r30)
copy %r8,%r26
sh2addl %r25,%r19,%r25
addl %r6,%r24,%r24
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
bl zscreen_enum_init,%r2
sh3addl %r4,%r9,%r23
movb,< %r28,%r3,L$0051
ldo 1(%r4),%r4
comib,>= 3,%r4,L$0056
ldo 1(%r4),%r19
L$0037
comib,>,n 0,%r3,L$0048
ldw 256(%r8),%r19
ldo -96(%r19),%r19
stw %r19,256(%r8)
b L$0049
ldi 5,%r28
L$0048
copy %r7,%r26
copy %r5,%r25
ldil LR'L$C0008,%r24
ldo RR'L$C0008(%r24),%r24
ldw 12(%r7),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
copy %r7,%r26
copy %r6,%r25
ldil LR'L$C0003,%r24
ldo RR'L$C0003(%r24),%r24
ldw 12(%r7),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
copy %r3,%r28
L$0049
ldw -340(%r30),%r2
L$0054
ldw -120(%r30),%r12
ldw -116(%r30),%r11
ldw -112(%r30),%r10
ldw -108(%r30),%r9
ldw -104(%r30),%r8
ldw -100(%r30),%r7
ldw -96(%r30),%r6
ldw -92(%r30),%r5
ldw -88(%r30),%r4
ldw -84(%r30),%r3
bv %r0(%r2)
ldo -320(%r30),%r30
.EXIT
.PROCEND
.IMPORT gx_ht_install,CODE
.IMPORT gs_state_client_data,CODE
.align 4
setcolorscreen_finish
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
stw %r3,-60(%r30)
copy %r26,%r3
ldw 196(%r3),%r19
ldw 4(%r19),%r4
copy %r4,%r26
ldw 100(%r4),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 80,%r24
ldw 196(%r3),%r19
ldw 0(%r3),%r26
ldw -4(%r19),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl gx_ht_install,%r2
copy %r4,%r24
movb,< %r28,%r28,L$0062
ldw -84(%r30),%r2
.CALL ARGW0=GR
bl gs_state_client_data,%r2
ldw 0(%r3),%r26
ldw 196(%r3),%r25
ldo 8(%r28),%r26
ldo -40(%r25),%r25
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
bl memcpy,%r2
ldi 32,%r24
.CALL ARGW0=GR
bl gs_state_client_data,%r2
ldw 0(%r3),%r26
ldi 3584,%r19
sth %r19,184(%r28)
addil LR'gs_debug-$global$,%r27
ldb RR'gs_debug-$global$+36(%r1),%r19
comib,=,n 0,%r19,L$0060
.CALL ARGW0=GR
bl gs_state_client_data,%r2
ldw 0(%r3),%r26
ldi -275,%r19
sth %r19,186(%r28)
.CALL ARGW0=GR
bl gs_state_client_data,%r2
ldw 0(%r3),%r26
ldil L'-559038737,%r19
ldo R'-559038737(%r19),%r19
stw %r19,188(%r28)
L$0060
ldw 196(%r3),%r19
ldo -56(%r19),%r19
stw %r19,196(%r3)
.CALL ARGW0=GR
bl setcolorscreen_cleanup,%r2
copy %r3,%r26
ldi 14,%r28
ldw -84(%r30),%r2
L$0062
ldw -60(%r30),%r3
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0024
.STRING "setcolorscreen_cleanup(device halftone)\x00"
.align 4
L$C0025
.STRING "setcolorscreen_cleanup(halftone)\x00"
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
setcolorscreen_cleanup
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
ldw 196(%r26),%r19
ldw 52(%r19),%r4
ldw 60(%r19),%r25
ldw 84(%r25),%r19
copy %r19,%r26
ldil LR'L$C0024,%r24
ldo RR'L$C0024(%r24),%r24
ldw 12(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldw 8(%r4),%r19
copy %r19,%r26
copy %r4,%r25
ldil LR'L$C0025,%r24
ldo RR'L$C0025(%r24),%r24
ldw 12(%r19),%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
ldi 0,%r28
ldw -84(%r30),%r2
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.EXPORT zht1_op_defs,DATA
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
zht1_op_defs
.word L$C0026
.word P%zsetcolorscreen
.word L$C0027
.word P%setcolorscreen_finish
.word 0
.word 0
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0027
.STRING "0%setcolorscreen_finish\x00"
.align 4
L$C0026
.STRING "<setcolorscreen\x00"
More information about the Gcc-bugs
mailing list