1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -Wno-attributes -mfpmath=sse -mfma" } */
       3  
       4  /* Test that the compiler properly optimizes floating point multiply
       5     and add instructions into FMA3 instructions.  */
       6  
       7  #define TYPE double
       8  
       9  #include "fma_3.h"
      10  
      11  /* { dg-final { scan-assembler-times "vfmadd\[123\]+sd" 12  } } */
      12  /* { dg-final { scan-assembler-times "vfmsub\[132\]+sd" 12  } } */
      13  /* { dg-final { scan-assembler-times "vfnmadd\[132\]+sd" 4  } } */
      14  /* { dg-final { scan-assembler-times "vfnmsub\[132\]+sd" 4  } } */