From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18609 invoked by alias); 8 Dec 2003 16:55:34 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 18602 invoked from network); 8 Dec 2003 16:55:33 -0000 Received: from unknown (HELO mtagate5.de.ibm.com) (195.212.29.154) by sources.redhat.com with SMTP; 8 Dec 2003 16:55:33 -0000 Received: from d12relay01.megacenter.de.ibm.com (d12relay01.megacenter.de.ibm.com [9.149.165.180] (may be forged)) by mtagate5.de.ibm.com (8.12.10/8.12.10) with ESMTP id hB8GtWGs104630; Mon, 8 Dec 2003 16:55:32 GMT Received: from d10ml001.telaviv.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12relay01.megacenter.de.ibm.com (8.12.9/NCO/VER6.6) with ESMTP id hB8GtVgT140396; Mon, 8 Dec 2003 17:55:31 +0100 Subject: Re: more SIMD operations To: Mads =?ISO-8859-1?Q?Lindstr=F8m?= Cc: gcc@gcc.gnu.org Message-ID: From: Dorit Naishlos Date: Mon, 08 Dec 2003 16:56:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-SW-Source: 2003-12/txt/msg00525.txt.bz2 > I am currently developing a background subtraction > program and I am looking at SIMD instructions to speed > it up. I would like to do this without the use of > assempler. I have therefore been looking at GCC's > support of such operations and found > http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html. Another form of support for this kind of operations is the builtin functions, as in - http://gcc.gnu.org/onlinedocs/gcc/PowerPC-AltiVec-Built-in-Functions.html, which might or might not be relevant for you depending on your target machine. > However GCC seems only to support +, -, *, /, and > unary minus. Are there any plans to support more > operators? I am especially thinking about saturated > versions of +, -, *, /, and absdiff. Yes. As part of the autovectorization project - http://gcc.gnu.org/projects/tree-ssa/vectorization.html, we will need to add support for additional operators. We still need to decide what form this support will take (generic builtin functions maybe), and to decide which set of operations we are going to support. Saturated operations are strong candidates. Saturation in general is something we plan to address (as you can see on the webpage). dorit