teak-llvm/clang/test/CodeGen/builtins-ppc-cache.c
Ahsan Saghir 3962d6da17 Add __builtin_dcbf support for PPC
Summary:
This patch adds support for __builtin_dcbf for PPC.

__builtin_dcbf copies the contents of a modified block from the data cache
to main memory and flushes the copy from the data cache.

Differential revision: https://reviews.llvm.org/D59843

llvm-svn: 359517
2019-04-29 23:25:33 +00:00

48 lines
915 B
C

// RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu -emit-llvm \
// RUN: -o - %s | FileCheck %s
int A;
int B[5];
float C;
float D[5];
double E;
double F[5];
void func(int a, int b[], float c, float d[], double e, double f[]) {
__builtin_dcbf (&a);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&A);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&b[2]);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&B[2]);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&c);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&C);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&d[2]);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&D[2]);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&e);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&E);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&f[0]);
// CHECK: @llvm.ppc.dcbf(i8*
__builtin_dcbf (&F[0]);
// CHECK: @llvm.ppc.dcbf(i8*
}