15b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc970\");}" > %t.c 25b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 35b8e5604Szhijian lin 45b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc-cell-be\");}" > %t.c 55b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 65b8e5604Szhijian lin 75b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppca2\");}" > %t.c 85b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 95b8e5604Szhijian lin 105b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc405\");}" > %t.c 115b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 125b8e5604Szhijian lin 135b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc440\");}" > %t.c 145b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 155b8e5604Szhijian lin 165b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc464\");}" > %t.c 175b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 185b8e5604Szhijian lin 195b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"ppc476\");}" > %t.c 205b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 215b8e5604Szhijian lin 225b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power4\");}" > %t.c 235b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 245b8e5604Szhijian lin 255b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power5\");}" > %t.c 265b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 275b8e5604Szhijian lin 285b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power5+\");}" > %t.c 295b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 305b8e5604Szhijian lin 315b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power6\");}" > %t.c 325b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 335b8e5604Szhijian lin 345b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power6x\");}" > %t.c 355b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s 365b8e5604Szhijian lin 375b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power7\");}" > %t.c 385b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=32768 \ 395b8e5604Szhijian lin // RUN: --check-prefix=CHECKOP 405b8e5604Szhijian lin 41*25482b35SChen Zheng // RUN: echo "int main() { return __builtin_cpu_is(\"pwr7\");}" > %t.c 42*25482b35SChen Zheng // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=32768 \ 43*25482b35SChen Zheng // RUN: --check-prefix=CHECKOP 44*25482b35SChen Zheng 455b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power8\");}" > %t.c 465b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=65536 \ 475b8e5604Szhijian lin // RUN: --check-prefix=CHECKOP 485b8e5604Szhijian lin 495b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power9\");}" > %t.c 505b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=131072\ 515b8e5604Szhijian lin // RUN: --check-prefix=CHECKOP 525b8e5604Szhijian lin 535b8e5604Szhijian lin // RUN: echo "int main() { return __builtin_cpu_is(\"power10\");}" > %t.c 545b8e5604Szhijian lin // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=262144 \ 555b8e5604Szhijian lin // RUN: --check-prefix=CHECKOP 565b8e5604Szhijian lin 57*25482b35SChen Zheng // RUN: echo "int main() { return __builtin_cpu_is(\"pwr10\");}" > %t.c 58*25482b35SChen Zheng // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=262144 \ 59*25482b35SChen Zheng // RUN: --check-prefix=CHECKOP 60*25482b35SChen Zheng 6163b382bbSazhan92 // RUN: echo "int main() { return __builtin_cpu_is(\"power11\");}" > %t.c 6263b382bbSazhan92 // RUN: %clang_cc1 -triple powerpc-ibm-aix7.2.0.0 -emit-llvm -o - %t.c | FileCheck %s -DVALUE=524288 \ 6363b382bbSazhan92 // RUN: --check-prefix=CHECKOP 6463b382bbSazhan92 655b8e5604Szhijian lin // CHECK: define i32 @main() #0 { 665b8e5604Szhijian lin // CHECK-NEXT: entry: 675b8e5604Szhijian lin // CHECK-NEXT: %retval = alloca i32, align 4 685b8e5604Szhijian lin // CHECK-NEXT: store i32 0, ptr %retval, align 4 695b8e5604Szhijian lin // CHECK-NEXT: ret i32 0 705b8e5604Szhijian lin // CHECK-NEXT: } 715b8e5604Szhijian lin 72d4a25976Szhijian lin // CHECKOP: @_system_configuration = external global { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i64, i32, i8, i8, i8, i8, i32, i32, i16, i16, [3 x i32], i32 } 735b8e5604Szhijian lin // CHECKOP: define i32 @main() #0 { 745b8e5604Szhijian lin // CHECKOP-NEXT: entry: 755b8e5604Szhijian lin // CHECKOP-NEXT: %retval = alloca i32, align 4 765b8e5604Szhijian lin // CHECKOP-NEXT: store i32 0, ptr %retval, align 4 77d4a25976Szhijian lin // CHECKOP-NEXT: %0 = load i32, ptr getelementptr inbounds ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i64, i32, i8, i8, i8, i8, i32, i32, i16, i16, [3 x i32], i32 }, ptr @_system_configuration, i32 0, i32 1), align 4 785b8e5604Szhijian lin // CHECKOP-NEXT: %1 = icmp eq i32 %0, [[VALUE]] 795b8e5604Szhijian lin // CHECKOP-NEXT: %conv = zext i1 %1 to i32 805b8e5604Szhijian lin // CHECKOP-NEXT: ret i32 %conv 815b8e5604Szhijian lin // CHECKOP-NEXT: } 825b8e5604Szhijian lin 835b8e5604Szhijian lin 84