58 lines
1.8 KiB
C
58 lines
1.8 KiB
C
// 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
|