[Bug c/54802] New: Trivial code changes result in different assembly with respect to rotations and bswap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54802 Bug #: 54802 Summary: Trivial code changes result in different assembly with respect to rotations and bswap. Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com Created attachment 28347 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28347 Code files In some C code, manually inlining constants changes whether or not gcc compiles things to rotations or to bswaps. In particular, the following code uint64_t reverse0(uint64_t v) { v = ((v >> 1) & 0xULL) | ((v & 0xULL) << 1); v = ((v >> 2) & 0xULL) | ((v & 0xULL) << 2); v = ((v >> 4) & 0x0F0F0F0F0F0F0F0FULL) | ((v & 0x0F0F0F0F0F0F0F0FULL) << 4); v = ((v >> 8) & 0x00FF00FF00FF00FFULL) | ((v & 0x00FF00FF00FF00FFULL) << 8); v = ((v >> 16) & 0xULL) | ((v & 0xULL) << 16); const uint64_t va = ((v >> 32) & 0xULL), vb = ((v & 0xULL) << 32); v = va | vb; return v; } uint64_t reverse1(uint64_t v) { v = ((v >> 1) & 0xULL) | ((v & 0xULL) << 1); v = ((v >> 2) & 0xULL) | ((v & 0xULL) << 2); v = ((v >> 4) & 0x0F0F0F0F0F0F0F0FULL) | ((v & 0x0F0F0F0F0F0F0F0FULL) << 4); v = ((v >> 8) & 0x00FF00FF00FF00FFULL) | ((v & 0x00FF00FF00FF00FFULL) << 8); v = ((v >> 16) & 0xULL) | ((v & 0xULL) << 16); v = ((v >> 32) & 0xULL) | ((v & 0xULL) << 32); return v; } compiles to reverse0: .LFB8: .cfi_startproc movq%rdi, %rdx movabsq$6148914691236517205, %rax movabsq$3689348814741910323, %rcx shrq%rdx andq%rax, %rdx andq%rdi, %rax addq%rax, %rax orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$2, %rdx salq$2, %rax andq%rcx, %rdx movabsq$1085102592571150095, %rcx orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$4, %rdx salq$4, %rax andq%rcx, %rdx orq%rdx, %rax bswap%rax ret .cfi_endproc .LFE8: .sizereverse0, .-reverse0 .p2align 4,,15 .globlreverse1 .typereverse1, @function reverse1: .LFB9: .cfi_startproc movq%rdi, %rdx movabsq$6148914691236517205, %rax movabsq$3689348814741910323, %rcx shrq%rdx andq%rax, %rdx andq%rdi, %rax addq%rax, %rax orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$2, %rdx salq$2, %rax andq%rcx, %rdx movabsq$1085102592571150095, %rcx orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$4, %rdx salq$4, %rax andq%rcx, %rdx movabsq$71777214294589695, %rcx orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$8, %rdx salq$8, %rax andq%rcx, %rdx movabsq$281470681808895, %rcx orq%rdx, %rax movq%rax, %rdx andq%rcx, %rax shrq$16, %rdx salq$16, %rax andq%rcx, %rdx orq%rdx, %rax rorq$32, %rax ret .cfi_endproc .LFE9: .sizereverse1, .-reverse1 .p2align 4,,15 .globlreverse2 .typereverse2, @function In the code that I'm using this in, reverse0 is 30% faster than reverse1. I don't think that manual constant inlining, when each constant is used exactly once, should change the assembly code that gcc compiles to. The relevant (.c, .i, .s, and a log of the command line) files are attached.
[Bug c/54803] New: Manual constant unfolding breaks vectorization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54803 Bug #: 54803 Summary: Manual constant unfolding breaks vectorization Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com Created attachment 28348 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28348 code files Manually unfolding constants sometimes prevents vectorization. For example, these loops vectorize: void multi_left_shift0(uint64_t *const array, size_t len, size_t num_bits) { for (size_t i = 0; i < len; i++) { array[i] = (array[i] >> 31) | (array[i] << 31); } } void multi_left_shift2(uint64_t *const array, size_t len, size_t num_bits) { for (size_t i = 0; i < len; i++) { const uint64_t tempa = array[i] >> 32; const uint64_t tempb = array[i] << 32; array[i] = tempa | tempb; } } but this loops does not: void multi_left_shiftb0(uint64_t *const array, size_t len, size_t num_bits) { for (size_t i = 0; i < len; i++) { array[i] = (array[i] >> 32) | (array[i] << 32); } } See attached file for the code, preprocessed code, gcc command line log, and assembly.
[Bug c++/55365] New: internal compiler error: in process_init_constructor_union, at cp/typeck2.c:1335; internal compiler error: in lookup_field_1, at cp/search.c:387; internal compiler error: in proce
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55365 Bug #: 55365 Summary: internal compiler error: in process_init_constructor_union, at cp/typeck2.c:1335; internal compiler error: in lookup_field_1, at cp/search.c:387; internal compiler error: in process_init_constructor_record, at cp/typeck2.c:1189 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com $ /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ -std=c++11 -c free_list.cpp -v -save-temps Using built-in specs. COLLECT_GCC=/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/afs/csail/proj/courses/6.172/gcc-cilkplus --enable-languages=c,c++ Thread model: posix gcc version 4.8.0 20120618 (experimental) (GCC) COLLECT_GCC_OPTIONS='-std=c++11' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E -quiet -v -iprefix /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE free_list.cpp -mtune=generic -march=x86-64 -std=c++11 -fpch-preprocess -o free_list.ii ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed" ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/intel/composer_xe_2013.0.079/mkl/include /opt/intel/composer_xe_2013.0.079/tbb/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/local/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c++11' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -fpreprocessed free_list.ii -quiet -dumpbase free_list.cpp -mtune=generic -march=x86-64 -auxbase free_list -std=c++11 -version -o free_list.s GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min
[Bug c++/55366] New: g++ segfault; see also Bug 55365
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55366 Bug #: 55366 Summary: g++ segfault; see also Bug 55365 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com A slight modification of the code of Bug 55365 causes g++ to segfault: $ /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ -std=c++11 -c free_list.cpp -v -save-temps Using built-in specs. COLLECT_GCC=/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/afs/csail/proj/courses/6.172/gcc-cilkplus --enable-languages=c,c++ Thread model: posix gcc version 4.8.0 20120618 (experimental) (GCC) COLLECT_GCC_OPTIONS='-std=c++11' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E -quiet -v -iprefix /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE free_list.cpp -mtune=generic -march=x86-64 -std=c++11 -fpch-preprocess -o free_list.ii ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed" ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/intel/composer_xe_2013.0.079/mkl/include /opt/intel/composer_xe_2013.0.079/tbb/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/local/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c++11' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -fpreprocessed free_list.ii -quiet -dumpbase free_list.cpp -mtune=generic -march=x86-64 -auxbase free_list -std=c++11 -version -o free_list.s GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 9140df29c77763bd28b47359117a6952 free_list.cpp:6:9: error: field ‘b’ has incomplete type Bar b; ^ ‘ In constructor ‘Foo::Foo(Bar&&)’: Segmentati
[Bug c++/55365] internal compiler error: in process_init_constructor_union, at cp/typeck2.c:1335; internal compiler error: in lookup_field_1, at cp/search.c:387; internal compiler error: in process_in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55365 --- Comment #1 from Jason 2012-11-17 16:04:49 UTC --- Note that icpc gives me the error message "error: a designator into a template-dependent type is not allowed" on code similar to this, which seems like it might be related. The code snipped (inside the Foo class) that icpc gives me this error message on is static constexpr arr_or_b make_init_data(T &&c) { return { .b = c }; }
[Bug c++/55365] internal compiler error: in process_init_constructor_union, at cp/typeck2.c:1335; internal compiler error: in lookup_field_1, at cp/search.c:387; internal compiler error: in process_in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55365 --- Comment #2 from Jason 2012-11-17 16:10:21 UTC --- And, indeed, here's a somewhat smaller working example, which g++ says "internal compiler error: in lookup_field_1, at cp/search.c:387", and icpc says "error: a designator into a template-dependent type is not allowed" template union u { T a; char b; }; template u make_u(T t) { return { .a = t }; } int main() { return make_u(1).a; }
[Bug c++/55419] New: internal compiler error: in gimplify_init_ctor_preeval, at gimplify.c:3587
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55419 Bug #: 55419 Summary: internal compiler error: in gimplify_init_ctor_preeval, at gimplify.c:3587 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com Created attachment 28745 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28745 intermediate .ii file from g++ I get the following output from g++, and it creates the attached .ii file Using built-in specs. COLLECT_GCC=/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/afs/csail/proj/courses/6.172/gcc-cilkplus --enable-languages=c,c++ Thread model: posix gcc version 4.8.0 20120618 (experimental) (GCC) COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-c' '-o' 'fen.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E -quiet -v -iprefix /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE fen.cpp -mtune=generic -march=x86-64 -std=c++11 -fpch-preprocess -o fen.ii ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed" ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/intel/composer_xe_2013.0.079/mkl/include /opt/intel/composer_xe_2013.0.079/tbb/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/local/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-c' '-o' 'fen.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -fpreprocessed fen.ii -quiet -dumpbase fen.cpp -mtune=generic -march=x86-64 -auxbase-strip fen.o -std=c++11 -version -o fen.s GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 9140df29c77763bd28b47359117a6952 fen.cpp: In function ‘int fen_to_pos(position_t*, const c
[Bug c++/55423] New: internal compiler error: tree check: expected string_cst, have error_mark in finish_static_assert, at cp/semantics.c:5170
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55423 Bug #: 55423 Summary: internal compiler error: tree check: expected string_cst, have error_mark in finish_static_assert, at cp/semantics.c:5170 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com I get the following output: Using built-in specs. COLLECT_GCC=/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/g++ COLLECT_LTO_WRAPPER=/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/afs/csail/proj/courses/6.172/gcc-cilkplus --enable-languages=c,c++ Thread model: posix gcc version 4.8.0 20120618 (experimental) (GCC) COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E -quiet -v -iprefix /afs/cs\ ail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE main.cpp -mtune=generic -march=x86\ -64 -std=c++11 -fpch-preprocess -o main.ii ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../.\ ./x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.\ 0/../../../../include/c++/4.8.0" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.\ 0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.\ 0/../../../../include/c++/4.8.0/backward" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.\ 0/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.\ 0/include-fixed" ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.\ 8.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/intel/composer_xe_2013.0.079/mkl/include /opt/intel/composer_xe_2013.0.079/tbb/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unkn\ own-linux-gnu /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/local/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -fpreprocessed main.ii -quiet\ -dumpbase main.cpp -mtune=generic -march=x86-64 -auxbase main -std=c++11 -version -o main.s GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 9140df29c77763bd28b47359117a6952 main.cpp:5:82: error: both ‘co
[Bug c++/55495] New: internal compiler error: in write_array_type, at cp/mangle.c:3124
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55495 Bug #: 55495 Summary: internal compiler error: in write_array_type, at cp/mangle.c:3124 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jasongross9+bugzi...@gmail.com I have the following code: #include struct foo { char memory[]; }; void *bar(foo *x) { return std::move(x->memory); } compiling with g++ -std=c++11 -v -save-temps -c main.cpp gives Using built-in specs. COLLECT_GCC=/afs/csail/proj/courses/6.172/gcc-cilkplus/bin/g++ Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/afs/csail/proj/courses/6.172/gcc-cilkplus --enable-languages=c,c++ Thread model: posix gcc version 4.8.0 20120618 (experimental) (GCC) COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E -quiet -v -iprefix /afs/csail.mit.edu/proj/\ courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE main.cpp -mtune=generic -march=x86-64 -std=c++11 -fpch-preprocess -o\ main.ii ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-\ linux-gnu/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../inc\ lude/c++/4.8.0" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../inc\ lude/c++/4.8.0/x86_64-unknown-linux-gnu" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../inc\ lude/c++/4.8.0/backward" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include" ignoring duplicate directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed" ignoring nonexistent directory "/afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x\ 86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/intel/composer_xe_2013.0.079/mkl/include /opt/intel/composer_xe_2013.0.079/tbb/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/local/include /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c++11' '-v' '-save-temps' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -fpreprocessed main.ii -quiet -dumpbase main.c\ pp -mtune=generic -march=x86-64 -auxbase main -std=c++11 -version -o main.s GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.8.0 20120618 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20120618 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9 warning: GMP header version 5.0.2 differs from library version 4.3.2. warning: MPFR header version 3.1.0 differs from library version 3.0.0-p3. warning: MPC header version 0.9 differs from library version 0.8.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 9140df29c77763bd28b47359117a6952 In file included from /afs/csail.mit.edu/proj/courses/6.172/gcc-cilkplus/include/
[Bug c++/55495] internal compiler error: in write_array_type, at cp/mangle.c:3124
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55495 --- Comment #2 from Jason 2012-11-27 21:57:58 UTC --- I've asked the instructors of my class to update the version of gcc we're using; I don't have sudo access on the course machines, and I don't feel like compiling GMP, MPFR, and MPC (and any dependencies they might have) myself. I'll try to be more through in looking for duplicates myself, though.
[Bug inline-asm/82225] New: Unexpected nondeterministic "internal compiler error: Segmentation fault" when gcc is expected to save either rsp or rbp to allow its use in inline asm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82225 Bug ID: 82225 Summary: Unexpected nondeterministic "internal compiler error: Segmentation fault" when gcc is expected to save either rsp or rbp to allow its use in inline asm Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: jasongross9+bugzilla at gmail dot com Target Milestone: --- Created attachment 42185 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42185&action=edit .tgz containing the c code This bug only shows up on some runs of gcc (maybe 70% of them). It does not show up when I compile the .i files emitted by -save-temps, so far as I can tell. gcc is installed from the ubuntu package gcc-7 $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.2.0-1ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.2.0 (Ubuntu 7.2.0-1ubuntu1~16.04) $ uname -a Linux jgross-Leopard-WS 4.4.0-66-generic #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:Ubuntu 16.04.2 LTS Release:16.04 Codename: xenial $ gcc -o measure -I liblow measure.c scalarmult_noladderstep.c femul_scheduled.c -D UUT=crypto_scalarmult_bench scalarmult_noladderstep.c:97:1: warning: always_inline function might not be inlinable [-Wattributes] fmul(felem output, const felem in2, const felem in) { ^~~~ In file included from scalarmult_noladderstep.c:32:0: femul.h:6:19: warning: always_inline function might not be inlinable [-Wattributes] void force_inline femul(uint64_t* out, uint64_t x10, uint64_t x11, uint64_t x9, uint64_t x7, uint64_t x5, uint64_t x18, uint64_t x19, uint64_t x17, uint64_t x15, uint64_t x13); ^ scalarmult_noladderstep.c: In function ‘fmul’: femul.h:6:19: error: inlining failed in call to always_inline ‘femul’: function body not available scalarmult_noladderstep.c:99:3: note: called from here femul(out, ^~ in2[4], in2[3], in2[2], in2[1], in2[0], ~~~ in[4], in[3], in[2], in[1], in[0]); ~~ femul_scheduled.c:19:19: warning: always_inline function might not be inlinable [-Wattributes] void force_inline femul(uint64_t* out, uint64_t x10, uint64_t x11, uint64_t x9, uint64_t x7, uint64_t x5, uint64_t x18, uint64_t x19, uint64_t x17, uint64_t x15, uint64_t x13) { ^ femul_scheduled.c: In function ‘femul’: femul_scheduled.c:221:1: internal compiler error: Segmentation fault } ^ 0x9e0c5f crash_signal ../../src/gcc/toplev.c:337 0x8b6cd0 lra_eliminate_reg_if_possible(rtx_def**) ../../src/gcc/lra-eliminations.c:1385 0x8a66c6 address_eliminator ../../src/gcc/lra-constraints.c:362 0x8a67d5 satisfies_address_constraint_p ../../src/gcc/lra-constraints.c:411 0x8ae3c9 satisfies_address_constraint_p ../../src/gcc/lra-constraints.c:423 0x8ae3c9 process_alt_operands ../../src/gcc/lra-constraints.c:2274 0x8ae3c9 curr_insn_transform ../../src/gcc/lra-constraints.c:3848 0x8b098e lra_constraints(bool) ../../src/gcc/lra-constraints.c:4847 0x89fe84 lra(_IO_FILE*) ../../src/gcc/lra.c:2392 0x85e0e1 do_reload ../../src/gcc/ira.c:5472 0x85e0e1 execute ../../src/gcc/ira.c:5656 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. With -v -save-temps: $ gcc -v -save-temps -o measure -I liblow measure.c scalarmult_noladderstep.c femul_scheduled.c -D