From: wschmidt Date: Fri, 9 Nov 2018 16:35:23 +0000 (+0000) Subject: 2018-11-09 Bill Schmidt X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8d5bfcf77467c05d62ed0ae09dc45eb5c010d145;p=thirdparty%2Fgcc.git 2018-11-09 Bill Schmidt Jinsong Ji * config/rs6000/xmmintrin.h (_mm_cvtss_si32): Fix incorrect constraints by introducing a new temporary. (_mm_cvtss_si64): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@265975 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c70eb6d6207..a130c97fe462 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2018-11-09 Bill Schmidt + Jinsong Ji + + * config/rs6000/xmmintrin.h (_mm_cvtss_si32): Fix incorrect + constraints by introducing a new temporary. + (_mm_cvtss_si64): Likewise. + 2018-11-09 Martin Liska * common.opt: Add -fipa-stack-alignment flag. diff --git a/gcc/config/rs6000/xmmintrin.h b/gcc/config/rs6000/xmmintrin.h index d8e3291b2df2..367f7a9cd8d1 100644 --- a/gcc/config/rs6000/xmmintrin.h +++ b/gcc/config/rs6000/xmmintrin.h @@ -908,13 +908,15 @@ _mm_cvtss_si32 (__m128 __A) __m64 res = 0; #ifdef _ARCH_PWR8 __m128 vtmp; + double dtmp; __asm__( - "xxsldwi %x1,%x2,%x2,3;\n" - "xscvspdp %x1,%x1;\n" - "fctiw %1,%1;\n" - "mfvsrd %0,%x1;\n" + "xxsldwi %x1,%x3,%x3,3;\n" + "xscvspdp %x2,%x1;\n" + "fctiw %2,%2;\n" + "mfvsrd %0,%x2;\n" : "=r" (res), - "=&wi" (vtmp) + "=&wa" (vtmp), + "=f" (dtmp) : "wa" (__A) : ); #else @@ -939,13 +941,15 @@ _mm_cvtss_si64 (__m128 __A) __m64 res = 0; #ifdef _ARCH_PWR8 __m128 vtmp; + double dtmp; __asm__( - "xxsldwi %x1,%x2,%x2,3;\n" - "xscvspdp %x1,%x1;\n" - "fctid %1,%1;\n" - "mfvsrd %0,%x1;\n" + "xxsldwi %x1,%x3,%x3,3;\n" + "xscvspdp %x2,%x1;\n" + "fctid %2,%2;\n" + "mfvsrd %0,%x2;\n" : "=r" (res), - "=&wi" (vtmp) + "=&wa" (vtmp), + "=f" (dtmp) : "wa" (__A) : ); #else