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