From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6448 invoked by alias); 23 Oct 2002 17:06:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 6433 invoked by uid 71); 23 Oct 2002 17:06:03 -0000 Date: Wed, 23 Oct 2002 10:06:00 -0000 Message-ID: <20021023170603.6432.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Andrew Pinski Subject: Re: target/8322: SSE2 intrinsics broken? Reply-To: Andrew Pinski X-SW-Source: 2002-10/txt/msg00887.txt.bz2 List-Id: The following reply was made to PR target/8322; it has been noted by GNATS. From: Andrew Pinski To: fdumas@ina.fr Cc: gcc-gnats@gcc.gnu.org Subject: Re: target/8322: SSE2 intrinsics broken? Date: Wed, 23 Oct 2002 10:02:26 -0700 Looks like some have been fixed but most still have problems, gcc version 3.3 20021023 (experimental) (update 1pm pst time): In file included from testse2.cc:2: /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_loadh_pi(vector float, vector int*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:653: error: cannot convert `vector int*' to `vector long long int*' for argument `2' to `vector float __builtin_ia32_loadhps(vector float, vector long long int*)' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `void _mm_storeh_pi(vector int*, vector float)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:660: error: cannot convert `vector int*' to `vector long long int*' for argument `1' to `void __builtin_ia32_storehps(vector long long int*, vector float)' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_loadl_pi(vector float, vector int*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:682: error: cannot convert `vector int*' to `vector long long int*' for argument `2' to `vector float __builtin_ia32_loadlps(vector float, vector long long int*)' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `void _mm_storel_pi(vector int*, vector float)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:689: error: cannot convert `vector int*' to `vector long long int*' for argument `1' to `void __builtin_ia32_storelps(vector long long int*, vector float)' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_load_ss(const float*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:767: error: invalid conversion from `const float*' to `float*' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_load1_ps(const float*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:774: error: invalid conversion from `const float*' to `float*' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_load_ps(const float*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:788: error: invalid conversion from `const float*' to `float*' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_loadu_ps(const float*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:795: error: invalid conversion from `const float*' to `float*' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `vector float _mm_loadr_ps(const float*)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:802: error: invalid conversion from `const float*' to `float*' /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h: In function `void _mm_stream_pi(vector int*, vector int)': /home/gates/pinskia/linux/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/ xmmintrin.h:1040: error: cannot convert `vector int*' to `long long unsigned int*' for argument `1' to `void __builtin_ia32_movntq(long long unsigned int*, long long unsigned int)' On Wednesday, Oct 23, 2002, at 09:51 US/Pacific, fdumas@ina.fr wrote: > In file included from main.cpp:1: > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector float _mm_loadh_pi(vector float, vector int*)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:653: > error: cannot > convert `vector int*' to `vector long long int*' for argument `2' > to `vector > float __builtin_ia32_loadhps(vector float, vector long long int*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_storeh_pi(vector int*, vector float)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:660: > error: cannot > convert `vector int*' to `vector long long int*' for argument `1' > to `void > __builtin_ia32_storehps(vector long long int*, vector float)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector float _mm_loadl_pi(vector float, vector int*)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:682: > error: cannot > convert `vector int*' to `vector long long int*' for argument `2' > to `vector > float __builtin_ia32_loadlps(vector float, vector long long int*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_storel_pi(vector int*, vector float)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:689: > error: cannot > convert `vector int*' to `vector long long int*' for argument `1' > to `void > __builtin_ia32_storelps(vector long long int*, vector float)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_stream_pi(vector int*, vector int)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1040: > error: cannot > convert `vector int*' to `long long unsigned int*' for argument `1' > to `void > __builtin_ia32_movntq(long long unsigned int*, long long unsigned > int)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector long long int _mm_load_si128(vector long long int*)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1589: > error: cannot > convert `vector long long int*' to `char*' for argument `1' to > `vector > signed char __builtin_ia32_loaddqa(char*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector long long int _mm_loadu_si128(vector long long int*)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1595: > error: cannot > convert `vector long long int*' to `char*' for argument `1' to > `vector > signed char __builtin_ia32_loaddqu(char*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_store_si128(vector long long int*, vector long long int)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1607: > error: cannot > convert `vector long long int*' to `char*' for argument `1' to `void > __builtin_ia32_storedqa(char*, vector signed char)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_storeu_si128(vector long long int*, vector long long int)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1613: > error: cannot > convert `vector long long int*' to `char*' for argument `1' to `void > __builtin_ia32_storedqu(char*, vector signed char)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector long long int _mm_set1_epi32(int)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1723: > error: cannot > convert `int*' to `char*' for argument `1' to `vector int > __builtin_ia32_loadd(char*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector long long int _mm_set1_epi16(short int)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1731: > error: cannot > convert `int*' to `char*' for argument `1' to `vector int > __builtin_ia32_loadd(char*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > vector long long int _mm_set1_epi8(char)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:1740: > error: cannot > convert `int*' to `char*' for argument `1' to `vector int > __builtin_ia32_loadd(char*)' > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h: In > function ` > void _mm_stream_pd(vector double*, vector double)': > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include/xmmintrin.h:2405: > error: cannot > convert `vector double*' to `double*' for argument `1' to `void > __builtin_ia32_movntpd(double*, vector double)' Thanks, Andrew Pinski