Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!apple!oliveb!pyramid!prls!philabs!ttidca!mb From: mb@ttidca.TTI.COM (Michael Bloom) Newsgroups: comp.windows.x Subject: Re: Purdue 2.0 2.1 on VAX with gcc 1.34 Keywords: Purdue VAX gcc Message-ID: <4040@ttidca.TTI.COM> Date: 13 Mar 89 20:22:01 GMT References: <3541@sdsu.UUCP> <4485@pt.cs.cmu.edu> Reply-To: mb@ttidca.tti.com (Michael Bloom) Distribution: usa Organization: Citicorp/TTI, Santa Monica Lines: 25 This is what I'm using: ------------- #ifdef vax #define FASTGETBITS(psrc,x,w,dst) \ asm ("extzv %1,%2,%3,%0" \ : "=g" (dst) \ : "g" (x), "g" (w), "m" (*(char *)(psrc))) #define getbits(psrc,x,w,dst) FASTGETBITS(psrc,x,w,dst) #define FASTPUTBITS(src, x, w, pdst) \ asm ("insv %3,%1,%2,%0" \ : "=m" (*(char *)(pdst)) \ : "g" (x), "g" (w), "g" (src)) #define putbits(src, x, w, pdst) FASTPUTBITS(src, x, w, pdst) #endif vax ------------- By the way, if you're using a qdss, when you run your working server, be sure to use the "-bs" option. The man page's mention of poor performance without this option is an understatement! And if you're running Ultrix and compiling on an NFS mounted file system, compile everything twice and compare each object. As of Ultrix 3.0 Digital ***STILL*** hasn't fixed the NFS client data corruption bug that every other vendor fixed years ago.