[Bug c/54802] New: Trivial code changes result in different assembly with respect to rotations and bswap.

2012-10-03 Thread jasongross9+bugzilla at gmail dot com


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

2012-10-03 Thread jasongross9+bugzilla at gmail dot com


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

2012-11-17 Thread jasongross9+bugzilla at gmail dot com

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

2012-11-17 Thread jasongross9+bugzilla at gmail dot com

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

2012-11-17 Thread jasongross9+bugzilla at gmail dot com


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

2012-11-17 Thread jasongross9+bugzilla at gmail dot com


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

2012-11-20 Thread jasongross9+bugzilla at gmail dot com

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

2012-11-20 Thread jasongross9+bugzilla at gmail dot com

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

2012-11-27 Thread jasongross9+bugzilla at gmail dot com

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

2012-11-27 Thread jasongross9+bugzilla at gmail dot com


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

2017-09-15 Thread jasongross9+bugzilla at gmail dot com
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