From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23002 invoked by alias); 24 Mar 2011 11:42:07 -0000 Received: (qmail 22989 invoked by uid 22791); 24 Mar 2011 11:42:06 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-fx0-f47.google.com (HELO mail-fx0-f47.google.com) (209.85.161.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Mar 2011 11:41:58 +0000 Received: by fxm19 with SMTP id 19so8531669fxm.20 for ; Thu, 24 Mar 2011 04:41:57 -0700 (PDT) Received: by 10.223.6.11 with SMTP id 11mr6224442fax.99.1300966917583; Thu, 24 Mar 2011 04:41:57 -0700 (PDT) Received: from student94 ([141.30.128.185]) by mx.google.com with ESMTPS id c11sm539648fav.2.2011.03.24.04.41.56 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 24 Mar 2011 04:41:56 -0700 (PDT) Date: Thu, 24 Mar 2011 11:55:00 -0000 From: Simon Chopin To: gcc@gcc.gnu.org Subject: Complex vectorization Message-ID: <20110324114154.GB28413@student94> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="St7VIuEGZ6dlpu13" Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2011-03/txt/msg00372.txt.bz2 --St7VIuEGZ6dlpu13 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 912 Hi, I'm currently working on trying to implement a way to use the SIMD instructions of the SSEx family when computing a vector of complex numbers. I have to say that I have never worked on compilation techniques before, and that I only have little understanding of the vectorization problems. I've spent a fait amount of time reading documentation and code, and I came to the conclusion that, at least for the multiplication and division of complex numbers, I had to implement them as functions in the libgcc as their scalar counterpart, __mul*c3 and __div*c3. I face a couple of issues here : what are the C types corresponding to the vector types, assuming they exist ? And, also important : I understand that the processor has to be in a certain state to use the SIMD instructions. Will it stay that way when calling a function, thus changing partially the environment ? Have a nice day, Simon Chopin --St7VIuEGZ6dlpu13 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline Content-length: 836 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJNiy4CAAoJEIx5tIa2UV204FkP/0DxBAKhkQCyevbc+QAdcyyu wF3cesxx3jKRhlUuX3hwCur7J+axvJdcVdHble7P8pXwDdhnCAu7fhHKciJojgzm aoeDw7zmYobt2Oa4MVwr/o8oOt9Rw8r1QU07xbyq3m8Gjxb8EmBfJypno0oOuR6o MR+1PHOP3nsP54fgrbvAX4JUXxe8RB+UxOZ1GT8pGqQw7javCWBJuL16kpyF2yFd m5dF2loSbsBjXFFw5BJ7ryvrSuB4pT7M4/Z3PJTAElp7t1BE3piJT1YnqSjIHSSb 5jHy2rgNCtmhYd3ddfV9OCmji91aBv7/4TCaK5gTLVOEGq3zumbkjjOnkc6oqw1N ay5C8dn2QICE7LPFsx75d/xW5Lg352UC2ZjKG9cbaUkdxiUz3IhTjcE02dMDcqY3 QIh28LPvfqFDbLXQ7MPRkVx5Ei3q998uIFJbfYtlEHQwAaCxsW85EbohHlBXjeUc Ggw1tFwLM7RhXtetA3kZmf9a9X4InzOeXE/NeDeXmix3/IdN9g9vwn9s9T1rBCEv dfIC3peHdnWWs/A04fIS4GLxH2MyCjTbvccIy5JgmL+ZqNYxiavvjEZquhV1RAQ+ I+f/5iZlaqoDUxzMyUdJqs771wUCA2bP0mjHkrOCR8K4tlPNVthJ5NzM7l3oAoVH cGPYvLGv4+azmi1k6An9 =d5VP -----END PGP SIGNATURE----- --St7VIuEGZ6dlpu13--