http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-13 
12:07:28 UTC ---
Created attachment 28187
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28187
gcc48-pr54564.patch

Very lightly tested fix (just
make check-gcc RUNTESTFLAGS='--target_board=valgrind-sim/-m64 i386.exp=\*fma\*'
with valgrind that supports fma).

It is unfortunate that we don't generate the vf{,n}madd231s{s,d} insns any
longer, but I don't see how that would be possible, because the intrinsic (as
the testcases for it show) really wants to put the high elements of the first
argument into the destination, merged with the fma result.  The insns are
barely useful for anything else than the intrinsic, normal code would either
use the scalar insn that ignores the higher elements, or full vector version,
so IMHO this isn't a big deal.

Reply via email to