From owner-freebsd-hackers Sat Feb 17 21:47:35 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id VAA26013 for hackers-outgoing; Sat, 17 Feb 1996 21:47:35 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id VAA25939 for ; Sat, 17 Feb 1996 21:46:52 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id QAA28125; Sun, 18 Feb 1996 16:41:52 +1100 Date: Sun, 18 Feb 1996 16:41:52 +1100 From: Bruce Evans Message-Id: <199602180541.QAA28125@godzilla.zeta.org.au> To: freebsd-hackers@freebsd.org, koshy@india.hp.com Subject: Re: Doing a rep movsw Sender: owner-hackers@freebsd.org Precedence: bulk >How can one perform a "rep movsw" in Gcc? I saw inline code to do a "rep insw" asm("rep movsw") :-). >in machine/cpufunc.h --- is there an equivalent inline macro for "movsw" >that I've missed out? No. >I cannot use `bcopy' here because I am trying to access a memory mapped I/O >port which requires word accesses (no 8/32 bit accesses are permitted). There used to be a bcopyw for this. Write it in C. "rep movs" isn't very efficient (it shouldn't be used to implement bcopy except possibly on 386's), and for memory mapped i/o you will probably be waiting for the i/o. Bruce