Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!zaphod.mps.ohio-state.edu!mips!rogerk From: rogerk@mips.com (Roger B.A. Klorese) Newsgroups: comp.sys.mips Subject: Re: undocumented ops/pseudo-ops Message-ID: <4144@spim.mips.COM> Date: 31 May 91 19:12:19 GMT References: <1991May31.181807.23657@aero.org> Sender: news@mips.COM Organization: MIPS Computer Systems, Sunnyvale, California Lines: 41 Nntp-Posting-Host: tecate.mips.com In article <1991May31.181807.23657@aero.org> jordan@aero.org (Larry M. Jordan) writes: >The mips "Assembly Language Programmer's Guide" dated >1/15/87 does not document the following ops/pseudo-ops: > > o mfc1.d (mfc1.s) > o .alias > o .noalias > >I'm sure we have update inserts, but I doubt if they'll >be of much help. Anyone know precisely what these do? >(I could guess, but would hate to be wrong). From the April 1990 edition: Page 8-1: .alias , Indicates that memory reference through the two registers will overlap. The compiler uses this form to improve instruction scheduling. .noalias , reg1 and reg2, when used as indexed registers to memory will never point to the same memory. The assembler will use this as a hint to make more liberal assumptions about resource dependency in the program. Also, mfc1.d is an architecture (but not native) instruction, which is assembled into a pair of mfc1's: mfc1.d $4, $f2 ...becomes: 0x0: 44041800 mfc1 r4,$f3 0x4: 44051000 mfc1 r5,$f2 -- ROGER B.A. KLORESE MIPS Computer Systems, Inc. MS 6-05 930 DeGuigne Dr. Sunnyvale, CA 94088 +1 408 524-7421 rogerk@mips.COM {ames,decwrl,pyramid}!mips!rogerk "What the public reproaches you for -- cultivate it! It's you." - Jean Cocteau