]> granicus.if.org Git - clang/commitdiff
[PPC64LE] Run some existing Altivec tests on powerpc64le as well
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 13 Jun 2014 18:30:06 +0000 (18:30 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 13 Jun 2014 18:30:06 +0000 (18:30 +0000)
There are several Altivec tests that formerly ran only on big-endian
targets (and in some cases only on 32-bit targets).  It is useful to
verify these on little-endian targets as well.

While testing these, I discovered a typo in <altivec.h>.  This is also
fixed by this patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210928 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/altivec.h
test/Driver/altivec-asm.S
test/Parser/altivec-csk-bool.c
test/Parser/altivec.c
test/Parser/cxx-altivec.cpp

index bee9e2de8a51cf63e91c28848e37e7f81f13cfa0..7a4a774f7b0953901285669f798cc3e98292b019 100644 (file)
@@ -4194,7 +4194,7 @@ static vector bool short __ATTRS_o_ai
 vec_pack(vector bool int __a, vector bool int __b)
 {
 #ifdef __LITTLE_ENDIAN__
-  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
+  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
 #else
index 4143d520f4a8b0dc552685ffb5f06312e1d3a318..3f78b58e642443dc920427e8f2776e47d02900d2 100644 (file)
@@ -1,3 +1,4 @@
 // RUN: %clang -target powerpc64-linux-gnu -maltivec -S %s -o - | FileCheck %s
+// RUN: %clang -target powerpc64le-linux-gnu -maltivec -S %s -o - | FileCheck %s
 // Verify that assembling an empty file does not auto-include altivec.h.
 // CHECK-NOT: static vector
index 88d78c88b2bdf4b3fa9382db9b1ec6be6f209c43..c1c253958c6685cfaf2e379eaaec4a4f12bac570 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu -faltivec -fsyntax-only %s
+// RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu -faltivec -fsyntax-only %s
 
 // PR16456: Verify that bool, true, false are treated as context-sensitive
 // keywords (and therefore available for use as identifiers) when in
index 436a3afd2d0765342b1664c1d99197e11ea9ab1d..0b8147a3b7b0fb3d7f274e21058027c44b260fbe 100644 (file)
@@ -1,4 +1,6 @@
 // RUN: %clang_cc1 -triple=powerpc-apple-darwin8 -faltivec -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple=powerpc64-unknown-linux-gnu -faltivec -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple=powerpc64le-unknown-linux-gnu -faltivec -fsyntax-only -verify %s
 
 __vector char vv_c;
 __vector signed char vv_sc;
index 27cab2c9c411410b29175c579aab617c561b30a9..565decc601f8157d973acf735fec689957aaf110 100644 (file)
@@ -1,4 +1,6 @@
 // RUN: %clang_cc1 -triple=powerpc-apple-darwin8 -faltivec -fsyntax-only -verify -std=c++11 %s
+// RUN: %clang_cc1 -triple=powerpc64-unknown-linux-gnu -faltivec -fsyntax-only -verify -std=c++11 %s
+// RUN: %clang_cc1 -triple=powerpc64le-unknown-linux-gnu -faltivec -fsyntax-only -verify -std=c++11 %s
 
 __vector char vv_c;
 __vector signed char vv_sc;