diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-07-31 16:03:17 +0200 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-17 13:20:23 -0300 |
commit | 487da597e3313326729bfa46a6b6b4b5f8aa97ad (patch) | |
tree | 2f44f89df2ec932f45f7d69ae8507d52e02d2863 /gcc | |
parent | 23e5bcaf3b543567014b350948fefbc1ffc08b63 (diff) | |
download | gcc-487da597e3313326729bfa46a6b6b4b5f8aa97ad.zip gcc-487da597e3313326729bfa46a6b6b4b5f8aa97ad.tar.gz gcc-487da597e3313326729bfa46a6b6b4b5f8aa97ad.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')
-rw-r--r-- | gcc/d/intrinsics.cc | 3 |
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 |