diff options
author | Richard Henderson <rth@redhat.com> | 2016-01-14 13:36:12 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2016-01-14 13:36:12 -0800 |
commit | 47c147b03f38ea4218847a77e719584ad47e7d89 (patch) | |
tree | 7857280d909be5bd6097cfa4d808f5c132806b8d | |
parent | 4318655262314b8c558b07e9f7b4a98a806b25b4 (diff) | |
download | gcc-47c147b03f38ea4218847a77e719584ad47e7d89.zip gcc-47c147b03f38ea4218847a77e719584ad47e7d89.tar.gz gcc-47c147b03f38ea4218847a77e719584ad47e7d89.tar.bz2 |
re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)
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.
From-SVN: r232390
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/trans-mem.c | 8 | ||||
-rw-r--r-- | gcc/tree.c | 4 |
3 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee96204..ba70e82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-01-14 Richard Henderson <rth@redhat.com> + + 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. + 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com> * doc/loop.texi (Loop Analysis and Representation): Document 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; } @@ -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)))) { |