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); 103ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK: @llvm.clear_cache(i8* getelementptr inbounds ({{.*}}, i8* getelementptr inbounds (i8, i8* getelementptr inbounds ({{.*}} 32)) 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return 0; 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 13