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