1176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ffreestanding -target-feature +adx -emit-llvm -o - %s | FileCheck %s 2176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 3176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#include <x86intrin.h> 4176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 5176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesunsigned char test_addcarryx_u32(unsigned char __cf, unsigned int __x, 6176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines unsigned int __y, unsigned int *__p) { 7176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// CHECK-LABEL: test_addcarryx_u32 8176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// CHECK: call i8 @llvm.x86.addcarryx.u32 9176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines return _addcarryx_u32(__cf, __x, __y, __p); 10176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines} 11176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 12176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesunsigned char test_addcarryx_u64(unsigned char __cf, unsigned long long __x, 13176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines unsigned long long __y, 14176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines unsigned long long *__p) { 15176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// CHECK-LABEL: test_addcarryx_u64 16176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// CHECK: call i8 @llvm.x86.addcarryx.u64 17176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines return _addcarryx_u64(__cf, __x, __y, __p); 18176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines} 19