Predictably, I must have tweaked the patch after testing on x86.

Re-tested and committed.


r~
        PR c/69272
        PR tree-opt/68964
        * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
        * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
        instead of builtin_decl_declared_p to test for declaration.




diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index c462307..b204760 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -1229,16 +1229,16 @@ tm_log_emit_stmt (tree addr, gimple *stmt)
        unhandled_vec:
          switch (type_size)
            {
-           case 1:
+           case 8:
              code = BUILT_IN_TM_LOG_1;
              break;
-           case 2:
+           case 16:
              code = BUILT_IN_TM_LOG_2;
              break;
-           case 4:
+           case 32:
              code = BUILT_IN_TM_LOG_4;
              break;
-           case 8:
+           case 64:
              code = BUILT_IN_TM_LOG_8;
              break;
            }
diff --git a/gcc/tree.c b/gcc/tree.c
index e6880f0..8ac2d90 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -10393,7 +10393,7 @@ build_tm_vector_builtins (void)
   /* By default, 64 bit vectors go through the long long helpers.  */
 
   /* If a 128-bit vector is supported, declare those builtins.  */
-  if (!builtin_decl_declared_p (BUILT_IN_TM_STORE_M128)
+  if (!builtin_decl_explicit_p (BUILT_IN_TM_STORE_M128)
       && ((vtype = find_tm_vector_type (128, SImode))
          || (vtype = find_tm_vector_type (128, SFmode))))
     {
@@ -10430,7 +10430,7 @@ build_tm_vector_builtins (void)
     }
 
   /* If a 256-bit vector is supported, declare those builtins.  */
-  if (!builtin_decl_declared_p (BUILT_IN_TM_STORE_M256)
+  if (!builtin_decl_explicit_p (BUILT_IN_TM_STORE_M256)
       && ((vtype = find_tm_vector_type (256, SImode))
          || (vtype = find_tm_vector_type (256, SFmode))))
     {

Reply via email to