1*67e74705SXin Li // REQUIRES: powerpc-registered-target 2*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 3*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 %s 2>&1 | FileCheck %s \ 4*67e74705SXin Li // RUN: -check-prefix=CHECK-DEFAULT 5*67e74705SXin Li 6*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 7*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mno-vsx -mpower8-vector %s 2>&1 | \ 8*67e74705SXin Li // RUN: FileCheck %s -check-prefix=CHECK-NVSX-P8V 9*67e74705SXin Li 10*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 11*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mno-vsx -mdirect-move %s 2>&1 | FileCheck %s \ 12*67e74705SXin Li // RUN: -check-prefix=CHECK-NVSX-DMV 13*67e74705SXin Li 14*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 15*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mno-vsx -mpower8-vector -mvsx %s 2>&1 | \ 16*67e74705SXin Li // RUN: FileCheck %s -check-prefix=CHECK-DEFAULT 17*67e74705SXin Li 18*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 19*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mno-vsx -mdirect-move -mvsx %s 2>&1 | \ 20*67e74705SXin Li // RUN: FileCheck %s -check-prefix=CHECK-DEFAULT 21*67e74705SXin Li 22*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 23*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mpower8-vector -mno-vsx %s 2>&1 | \ 24*67e74705SXin Li // RUN: FileCheck %s -check-prefix=CHECK-NVSX-P8V 25*67e74705SXin Li 26*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 27*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mdirect-move -mno-vsx %s 2>&1 | FileCheck %s \ 28*67e74705SXin Li // RUN: -check-prefix=CHECK-NVSX-DMV 29*67e74705SXin Li 30*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 31*67e74705SXin Li // RUN: -mcpu=power8 -std=c++11 -mno-vsx %s 2>&1 | FileCheck %s \ 32*67e74705SXin Li // RUN: -check-prefix=CHECK-NVSX 33*67e74705SXin Li 34*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 35*67e74705SXin Li // RUN: -mcpu=power6 -std=c++11 %s 2>&1 | FileCheck %s -check-prefix=CHECK-NVSX 36*67e74705SXin Li 37*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 38*67e74705SXin Li // RUN: -mcpu=power6 -std=c++11 -mpower8-vector %s 2>&1 | FileCheck %s \ 39*67e74705SXin Li // RUN: -check-prefix=CHECK-DEFAULT 40*67e74705SXin Li 41*67e74705SXin Li // RUN: not %clang -target powerpc64le-unknown-unknown -fsyntax-only \ 42*67e74705SXin Li // RUN: -mcpu=power6 -std=c++11 -mdirect-move %s 2>&1 | FileCheck %s \ 43*67e74705SXin Li // RUN: -check-prefix=CHECK-VSX 44*67e74705SXin Li 45*67e74705SXin Li #ifdef __VSX__ 46*67e74705SXin Li static_assert(false, "VSX enabled"); 47*67e74705SXin Li #endif 48*67e74705SXin Li 49*67e74705SXin Li #ifdef __POWER8_VECTOR__ 50*67e74705SXin Li static_assert(false, "P8V enabled"); 51*67e74705SXin Li #endif 52*67e74705SXin Li 53*67e74705SXin Li #if !defined(__VSX__) && !defined(__POWER8_VECTOR__) 54*67e74705SXin Li static_assert(false, "Neither enabled"); 55*67e74705SXin Li #endif 56*67e74705SXin Li 57*67e74705SXin Li // CHECK-DEFAULT: VSX enabled 58*67e74705SXin Li // CHECK-DEFAULT: P8V enabled 59*67e74705SXin Li // CHECK-NVSX-P8V: error: option '-mpower8-vector' cannot be specified with '-mno-vsx' 60*67e74705SXin Li // CHECK-NVSX-DMV: error: option '-mdirect-move' cannot be specified with '-mno-vsx' 61*67e74705SXin Li // CHECK-NVSX: Neither enabled 62*67e74705SXin Li // CHECK-VSX: VSX enabled 63