1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hineschar buffer[32] = "This is a largely unused buffer";
4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// __builtin___clear_cache always maps to @llvm.clear_cache, but what
6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// each back-end produces is different, and this is tested in LLVM
7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint main() {
9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  __builtin___clear_cache(buffer, buffer+32);
10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: @llvm.clear_cache(i8* getelementptr {{.*}}, i8* getelementptr {{.*}} (i8* getelementptr {{.*}} 32))
11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return 0;
12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
13