------- Comment #6 from michael dot meissner at amd dot com 2008-02-07 17:22 ------- Subject: RE: Adding 4 more tree codes causes a crash in building libstdc++ pre-compiled headers
The problem is there are two different vector shifts. There is vector shift by a scalar amount (each element gets shifted the same amount), and vector shift by a vector (each element gets shifted by the corresponding element in the vector). Right now, GCC in tree-vect-transform.c looks at the shift optab and sees if the second operand is a scalar mode, it believes the machine only supports the vector shift by scalar mode, and assumes that if the type is vector mode, that the machine supports vector/vector shifts. The SSE2 instruction set extension on the x86 has vector/scalar shift instructions, and the SSE5 instruction set extension adds vector/vector shifts and rotates. I want to be able to add support for a machine that has both types of vector shift, but with the current framework, this was impossible. -- Michael Meissner AMD, MS 83-29 90 Central Street Boxborough, MA 01719 > -----Original Message----- > From: bonzini at gnu dot org [mailto:[EMAIL PROTECTED] > Sent: Thursday, February 07, 2008 12:11 PM > To: Meissner, Michael > Subject: [Bug c++/35004] Adding 4 more tree codes causes a crash in > building libstdc++ pre-compiled headers > > > > ------- Comment #5 from bonzini at gnu dot org 2008-02-07 17:10 ------- > Unrelated, but why couldn''t vector/vector shifts/rotates overload > LSHIFT_EXPR > instead? :-) > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35004 > > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35004