https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63335
Bug ID: 63335
Summary: GCC:failures for vector double on calls to bif
vec_[all|any]_[nge|nle]
Product: gcc
Version: 4.9.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libgcc
Assignee: unassigned at gcc dot gnu.org
Reporter: lei at ca dot ibm.com
Calls to the following vector bifs fails with gcc with type vector double.
Passes for vector float.
The same failures are on both BE and LE machines.
vec_all_nge
vec_any_nge
vec_all_nle
vec_any_nle
-
RELEASE LEVEL INFO:
Fails on both gcc 4.8.2 and 4.9.2
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/powerpc64le-linux-gnu/4.8/lto-wrapper
Target: powerpc64le-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--disable-libsanitizer --disable-libquadmath --enable-plugin --with-system-zlib
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-ppc64el/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-ppc64el
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-ppc64el
--with-arch-directory=ppc64el --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-secureplt --with-cpu=power7 --with-tune=power8
--disable-multilib --enable-multiarch --disable-werror --with-long-double-128
--enable-checking=release --build=powerpc64le-linux-gnu
--host=powerpc64le-linux-gnu --target=powerpc64le-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
$ /opt/at8.0/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/opt/at8.0/bin/gcc
COLLECT_LTO_WRAPPER=/opt/at8.0/libexec/gcc/powerpc64le-linux-gnu/4.9.2/lto-wrapper
Target: powerpc64le-linux-gnu
Configured with:
/home/tuliom/at8.0-0/at8.0-0.ubuntu-14_ppc64le_ppc64le/sources/gcc/configure
--build=powerpc64le-linux-gnu --host=powerpc64le-linux-gnu
--target=powerpc64le-linux-gnu --with-cpu=default64 --prefix=/opt/at8.0
--with-long-double-128 --enable-secureplt --disable-multilib
--enable-threads=posix --enable-languages=c,c++,fortran,go
--enable-__cxa_atexit --enable-shared --enable-checking=release --enable-lto
--enable-gnu-indirect-function --enable-initfini-array
--with-gmp-include=/opt/at8.0/include --with-gmp-lib=/opt/at8.0/lib64
--with-mpfr-include=/opt/at8.0/include --with-mpfr-lib=/opt/at8.0/lib64
--with-mpc-include=/opt/at8.0/include --with-mpc-lib=/opt/at8.0/lib64
--without-ppl --without-cloog --without-libelf
--with-host-libstdcxx='-L/opt/at8.0/lib64 -lstdc++ -lsupc++ -lgmp -lgmpxx -lm'
--with-cpu=power7 --with-tune=power8
Thread model: posix
gcc version 4.9.2 20140812 (Advance-Toolchain-at8.0) [ibm/gcc-4_9-branch,
revision: 213889 merged from gcc-4_9-branch, revision 213872] (GCC)
-
STEPS TO REPRODUCE: (Reduce the code in the README.ksh file as much as
possible)
$ gcc -m64 -fabi-version=4 -mcpu=power8 a.c
$ a.out
-
ACTUAL OUTPUT:
99.00 99.00
Actual: 1 Expected: 0
return code: 1
-
EXPECTED OUTPUT:
return code: 0
-
TESTCASE SOURCE:
$ cat a.c
#include
#include
#ifdef _TEST_FLOAT
vector float vec = (vector float ) {99.0, 99.0, 99.0, 99.0};
#else
vector double vec = (vector double) {99.0, 99.0};
#endif
int main() {
int actual = -1;
actual = vec_all_nge(vec, vec);
if ( actual != 0) {
printf("Actual: %d Expected: 0\n", actual);
return 1;
}
return 0;
}