@@ -1,5 +1,6 @@
/* { dg-do run { target { powerpc64*-*-* && p8vector_hw } } } */
/* { dg-options "-mfloat128 -mvsx" } */
+/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
void abort ();
@@ -1,5 +1,6 @@
/* { dg-do run { target { powerpc64*-*-* && p8vector_hw } } } */
/* { dg-options "-mfloat128 -mvsx" } */
+/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
void abort ();
@@ -1,5 +1,6 @@
/* { dg-do run { target { powerpc64le-*-* } } } */
/* { dg-options "-Os -fno-forward-propagate -fschedule-insns -fno-tree-ter -Wno-psabi" } */
+/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
/* { dg-require-effective-target p8vector_hw } */
typedef unsigned char __attribute__ ((__vector_size__ (64))) v512u8;
@@ -2864,11 +2864,9 @@ proc check_p8vector_hw_available { } {
check_runtime_nocache p8vector_hw_available {
int main()
{
- #ifdef __MACH__
- asm volatile ("xxlorc vs0,vs0,vs0");
- #else
- asm volatile ("xxlorc 0,0,0");
- #endif
+ vector long long v1 = {0x1, 0x2};
+ vector long long v2;
+ asm ("xxlorc %0,%1,%1" : "=wa" (v2) : "wa" (v1));
return 0;
}
} $options
@@ -3165,11 +3163,9 @@ proc check_vsx_hw_available { } {
check_runtime_nocache vsx_hw_available {
int main()
{
- #ifdef __MACH__
- asm volatile ("xxlor vs0,vs0,vs0");
- #else
- asm volatile ("xxlor 0,0,0");
- #endif
+ vector int v1 = {0, 0, 0, 0};
+ vector int v2;
+ asm ("xxlor %0,%1,%1" : "=wa" (v2) : "wa" (v1));
return 0;
}
} $options
@@ -3198,11 +3194,9 @@ proc check_vmx_hw_available { } {
check_runtime_nocache vmx_hw_available {
int main()
{
- #ifdef __MACH__
- asm volatile ("vor v0,v0,v0");
- #else
- asm volatile ("vor 0,0,0");
- #endif
+ vector int v1 = {0, 0, 0, 0};
+ vector int v2;
+ asm ("vor %0,%1,%1" : "=v" (v2) : "v" (v1));
return 0;
}
} $options