|  | // 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 |