aboutsummaryrefslogtreecommitdiff
path: root/gcc/d
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-07-31 16:03:17 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-07-31 18:43:23 +0200
commit239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b (patch)
treea5e82d861af5faac29c55560a6af4082a076b79a /gcc/d
parentdf5cf47a978aaeb53fc2b18ff0b22eb4531a27d8 (diff)
downloadgcc-239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b.zip
gcc-239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b.tar.gz
gcc-239724956d4ef29dcaa7f1b378cc76f5f6a7ad5b.tar.bz2
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.
Diffstat (limited to 'gcc/d')
-rw-r--r--gcc/d/intrinsics.cc3
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/d/intrinsics.cc b/gcc/d/intrinsics.cc
index 8eec0af..486db12 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