Using -masm=intel and -mavx together with something that uses a 256-bit vector causes an internal error:
$ gcc arst.c -mavx -masm=intel arst.c: In function âfooâ: arst.c:2: internal compiler error: in print_operand, at config/i386/i386.c:11324 $ cat arst.c typedef unsigned long vec __attribute__((vector_size(32))); void foo(vec a) {} $ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch --with-tune=generic Thread model: posix gcc version 4.4.2 (GCC) -- Summary: -masm=intel doesn't know how to print AVX instructions Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matti dot niemenmaa+gccbugs at iki dot fi GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42165