Displaying 5 results from an estimated 5 matches for "__builtin_add_overflow".
2018 Nov 20
2
A pattern for portable __builtin_add_overflow()
Hi LLVM, clang,
I'm trying to write a portable version of __builtin_add_overflow() it a way
that the compiler would
recognize the pattern and use the add_overflow intrinsic / the best
possible machine instruction.
Here are docs about these builtins:
https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins
.
With unsigned types this is easy:
int uaddo_n...
2023 Dec 02
1
Small inconsistencies in configure checks
...reter
found as a default (unless the user has explicitly overridden by
running ./configure RDOC=/path/to/rdoc or similar), but it looks like
the way that's currently being done doesn't actually work. I'll fix
that.
> 2. xapian-core when built with GCC:
>
> checking whether __builtin_add_overflow is declared... yes
> ...
> checking whether _addcarry_u64 is declared... no
>
> There is actually _addcarry_u64 in GCC too, but it's in x86intrin.h
> instead of intrin.h. This is no problem either, since it's superimposed
> by __builtin_add_overflow anyway.
I think _...
2023 Dec 02
1
Small inconsistencies in configure checks
...ting but, when building 2.5.5 for ALT
I noticed small inconsistencies in configure output.
1. xapian-binding:
checking for /usr/bin/rdoc... no
checking for rdoc... /usr/bin/rdoc
Looks curious but no problem since it's found anyway.
2. xapian-core when built with GCC:
checking whether __builtin_add_overflow is declared... yes
...
checking whether _addcarry_u64 is declared... no
There is actually _addcarry_u64 in GCC too, but it's in x86intrin.h
instead of intrin.h. This is no problem either, since it's superimposed
by __builtin_add_overflow anyway.
Thanks,
2020 Oct 17
0
[PATCH nbdkit] common/include/tvdiff.h: Add formal specification.
...fdef FRAMA_C
+
+/*@
+ assigns *r;
+ behavior success:
+ assumes INT64_MIN <= a + b <= INT64_MAX;
+ ensures *r == a + b;
+ ensures \result == \false;
+ behavior overflow:
+ assumes !(INT64_MIN <= a + b <= INT64_MAX);
+ ensures \result == \true;
+ */
+extern bool __builtin_add_overflow (int64_t a, int64_t b, int64_t *r);
+/*@
+ assigns *r;
+ behavior success:
+ assumes INT64_MIN <= a - b <= INT64_MAX;
+ ensures *r == a - b;
+ ensures \result == \false;
+ behavior overflow:
+ assumes !(INT64_MIN <= a - b <= INT64_MAX);
+ ensures \result == \tr...
2019 Jul 29
10
[9.0.0 Release] Release Candidate 1 is here
Hi everyone,
9.0.0-rc1 was just tagged from the release_90 branch at r367217
(tagged as llvmorg-9.0.0-rc1 in the Git monorepo).
Source code and docs are available at https://prereleases.llvm.org/9.0.0/#rc1
Binaries will be added as they become available.
Please file bug reports for any issues you find as blockers of
https://llvm.org/PR42474
Release testers: please start your engines, run the