aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2023-07-03 20:24:09 +0200
committerHans-Peter Nilsson <hp@bitrange.com>2023-07-04 03:04:30 +0200
commit2db33665399b8b9aa3b8d92a1c9622a9f1c87035 (patch)
tree82f72d3c02adf36b93982695526dc52663971775
parent092f54cb294ffc28a61a50480d7c167d787e8f85 (diff)
downloadgcc-2db33665399b8b9aa3b8d92a1c9622a9f1c87035.zip
gcc-2db33665399b8b9aa3b8d92a1c9622a9f1c87035.tar.gz
gcc-2db33665399b8b9aa3b8d92a1c9622a9f1c87035.tar.bz2
dwarf2out.cc (mem_loc_descriptor): Handle BITREVERSE
This seems to have just been overlooked when introducing BITREVERSE. Note that the function name mem_loc_descriptor is a misnomer; it'd better be called rtx_loc_descriptor or any_loc_descriptor, because "anything" RTX can end up here. To wit, when introducing new RTL that ends up as code or for other reasons appear in debug expressions, don't forget to update this function. This was observed by building libstdc+++ for cris-elf with a patch replacing the CRIS_UNSPEC_SWAP_BITS by bitreverse, as hitting the internal-error-generating default case. Looking at the BSWAP, POPCOUNT and ROTATE cases, BITREVERSE can probably be fully expressed as DWARF code if need be, but let's start with not throwing an internal error. gcc: * dwarf2out.cc (mem_loc_descriptor): Handle BITREVERSE.
-rw-r--r--gcc/dwarf2out.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index 9112fc0..e973644 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -16940,6 +16940,7 @@ mem_loc_descriptor (rtx rtl, machine_mode mode,
case CLOBBER:
case SMUL_HIGHPART:
case UMUL_HIGHPART:
+ case BITREVERSE:
break;
case CONST_STRING: