[Gs-code-review] Fix for SourceForge #508722
L. Peter Deutsch
ghost at aladdin.com
Mon Feb 4 11:40:17 PST 2002
This is a compiler bug.
8819: BNE R13,#X00002F
8820: LDL R5,#XFFFC(R15)
The above instruction sets R5 to csp[-1].
: BNE R5,#X000015
8823: LDL R0,(R15)
The above instruction sets R0 to csp.
8824: LDL R1,#XFFEC(R15)
8822: BIS R31,#X1A,R8
8823: STL R0,#XFFFC(R15)
The above instruction stores csp into csp[-1].
: LDQ_U R31,(SP)
8824: BNE R1,#X00000B
8825: LDL R17,#XFFF0(R15)
: LDL R18,#XFFF4(R15)
: LDL R20,#XFFF8(R15)
: STL R5,#XFFF8(R15)
The above instruction stores the *original* contents of csp[-1] (i.e., 0),
: STL R17,#XFFEC(R15)
: STL R18,#XFFF0(R15)
: STL R20,#XFFF4(R15)
The problem is apparently that the compiler's optimizer doesn't understand
that memcpy / memmove can interact with ordinary assignments.
Please try replacing the memmove with a sequence of ordinary assignments and
see if that fixes the problem (with optimization turned on).
Also, obviously, please report this problem to DEC .. er .. Compaq.
L. Peter Deutsch | Aladdin Enterprises | 203 Santa Margarita Ave.
ghost at aladdin.com | http://www.aladdin.com | Menlo Park, CA 94025
The future of software is at http://www.opensource.org
More information about the gs-code-review