From: Iain Buclaw Date: Fri, 31 Jul 2020 14:03:17 +0000 (+0200) Subject: d: Fix regression, all 32-bit execution tests FAIL: internal error printing module... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b;p=gcc.git d: Fix regression, all 32-bit execution tests FAIL: internal error printing module cycle For 32-bit btr(), BIT_NOT_EXPR was being generated twice, something that was not seen with the 64-bit variant. Removed the second call to fix the generated code. gcc/d/ChangeLog: PR d/96393 * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for btr32 intrinsic. --- diff --git a/gcc/d/intrinsics.cc b/gcc/d/intrinsics.cc index 8eec0af60ee..486db127747 100644 --- a/gcc/d/intrinsics.cc +++ b/gcc/d/intrinsics.cc @@ -351,9 +351,6 @@ expand_intrinsic_bt (intrinsic_code intrinsic, tree callexp) } /* ptr[bitnum / size] op= mask; */ - if (intrinsic == INTRINSIC_BTR) - bitnum = fold_build1 (BIT_NOT_EXPR, TREE_TYPE (bitnum), bitnum); - ptr = modify_expr (ptr, fold_build2 (code, TREE_TYPE (ptr), ptr, bitnum)); /* Store the condition result in a temporary, and return expressions in