[gcc r11-2458] d: Fix regression, all 32-bit execution tests FAIL: internal error printing module cycle
Iain Buclaw
ibuclaw@gcc.gnu.org
Fri Jul 31 16:43:34 GMT 2020
https://gcc.gnu.org/g:239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b
commit r11-2458-g239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Fri Jul 31 16:03:17 2020 +0200
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:
---
gcc/d/intrinsics.cc | 3 ---
1 file changed, 3 deletions(-)
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
More information about the Gcc-cvs
mailing list