store-merging: Allow enums during bswap recognition [PR94403]
authorJakub Jelinek <jakub@redhat.com>
Tue, 31 Mar 2020 09:04:32 +0000 (11:04 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 31 Mar 2020 09:04:32 +0000 (11:04 +0200)
commit5ea39b2412269d208bb6ebd78303815957bd4f70
treefabce4d5301b2957be4737c120f88c3ad16aa94e
parent56f0b32476c0c261c8e08525f9e47fe87492447a
store-merging: Allow enums during bswap recognition [PR94403]

The following testcase is optimized with char/unsigned char/signed char,
but not with std::byte.  The following patch fixes that.  Didn't use
INTEGRAL_TYPE_P because bswapping bools is just too weird.

2020-03-31  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/94403
* gimple-ssa-store-merging.c (verify_symbolic_number_p): Allow also
ENUMERAL_TYPE lhs_type.

* g++.dg/tree-ssa/pr94403.C: New test.
gcc/ChangeLog
gcc/gimple-ssa-store-merging.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr94403.C [new file with mode: 0644]