diff options
| author | Michael Gottesman <mgottesman@apple.com> | 2013-06-18 20:40:40 +0000 |
|---|---|---|
| committer | Michael Gottesman <mgottesman@apple.com> | 2013-06-18 20:40:40 +0000 |
| commit | 15343990596489d6b1774bb22752c24daf319f9f (patch) | |
| tree | 6372327992717d21463372e4bc194b2d865a96b8 /clang/docs | |
| parent | cc0273d7845bcaab8ce9673ee2219fdd4f0c52c8 (diff) | |
| download | bcm5719-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.rst | 2 |
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); |

