Compiler projects using llvm
// RUN: %clang_cc1 -no-opaque-pointers %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +cldemote -emit-llvm -o - -Wall -Werror | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers %s -ffreestanding -triple=i386-unknown-unknown -target-feature +cldemote -emit-llvm -o - -Wall -Werror | FileCheck %s

#include <immintrin.h>

void test_cldemote(const void *p) {
  //CHECK-LABEL: @test_cldemote
  //CHECK: call void @llvm.x86.cldemote(i8* %{{.*}})
  _cldemote(p);
  //CHECK: call void @llvm.x86.cldemote(i8* %{{.*}})
  _mm_cldemote(p);
}