[Bug target/58790] [missed optimization] reduction of masks of builtin vectors not transformed to ptest or movemask instructions

2021-06-08 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58790 --- Comment #4 from Matthias Kretz (Vir) --- I'm still not familiar with this part of GCC, but isn't `_2 == { -1, -1, -1, -1 }` equivalent to _1, i.e. it reverses VEC_COND_EXPR? However, if the `==` is supposed to return a scalar boolean instead

[Bug c++/100716] member function template parameter should never be printed in candidate list and "T = T" should never be shown in substitutions

2021-05-27 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100716 --- Comment #3 from Matthias Kretz (Vir) --- Created attachment 50877 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50877=edit proposed patch Ensure dump_template_decl for function templates never prints template parameters after the

[Bug c++/100763] Diagnostics of type alias is missing scope

2021-05-27 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100763 --- Comment #1 from Matthias Kretz (Vir) --- Created attachment 50876 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50876=edit proposed patch dump_type on 'const std::string' should not print 'const string' unless TFF_UNQUALIFIED_NAME

[Bug c++/100763] New: Diagnostics of type alias is missing scope

2021-05-26 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100763 Bug ID: 100763 Summary: Diagnostics of type alias is missing scope Product: gcc Version: 11.1.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal

[Bug c++/100716] member function template parameter not printed in candidate list

2021-05-25 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100716 --- Comment #2 from Matthias Kretz (Vir) --- I'd like to revise my opinion above. dump_template_decl should never print the template parameter list of functions. I.e. it should be 'template f()' not 'template f()'. Because it's also declared

[Bug c++/100716] member function template parameter not printed in candidate list

2021-05-21 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100716 --- Comment #1 from Matthias Kretz (Vir) --- With -fno-pretty-templates both test cases do print the template_parms. That's because in dump_function_decl, without flag_pretty_templates, t isn't generalized and thus is not considered a primary

[Bug c++/100716] New: member function template parameter not printed in candidate list

2021-05-21 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100716 Bug ID: 100716 Summary: member function template parameter not printed in candidate list Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: diagnostic

[Bug tree-optimization/99728] code pessimization when using wrapper classes around SIMD types

2021-03-24 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99728 --- Comment #10 from Matthias Kretz (Vir) --- Is this the same issue: struct A { double v; }; struct B { double v; B& operator=(const B& rhs) { v = rhs.v; return *this; } }; // 10 loads & stores void f(A& a, const A& b) {

[Bug c++/99728] code pessimization when using wrapper classes around SIMD types

2021-03-23 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99728 --- Comment #6 from Matthias Kretz (Vir) --- > I guess I need it for unaligned loads/stores, correct? Otherwise __v4df > should work everywhere. 1. You can freely reinterpret_cast by value between all the different [[gnu::vector_size(N)]]

[Bug c++/99728] code pessimization when using wrapper classes around SIMD types

2021-03-23 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99728 --- Comment #4 from Matthias Kretz (Vir) --- FWIW, using std::experimental::native_simd also does not hoist the stores out of the loop. However, if you pass d by value and return d, the issue goes away. So I guess this is an aliasing

[Bug c++/99201] [8/9/10/11 Regression] ICE in tsubst_copy, at cp/pt.c:16581

2021-02-23 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99201 --- Comment #5 from Matthias Kretz (Vir) --- I reduced it some more: template auto make_tester(const RefF& reffun) { return [=](auto in) { auto&& expected = [&](const auto&... vs) { if constexpr (sizeof(in) > 0)

[Bug c++/99201] [8/9/10/11 Regression] ICE in tsubst_copy, at cp/pt.c:16581

2021-02-22 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99201 --- Comment #4 from Matthias Kretz (Vir) --- Manual reduction which fails with 8-11 and compiles ok with 7: template void test_values_2arg(F&&... fun_pack) { (fun_pack(V(), V()), ...); } template auto make_tester(const TestF&

[Bug c++/99201] [8/9/10/11 Regression] ICE in tsubst_copy, at cp/pt.c:16581

2021-02-22 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99201 --- Comment #3 from Matthias Kretz (Vir) --- I'll try to find a better reduction.

[Bug c++/99201] New: ICE in tsubst_copy, at cp/pt.c:16581

2021-02-22 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99201 Bug ID: 99201 Summary: ICE in tsubst_copy, at cp/pt.c:16581 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug target/98894] New test case experimental/simd/standard_abi_usable.cc in r11-6935 fails on power 7

2021-01-29 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98894 --- Comment #1 from Matthias Kretz (Vir) --- I already posted a fix on the gcc-patches and libstdc++ lists: libstdc++-v3/ChangeLog: * include/experimental/bits/simd.h: Remove unnecessary static assertion. Allow sizeof(8) integer

[Bug ipa/98834] [10/11 Regression] Code path incorrectly determined to be unreachable

2021-01-26 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98834 --- Comment #3 from Matthias Kretz (Vir) --- Created attachment 50055 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50055=edit unreduced test case This is the test case I gave to C-Vise. It's already reduced from a more confusing test,

[Bug ipa/98834] [10/11 Regression] Code path incorrectly determined to be unreachable

2021-01-26 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98834 --- Comment #2 from Matthias Kretz (Vir) --- This is reduced from a larger (4MB) testcase which doesn't have any unused arguments.

[Bug tree-optimization/98834] New: Code path incorrectly determined to be unreachable

2021-01-26 Thread kretz at kde dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98834 Bug ID: 98834 Summary: Code path incorrectly determined to be unreachable Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3