On Wed, Oct 5, 2011 at 12:49 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote:
> We're prepared and bunch of tests which checks autogeneration of FMA3 > instructions family. > FMA3 typo in .md file is fixed as well (it was catched by tests). > > ChangeLog entry: > > 2011-10-04 Kirill Yukhin <kirill.yuk...@intel.com> > Yakovlev Vladimir <vladimir.b.yakov...@intel.com> > > * config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo. > > testsuite/ChangeLog entry: > > 2011-10-04 Kirill Yukhin <kirill.yuk...@intel.com> > Yakovlev Vladimir <vladimir.b.yakov...@intel.com> > > * gcc.target/i386/fma_1.h: New test. > * gcc.target/i386/fma_2.h: Ditto. > * gcc.target/i386/fma_3.h: Ditto. > * gcc.target/i386/fma_4.h: Ditto. > * gcc.target/i386/fma_5.h: Ditto. > * gcc.target/i386/fma_6.h: Ditto. Just say "New file." for various headers. They are not standalone tests... > * gcc.target/i386/fma_double_1.c: Ditto. > * gcc.target/i386/fma_double_2.c: Ditto. > * gcc.target/i386/fma_double_3.c: Ditto. > * gcc.target/i386/fma_double_4.c: Ditto. > * gcc.target/i386/fma_double_5.c: Ditto. > * gcc.target/i386/fma_double_6.c: Ditto. > * gcc.target/i386/fma_float_1.c: Ditto. > * gcc.target/i386/fma_float_2.c: Ditto. > * gcc.target/i386/fma_float_3.c: Ditto. > * gcc.target/i386/fma_float_4.c: Ditto. > * gcc.target/i386/fma_float_5.c: Ditto. > * gcc.target/i386/fma_float_6.c: Ditto. > * gcc.target/i386/fma_main.h: Ditto. > * gcc.target/i386/fma_run_double_1.c: Ditto. > * gcc.target/i386/fma_run_double_2.c: Ditto. > * gcc.target/i386/fma_run_double_3.c: Ditto. > * gcc.target/i386/fma_run_double_4.c: Ditto. > * gcc.target/i386/fma_run_double_5.c: Ditto. > * gcc.target/i386/fma_run_double_6.c: Ditto. > * gcc.target/i386/fma_run_double_results_1.h: Ditto. > * gcc.target/i386/fma_run_double_results_2.h: Ditto. > * gcc.target/i386/fma_run_double_results_3.h: Ditto. > * gcc.target/i386/fma_run_double_results_4.h: Ditto. > * gcc.target/i386/fma_run_double_results_5.h: Ditto. > * gcc.target/i386/fma_run_double_results_6.h: Ditto. > * gcc.target/i386/fma_run_float_1.c: Ditto. > * gcc.target/i386/fma_run_float_2.c: Ditto. > * gcc.target/i386/fma_run_float_3.c: Ditto. > * gcc.target/i386/fma_run_float_4.c: Ditto. > * gcc.target/i386/fma_run_float_5.c: Ditto. > * gcc.target/i386/fma_run_float_6.c: Ditto. > * gcc.target/i386/fma_run_float_results_1.h: Ditto. > * gcc.target/i386/fma_run_float_results_2.h: Ditto. > * gcc.target/i386/fma_run_float_results_3.h: Ditto. > * gcc.target/i386/fma_run_float_results_4.h: Ditto. > * gcc.target/i386/fma_run_float_results_5.h: Ditto. > * gcc.target/i386/fma_run_float_results_6.h: Ditto. > * gcc.target/i386/l_fma_1.h: Ditto. > * gcc.target/i386/l_fma_2.h: Ditto. > * gcc.target/i386/l_fma_3.h: Ditto. > * gcc.target/i386/l_fma_4.h: Ditto. > * gcc.target/i386/l_fma_5.h: Ditto. > * gcc.target/i386/l_fma_6.h: Ditto. > * gcc.target/i386/l_fma_double_1.c: Ditto. > * gcc.target/i386/l_fma_double_2.c: Ditto. > * gcc.target/i386/l_fma_double_3.c: Ditto. > * gcc.target/i386/l_fma_double_4.c: Ditto. > * gcc.target/i386/l_fma_double_5.c: Ditto. > * gcc.target/i386/l_fma_double_6.c: Ditto. > * gcc.target/i386/l_fma_float_1.c: Ditto. > * gcc.target/i386/l_fma_float_2.c: Ditto. > * gcc.target/i386/l_fma_float_3.c: Ditto. > * gcc.target/i386/l_fma_float_4.c: Ditto. > * gcc.target/i386/l_fma_float_5.c: Ditto. > * gcc.target/i386/l_fma_float_6.c: Ditto. > * gcc.target/i386/l_fma_main.h: Ditto. > * gcc.target/i386/l_fma_run_double_1.c: Ditto. > * gcc.target/i386/l_fma_run_double_2.c: Ditto. > * gcc.target/i386/l_fma_run_double_3.c: Ditto. > * gcc.target/i386/l_fma_run_double_4.c: Ditto. > * gcc.target/i386/l_fma_run_double_5.c: Ditto. > * gcc.target/i386/l_fma_run_double_6.c: Ditto. > * gcc.target/i386/l_fma_run_float_1.c: Ditto. > * gcc.target/i386/l_fma_run_float_2.c: Ditto. > * gcc.target/i386/l_fma_run_float_3.c: Ditto. > * gcc.target/i386/l_fma_run_float_4.c: Ditto. > * gcc.target/i386/l_fma_run_float_5.c: Ditto. > * gcc.target/i386/l_fma_run_float_6.c: Ditto. > > Could you please have a look? +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target fma } */ +/* { dg-options "-O2 -mfma" } */ { dg-require-effective-target fma } directive is not needed for compile-only tests, as they stop at generating assembly file. Also, you have disabled all tests on ia32 - unconditionally use "-O2 -mfma -mfpmath=sse" for dg-options, and these instructions will magically appear on all targets. Otherwise, the patch looks OK. Uros.