From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id EA3D9BB9C for ; Thu, 17 Nov 2005 22:57:31 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAHLvVG3019880 for ; Thu, 17 Nov 2005 22:57:31 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA29338 for ; Thu, 17 Nov 2005 22:57:30 +0100 (MET) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.192]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAHLvUeC019875 for ; Thu, 17 Nov 2005 22:57:30 +0100 Received: by xproxy.gmail.com with SMTP id s15so34097wxc for ; Thu, 17 Nov 2005 13:57:29 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=P9QiY8u7YHrmByg9Q2UFhJTVF3XxiUsErjFennJ9RfaXz5tgpCq3HPm62y2ajF/vlI9NdRoPtBcGquCFiXYcIu9R/X/IX5MeG2T08y3bLLgrXocw4nJrKtkYj+NAF0ITyRZ20MN6hPpsnD6J51FZyR33QawxHXBzKoUXwxRTxTw= Received: by 10.64.179.15 with SMTP id b15mr2637068qbf; Thu, 17 Nov 2005 13:57:29 -0800 (PST) Received: by 10.64.10.5 with HTTP; Thu, 17 Nov 2005 13:57:29 -0800 (PST) Message-ID: Date: Fri, 18 Nov 2005 10:57:29 +1300 From: Jonathan Roewen To: Oliver Bandel Subject: Re: [Caml-list] doing MMX through ocaml Cc: caml-list@inria.fr In-Reply-To: <20051117214745.GA580@first.in-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20051117214745.GA580@first.in-berlin.de> X-Miltered: at nez-perce with ID 437CFCCB.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 437CFCCA.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 bytecode:01 pushes:01 interp:01 ocaml:01 const:01 abstract:01 functions:01 asm:02 asm:02 dump:03 handles:03 mmx:04 mmx:04 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 > ASM...MMX.... will the OS be available for more than one platform? Right now, no. Later, possibly. If can abstract MMX enough, could use cpuid to choose altivec for example on PPC. And this would be done at init time (much like filename.ml handles platform choice automatically at init time). Another question =3D) I've used -dinstr to observe the bytecode instructions that are generated (though obviously not yet optimised as it pushes a value, then pops it back into accumulator straight away). Now, how can I find out what the actual generated instructions are that correspond to those in interp.c? I'm trying to get an idea of the performance of calling single MMX asm instructions from ocaml, rather than create special functions that do a bunch at a time. Like, does CHECK_SIGNALS get interweaved between two ccalls? Like in the following -dinstr dump: const 5 push acc 0 ccall neg, 1 ccall incr, 1 Jonathan