middle-end/94206 fix memset folding to avoid types with padding
authorRichard Biener <rguenther@suse.de>
Wed, 18 Mar 2020 12:11:30 +0000 (13:11 +0100)
committerRichard Biener <rguenther@suse.de>
Wed, 18 Mar 2020 12:12:28 +0000 (13:12 +0100)
commit1ba9acb11e3589b96ed945ed2a3af6acd6377018
treef24e9a4f4d9f59dcc926bfbb5574e58158bba56e
parentd5029d45940e8c12b425b4d1a23081b4155caa61
middle-end/94206 fix memset folding to avoid types with padding

This makes sure that the store a memset is folded to uses a type
covering all bits.

2020-03-18   Richard Biener  <rguenther@suse.de>

PR middle-end/94206
* gimple-fold.c (gimple_fold_builtin_memset): Avoid using
partial int modes or not mode-precision integer types for
the store.

* gcc.dg/torture/pr94206.c: New testcase.
gcc/ChangeLog
gcc/gimple-fold.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr94206.c [new file with mode: 0644]