diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2017-08-24 11:40:55 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2017-08-24 11:40:55 +0000 |
commit | e4f22d970ec86797c202c327ff3fffdb56a4b6a3 (patch) | |
tree | 3dd30de9e33bcf8e9619f3822cd30027a4a622c7 | |
parent | dc0c1e44766b850cf7418badc99a97a044681409 (diff) | |
download | gcc-e4f22d970ec86797c202c327ff3fffdb56a4b6a3.zip gcc-e4f22d970ec86797c202c327ff3fffdb56a4b6a3.tar.gz gcc-e4f22d970ec86797c202c327ff3fffdb56a4b6a3.tar.bz2 |
re PR middle-end/81931 (r251260 breaks many tests on powerpc64)
PR middle-end/81931
* tree-ssanames.c (get_nonzero_bits): Use element_precision
instead of TYPE_PRECISION.
From-SVN: r251328
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssanames.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d448aae..a475c84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-08-24 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/81931 + * tree-ssanames.c (get_nonzero_bits): Use element_precision + instead of TYPE_PRECISION. + 2017-08-24 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c index 676c806..e48d086 100644 --- a/gcc/tree-ssanames.c +++ b/gcc/tree-ssanames.c @@ -470,7 +470,9 @@ get_nonzero_bits (const_tree name) if (TREE_CODE (name) == INTEGER_CST) return name; - unsigned int precision = TYPE_PRECISION (TREE_TYPE (name)); + /* Use element_precision instead of TYPE_PRECISION so complex and + vector types get a non-zero precision. */ + unsigned int precision = element_precision (TREE_TYPE (name)); if (POINTER_TYPE_P (TREE_TYPE (name))) { struct ptr_info_def *pi = SSA_NAME_PTR_INFO (name); |