summaryrefslogtreecommitdiffstats
path: root/clang/docs
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-06-18 20:40:40 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-06-18 20:40:40 +0000
commit15343990596489d6b1774bb22752c24daf319f9f (patch)
tree6372327992717d21463372e4bc194b2d865a96b8 /clang/docs
parentcc0273d7845bcaab8ce9673ee2219fdd4f0c52c8 (diff)
downloadbcm5719-llvm-15343990596489d6b1774bb22752c24daf319f9f.tar.gz
bcm5719-llvm-15343990596489d6b1774bb22752c24daf319f9f.zip
[multiprecision-builtins] Added missing builtin __builtin_{add,sub}cb for {add,sub} with carry for bytes.
I have had several people ask me about why this builtin was not available in clang (since it seems like a logical conclusion). This patch implements said builtins. Relevant tests are included as well. I also updated the Clang language extension reference. rdar://14192664. llvm-svn: 184227
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/LanguageExtensions.rst2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst
index d7e88dfda9a..af9b61a704e 100644
--- a/clang/docs/LanguageExtensions.rst
+++ b/clang/docs/LanguageExtensions.rst
@@ -1555,10 +1555,12 @@ The complete list of builtins are:
.. code-block:: c
+ unsigned char __builtin_addcb (unsigned char x, unsigned char y, unsigned char carryin, unsigned char *carryout);
unsigned short __builtin_addcs (unsigned short x, unsigned short y, unsigned short carryin, unsigned short *carryout);
unsigned __builtin_addc (unsigned x, unsigned y, unsigned carryin, unsigned *carryout);
unsigned long __builtin_addcl (unsigned long x, unsigned long y, unsigned long carryin, unsigned long *carryout);
unsigned long long __builtin_addcll(unsigned long long x, unsigned long long y, unsigned long long carryin, unsigned long long *carryout);
+ unsigned char __builtin_subcb (unsigned char x, unsigned char y, unsigned char carryin, unsigned char *carryout);
unsigned short __builtin_subcs (unsigned short x, unsigned short y, unsigned short carryin, unsigned short *carryout);
unsigned __builtin_subc (unsigned x, unsigned y, unsigned carryin, unsigned *carryout);
unsigned long __builtin_subcl (unsigned long x, unsigned long y, unsigned long carryin, unsigned long *carryout);
OpenPOWER on IntegriCloud