[gcc/devel/c++-modules] re PR tree-optimization/90838 (Detect table-based ctz implementation)

Nathan Sidwell nathan@gcc.gnu.org
Wed Jan 15 14:30:00 GMT 2020


https://gcc.gnu.org/g:974bb8a4dcbf51a153ab72da91a7256a296e7fa1

commit 974bb8a4dcbf51a153ab72da91a7256a296e7fa1
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Jan 10 22:10:03 2020 +0100

    re PR tree-optimization/90838 (Detect table-based ctz implementation)
    
    	PR tree-optimization/90838
    	* tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
    	SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of
    	CTZ_DEFINED_VALUE_AT_ZERO.
    
    From-SVN: r280140

Diff:
---
 gcc/ChangeLog           | 7 +++++++
 gcc/tree-ssa-forwprop.c | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 24b5c97..5471c9f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2020-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/90838
+	* tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
+	SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of
+	CTZ_DEFINED_VALUE_AT_ZERO.
+
 2020-01-10  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR inline-asm/93027
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index aced6eb..aac31d0 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -1922,7 +1922,8 @@ simplify_count_trailing_zeroes (gimple_stmt_iterator *gsi)
       tree type = TREE_TYPE (res_ops[0]);
       HOST_WIDE_INT ctzval;
       HOST_WIDE_INT type_size = tree_to_shwi (TYPE_SIZE (type));
-      bool zero_ok = CTZ_DEFINED_VALUE_AT_ZERO (TYPE_MODE (type), ctzval) == 2;
+      scalar_int_mode mode = SCALAR_INT_TYPE_MODE (type);
+      bool zero_ok = CTZ_DEFINED_VALUE_AT_ZERO (mode, ctzval) == 2;
 
       /* Skip if there is no value defined at zero, or if we can't easily
 	 return the correct value for zero.  */



More information about the Gcc-cvs mailing list