aboutsummaryrefslogtreecommitdiff
path: root/extract-function.sh
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2017-07-03 22:44:12 -0400
committerGravatar Andres Erbsen <andreser@mit.edu>2017-07-03 22:44:19 -0400
commit10368df56113091020e2c611ce92feda3da94ed9 (patch)
tree13ec63704ebc99412df34f9d9fdc581a413f42ab /extract-function.sh
parent189aa1564635ba575439b731d8b638a445b9c7b1 (diff)
work around GCC issues 81294 and 81300
Diffstat (limited to 'extract-function.sh')
-rwxr-xr-xextract-function.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/extract-function.sh b/extract-function.sh
index c00ae274b..b99862405 100755
--- a/extract-function.sh
+++ b/extract-function.sh
@@ -23,6 +23,12 @@ cat <<EOF
typedef unsigned int uint128_t __attribute__((mode(TI)));
+#if (defined(__GNUC__) || defined(__GNUG__)) && !(defined(__clang__)||defined(__INTEL_COMPILER))
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81294
+#define _subborrow_u32 __builtin_ia32_sbb_u32
+#define _subborrow_u64 __builtin_ia32_sbb_u64
+#endif
+
#undef force_inline
#define force_inline __attribute__((always_inline))