blob: 1ee0a69c26af6b6846361754120ee536800d00f9 [file] [log] [blame]
Robert Khasanov2c589bc2014-09-19 10:29:22 +00001// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ffreestanding -emit-llvm -o - %s | FileCheck %s
2
3#include <x86intrin.h>
4
5unsigned char test_addcarry_u32(unsigned char __cf, unsigned int __x,
6 unsigned int __y, unsigned int *__p) {
7// CHECK-LABEL: test_addcarry_u32
8// CHECK: call i8 @llvm.x86.addcarry.u32
9 return _addcarry_u32(__cf, __x, __y, __p);
10}
11
12unsigned char test_addcarry_u64(unsigned char __cf, unsigned long __x,
13 unsigned long __y, unsigned long long *__p) {
14// CHECK-LABEL: test_addcarry_u64
15// CHECK: call i8 @llvm.x86.addcarry.u64
16 return _addcarry_u64(__cf, __x, __y, __p);
17}
18
19unsigned char test_subborrow_u32(unsigned char __cf, unsigned int __x,
20 unsigned int __y, unsigned int *__p) {
21// CHECK-LABEL: test_subborrow_u32
22// CHECK: call i8 @llvm.x86.subborrow.u32
23 return _subborrow_u32(__cf, __x, __y, __p);
24}
25
26unsigned char test_subborrow_u64(unsigned char __cf, unsigned long __x,
27 unsigned long __y, unsigned long long *__p) {
28// CHECK-LABEL: test_subborrow_u64
29// CHECK: call i8 @llvm.x86.subborrow.u64
30 return _subborrow_u64(__cf, __x, __y, __p);
31}