123 lines · c
1// REQUIRES: powerpc-registered-target2// RUN: %clang_cc1 -O2 -triple powerpc64-unknown-linux-gnu \3// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s4// RUN: %clang_cc1 -O2 -triple powerpc64le-unknown-linux-gnu \5// RUN: -emit-llvm %s -o - -target-cpu pwr8 | FileCheck %s6// RUN: %clang_cc1 -O2 -triple powerpc-unknown-aix \7// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s8// RUN: %clang_cc1 -O2 -triple powerpc64-unknown-aix \9// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s10 11extern double da;12double test_fcfid() {13 // CHECK-LABEL: test_fcfid14 // CHECK-NEXT: entry:15 // CHECK: double @llvm.ppc.fcfid(double %0)16 return __builtin_ppc_fcfid(da);17}18 19double test_xl_fcfid() {20 // CHECK-LABEL: test_xl_fcfid21 // CHECK-NEXT: entry:22 // CHECK: double @llvm.ppc.fcfid(double %0)23 return __fcfid(da);24}25 26double test_fcfud() {27 // CHECK-LABEL: test_fcfud28 // CHECK-NEXT: entry:29 // CHECK: double @llvm.ppc.fcfud(double %0)30 return __builtin_ppc_fcfud(da);31}32 33double test_xl_fcfud() {34 // CHECK-LABEL: test_xl_fcfud35 // CHECK-NEXT: entry:36 // CHECK: double @llvm.ppc.fcfud(double %0)37 return __fcfud(da);38}39 40double test_fctid() {41 // CHECK-LABEL: test_fctid42 // CHECK-NEXT: entry:43 // CHECK: double @llvm.ppc.fctid(double %0)44 return __builtin_ppc_fctid(da);45}46 47double test_xl_fctid() {48 // CHECK-LABEL: test_xl_fctid49 // CHECK-NEXT: entry:50 // CHECK: double @llvm.ppc.fctid(double %0)51 return __fctid(da);52}53 54double test_fctidz() {55 // CHECK-LABEL: test_fctidz56 // CHECK-NEXT: entry:57 // CHECK: double @llvm.ppc.fctidz(double %0)58 return __builtin_ppc_fctidz(da);59}60 61double test_xl_fctidz() {62 // CHECK-LABEL: test_xl_fctidz63 // CHECK-NEXT: entry:64 // CHECK: double @llvm.ppc.fctidz(double %0)65 return __fctidz(da);66}67 68double test_fctiw() {69 // CHECK-LABEL: test_fctiw70 // CHECK-NEXT: entry:71 // CHECK: double @llvm.ppc.fctiw(double %0)72 return __builtin_ppc_fctiw(da);73}74 75double test_xl_fctiw() {76 // CHECK-LABEL: test_xl_fctiw77 // CHECK-NEXT: entry:78 // CHECK: double @llvm.ppc.fctiw(double %0)79 return __fctiw(da);80}81 82double test_fctiwz() {83 // CHECK-LABEL: test_fctiwz84 // CHECK-NEXT: entry:85 // CHECK: double @llvm.ppc.fctiwz(double %0)86 return __builtin_ppc_fctiwz(da);87}88 89double test_xl_fctiwz() {90 // CHECK-LABEL: test_xl_fctiwz91 // CHECK-NEXT: entry:92 // CHECK: double @llvm.ppc.fctiwz(double %0)93 return __fctiwz(da);94}95 96double test_fctudz() {97 // CHECK-LABEL: test_fctudz98 // CHECK-NEXT: entry:99 // CHECK: double @llvm.ppc.fctudz(double %0)100 return __builtin_ppc_fctudz(da);101}102 103double test_xl_fctudz() {104 // CHECK-LABEL: test_xl_fctudz105 // CHECK-NEXT: entry:106 // CHECK: double @llvm.ppc.fctudz(double %0)107 return __fctudz(da);108}109 110double test_fctuwz() {111 // CHECK-LABEL: test_fctuwz112 // CHECK-NEXT: entry:113 // CHECK: double @llvm.ppc.fctuwz(double %0)114 return __builtin_ppc_fctuwz(da);115}116 117double test_xl_fctuwz() {118 // CHECK-LABEL: test_xl_fctuwz119 // CHECK-NEXT: entry:120 // CHECK: double @llvm.ppc.fctuwz(double %0)121 return __fctuwz(da);122}123