// RUN: %clang_cc1 %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +raoint \
// RUN: -emit-llvm -o - -Wall -Werror -pedantic -Wno-gnu-statement-expression | FileCheck %s --check-prefixes=CHECK,X64
// RUN: %clang_cc1 %s -ffreestanding -triple=i686-unknown-unknown -target-feature +raoint \
// RUN: -emit-llvm -o - -Wall -Werror -pedantic -Wno-gnu-statement-expression | FileCheck %s --check-prefixes=CHECK
#include <stddef.h>
#include <x86gprintrin.h>
void test_aadd_i32(int *__A, int __B) {
// CHECK-LABEL: @test_aadd_i32(
// CHECK: call void @llvm.x86.aadd32(ptr %{{.*}}, i32 %{{.*}})
_aadd_i32(__A, __B);
}
void test_aand_i32(int *__A, int __B) {
// CHECK-LABEL: @test_aand_i32(
// CHECK: call void @llvm.x86.aand32(ptr %{{.*}}, i32 %{{.*}})
_aand_i32(__A, __B);
}
void test_aor_i32(int *__A, int __B) {
// CHECK-LABEL: @test_aor_i32(
// CHECK: call void @llvm.x86.aor32(ptr %{{.*}}, i32 %{{.*}})
_aor_i32(__A, __B);
}
void test_axor_i32(int *__A, int __B) {
// CHECK-LABEL: @test_axor_i32(
// CHECK: call void @llvm.x86.axor32(ptr %{{.*}}, i32 %{{.*}})
_axor_i32(__A, __B);
}
#ifdef __x86_64__
void test_aadd_i64(long long *__A, long long __B) {
// X64-LABEL: @test_aadd_i64(
// X64: call void @llvm.x86.aadd64(ptr %{{.*}}, i64 %{{.*}})
_aadd_i64(__A, __B);
}
void test_aand_i64(long long *__A, long long __B) {
// X64-LABEL: @test_aand_i64(
// X64: call void @llvm.x86.aand64(ptr %{{.*}}, i64 %{{.*}})
_aand_i64(__A, __B);
}
void test_aor_i64(long long *__A, long long __B) {
// X64-LABEL: @test_aor_i64(
// X64: call void @llvm.x86.aor64(ptr %{{.*}}, i64 %{{.*}})
_aor_i64(__A, __B);
}
void test_axor_i64(long long *__A, long long __B) {
// X64-LABEL: @test_axor_i64(
// X64: call void @llvm.x86.axor64(ptr %{{.*}}, i64 %{{.*}})
_axor_i64(__A, __B);
}
#endif