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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 9BDCBBB9C for ; Fri, 18 Nov 2005 04:01:49 +0100 (CET) Received: from conn.mc.mpls.visi.com (conn.mc.mpls.visi.com [208.42.156.2]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jAI31mEa011414 for ; Fri, 18 Nov 2005 04:01:49 +0100 Received: from [192.168.42.2] (bhurt.dsl.visi.com [208.42.141.66]) by conn.mc.mpls.visi.com (Postfix) with ESMTP id 5C2038E97; Thu, 17 Nov 2005 21:01:48 -0600 (CST) Date: Thu, 17 Nov 2005 21:06:33 -0600 (CST) From: Brian Hurt X-X-Sender: bhurt@localhost.localdomain To: Erik de Castro Lopo Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] doing MMX through ocaml In-Reply-To: <20051118104926.3d9ffdc0.ocaml-erikd@mega-nerd.com> Message-ID: References: <20051118104926.3d9ffdc0.ocaml-erikd@mega-nerd.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Miltered: at concorde with ID 437D441C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 integers:01 val:01 val:01 fft:01 wrote:01 wrote:01 macros:01 implemented:02 floats:02 floats:02 latter:03 brian:04 brian: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=none autolearn=disabled version=3.0.3 On Fri, 18 Nov 2005, Erik de Castro Lopo wrote: > Jonathan Roewen wrote: > >> And since MMX deals solely with integers, the Val_long/Long_val macros >> could be implemented by a simple extra MMX instruction or two, right? > > All Pentium III and later processors have the SSE instruction > set which is like MMX, but for 32 bit floats. Pentium IV and > latter also has SSE2 which is 64 bit floats. > > Personally, I find SSE and SSe2 far more interesting than MMX. I'm pretty sure you need at least SSE for MPEG. The core function is an 8x8 2D FFT. You *might* be able to do in fixed point (and thus in MMX), but the SSE version would be a lot easier to get right. A run time code generator would be interesting... Brian