blob: 0d8d6fa03476f1aba60f0385dad33e36415a215a [file] [log] [blame]
Yunzhong Gao333e69d2016-03-29 22:59:20 +00001// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s
Eric Christophere4597272015-10-13 18:40:21 +00002
3#define __MM_MALLOC_H
Robert Khasanov2c589bc2014-09-19 10:29:22 +00004
5#include <x86intrin.h>
6
7unsigned char test_addcarry_u32(unsigned char __cf, unsigned int __x,
8 unsigned int __y, unsigned int *__p) {
9// CHECK-LABEL: test_addcarry_u32
10// CHECK: call i8 @llvm.x86.addcarry.u32
11 return _addcarry_u32(__cf, __x, __y, __p);
12}
13
Robert Khasanovea130422014-09-24 06:45:23 +000014unsigned char test_addcarry_u64(unsigned char __cf, unsigned long long __x,
15 unsigned long long __y,
16 unsigned long long *__p) {
Robert Khasanov2c589bc2014-09-19 10:29:22 +000017// CHECK-LABEL: test_addcarry_u64
18// CHECK: call i8 @llvm.x86.addcarry.u64
19 return _addcarry_u64(__cf, __x, __y, __p);
20}
21
22unsigned char test_subborrow_u32(unsigned char __cf, unsigned int __x,
Robert Khasanovea130422014-09-24 06:45:23 +000023 unsigned int __y, unsigned int *__p) {
Robert Khasanov2c589bc2014-09-19 10:29:22 +000024// CHECK-LABEL: test_subborrow_u32
25// CHECK: call i8 @llvm.x86.subborrow.u32
26 return _subborrow_u32(__cf, __x, __y, __p);
27}
28
Robert Khasanovea130422014-09-24 06:45:23 +000029unsigned char test_subborrow_u64(unsigned char __cf, unsigned long long __x,
30 unsigned long long __y,
31 unsigned long long *__p) {
Robert Khasanov2c589bc2014-09-19 10:29:22 +000032// CHECK-LABEL: test_subborrow_u64
33// CHECK: call i8 @llvm.x86.subborrow.u64
34 return _subborrow_u64(__cf, __x, __y, __p);
35}