> -----Original Message-----
> From: Matthew Fortune [mailto:matthew.fort...@imgtec.com]
> Sent: Thursday, January 19, 2017 5:30 PM
> To: Moore, Catherine <catherine_mo...@mentor.com>
> Cc: 'Aurelien Jarno' <aurel...@aurel32.net>; 'Richard Sandiford'
> <rdsandif...@googlemail.com>; Loosemore, Sandra
> <sandra_loosem...@mentor.com>; Yunqiang Su
> <yunqiang...@imgtec.com>; 'gcc-patches' <gcc-patches@gcc.gnu.org>
> Subject: RE: [patch mips/gcc] add build-time and runtime options to
> disable or set madd.fmt type
> 
> Matthew Fortune <matthew.fort...@imgtec.com> writes:
> > I've rewritten/simplified this patch as it provides far too much
> control
> > to end users who will undoubtedly shoot themselves in the foot so to
> > speak. The option I intend to support is simply --with-madd4 --
> without-madd4
> > and -mmadd4 -mno-madd4. This is a simple enable/disable on top of
> > architecture checks to use/not use the madd4 family of instructions.
> >
> > We have to keep each of these unusual features simple so that we
> can somehow
> > reason about them in the future.
> >
> 
> Here is the tested patch.  Configure time default set/not set tested and
> testsuite
> fixes in place to deal with the fallout from running with the madd4
> instructions
> disabled.  Tests done with an o32 config on mips64el-linux-gnu.  If
> there is any
> other fallout from other test configurations I'll catch those as I try to
> get the
> rest of the testsuite issues resolved before release.
> 
> Catherine, any issues to raise on this new option?

I committed this patch after fixing a couple of typos in the documentation and 
ChangeLog entry.
No other objections.
Catherine

> 
> Thanks,
> Matthew
> 
> gcc/
> 
>       * config.gcc (supported_defaults): Add madd4.
>       (with_madd4): Add validation.
>       (all_defaults): Add madd4.
>       * config/mips/mips.opt (mmadd4): New option.
>       * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a
> default for
>       mmadd4.
>       (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
>       __mips_no_madd4.
>       (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
>       (ISA_HAS_FUSED_MADD4): Likewise.
>       * gcc/doc/invoke.texi (-mmadd4): Document the new option.
>       * doc/install.texi (--with-madd4): Document the new option.
> 
> gcc/testsuite/
> 
>       * gcc.target/mips/madd4-1.c: New file.
>       * gcc.target/mips/madd4-2.c: Likewise.
>       * gcc.target/mips/mips.exp (mips_option_groups): Add ghost
> option
>       HAS_MADD4.
>       (mips_option_groups): Add -m[no-]madd4.
>       (mips-dg-init): Detect default -mno-madd4.
>       (mips-dg-options): Handle HAS_MADD4 arch
> upgrade/downgrade.
>       * gcc.target/mips/mips-ps-type.c: Add -mmadd4 test option.
>       * gcc.target/mips/mips-ps-type-2.c: Likewise.
>       * gcc.target/mips/nmadd-1.c: Likewise.
>       * gcc.target/mips/nmadd-2.c: Likewise.
>       * gcc.target/mips/nmadd-3.c: Likewise.
> ---
>  gcc/ChangeLog                                  | 16 ++++++++++++++++
>  gcc/config.gcc                                 | 19 +++++++++++++++++--
>  gcc/config/mips/mips.h                         | 12 +++++++++---
>  gcc/config/mips/mips.opt                       |  4 ++++
>  gcc/doc/install.texi                           | 14 ++++++++++++++
>  gcc/doc/invoke.texi                            |  8 +++++++-
>  gcc/testsuite/ChangeLog                        | 15 +++++++++++++++
>  gcc/testsuite/gcc.target/mips/madd4-1.c        | 14 ++++++++++++++
>  gcc/testsuite/gcc.target/mips/madd4-2.c        | 14 ++++++++++++++
>  gcc/testsuite/gcc.target/mips/mips-ps-type-2.c |  2 +-
>  gcc/testsuite/gcc.target/mips/mips-ps-type.c   |  2 +-
>  gcc/testsuite/gcc.target/mips/mips.exp         | 12 +++++++++++-
>  gcc/testsuite/gcc.target/mips/nmadd-1.c        |  2 +-
>  gcc/testsuite/gcc.target/mips/nmadd-2.c        |  2 +-
>  gcc/testsuite/gcc.target/mips/nmadd-3.c        |  2 +-
>  15 files changed, 126 insertions(+), 12 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/mips/madd4-1.c
>  create mode 100644 gcc/testsuite/gcc.target/mips/madd4-2.c
> 
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index e53f9e1..7496071 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,19 @@
> +2017-01-19  Matthew Fortune  <matthew.fort...@imgtec.com>
> +         Yunqiang Su  <yunqiang...@imgtec.com>
> +
> +     * config.gcc (supported_defaults): Add madd4.
> +     (with_madd4): Add validation.
> +     (all_defaults): Add madd4.
> +     * config/mips/mips.opt (mmadd4): New option.
> +     * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a
> default for
> +     mmadd4.
> +     (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
> +     __mips_no_madd4.
> +     (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
> +     (ISA_HAS_FUSED_MADD4): Likewise.
> +     * gcc/doc/invoke.texi (-mmadd4): Document the new option.
> +     * doc/install.texi (--with-madd4): Document the new option.
> +
>  2017-01-19  Chenghua Xu  <paul.hua...@gmail.com>
> 
>       * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index dd8c08c..9e67d36 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -3940,7 +3940,7 @@ case "${target}" in
>               ;;
> 
>       mips*-*-*)
> -             supported_defaults="abi arch arch_32 arch_64 float
> fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt
> synci lxc1-sxc1"
> +             supported_defaults="abi arch arch_32 arch_64 float
> fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt
> synci lxc1-sxc1 madd4"
> 
>               case ${with_float} in
>               "" | soft | hard)
> @@ -4078,6 +4078,21 @@ case "${target}" in
>                       exit 1
>                       ;;
>               esac
> +
> +             case ${with_madd4} in
> +             yes)
> +                     with_madd4=madd4
> +                     ;;
> +             no)
> +                     with_madd4=no-madd4
> +                     ;;
> +             "")
> +                     ;;
> +             *)
> +                     echo "Unknown madd4 type used in --with-
> madd4" 1>&2
> +                     exit 1
> +                     ;;
> +             esac
>               ;;
> 
>       nds32*-*-*)
> @@ -4511,7 +4526,7 @@ case ${target} in
>  esac
> 
>  t=
> -all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune
> tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32
> divide llsc mips-plt synci tls lxc1-sxc1"
> +all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune
> tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32
> divide llsc mips-plt synci tls lxc1-sxc1 madd4"
>  for option in $all_defaults
>  do
>       eval "val=\$with_"`echo $option | sed s/-/_/g`
> diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
> index 81032c9..23e1672 100644
> --- a/gcc/config/mips/mips.h
> +++ b/gcc/config/mips/mips.h
> @@ -639,6 +639,8 @@ struct mips_cpu_info {
>       builtin_define ("__GCC_HAVE_BUILTIN_MIPS_CACHE");
>       \
>        if (!ISA_HAS_LXC1_SXC1)
>       \
>       builtin_define ("__mips_no_lxc1_sxc1");
>       \
> +      if (!ISA_HAS_UNFUSED_MADD4 && !ISA_HAS_FUSED_MADD4)
>       \
> +     builtin_define ("__mips_no_madd4");
>       \
>      }
>       \
>    while (0)
> 
> @@ -869,7 +871,8 @@ struct mips_cpu_info {
>    {"llsc", "%{!mllsc:%{!mno-llsc:-m%(VALUE)}}" }, \
>    {"mips-plt", "%{!mplt:%{!mno-plt:-m%(VALUE)}}" }, \
>    {"synci", "%{!msynci:%{!mno-synci:-m%(VALUE)}}" },
>       \
> -  {"lxc1-sxc1", "%{!mlxc1-sxc1:%{!mno-lxc1-sxc1:-m%(VALUE)}}" } \
> +  {"lxc1-sxc1", "%{!mlxc1-sxc1:%{!mno-lxc1-sxc1:-m%(VALUE)}}" }, \
> +  {"madd4", "%{!mmadd4:%{!mno-madd4:-m%(VALUE)}}" } \
> 
>  /* A spec that infers the:
>     -mnan=2008 setting from a -mips argument,
> @@ -1066,11 +1069,14 @@ struct mips_cpu_info {
> 
>  /* ISA has 4 operand fused madd instructions of the form
>     'd = [+-] (a * b [+-] c)'.  */
> -#define ISA_HAS_FUSED_MADD4  (TARGET_MIPS8000 ||
> TARGET_LOONGSON_3A)
> +#define ISA_HAS_FUSED_MADD4  (mips_madd4
>       \
> +                              && (TARGET_MIPS8000
>       \
> +                                  || TARGET_LOONGSON_3A))
> 
>  /* ISA has 4 operand unfused madd instructions of the form
>     'd = [+-] (a * b [+-] c)'.  */
> -#define ISA_HAS_UNFUSED_MADD4        (ISA_HAS_FP4
>       \
> +#define ISA_HAS_UNFUSED_MADD4        (mips_madd4
>       \
> +                              && ISA_HAS_FP4
>       \
>                                && !TARGET_MIPS8000
>       \
>                                && !TARGET_LOONGSON_3A)
> 
> diff --git a/gcc/config/mips/mips.opt b/gcc/config/mips/mips.opt
> index 75ebafd..7c4b607 100644
> --- a/gcc/config/mips/mips.opt
> +++ b/gcc/config/mips/mips.opt
> @@ -392,6 +392,10 @@ mlxc1-sxc1
>  Target Report Var(mips_lxc1_sxc1) Init(1)
>  Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable.
> 
> +mmadd4
> +Target Report Var(mips_madd4) Init(1)
> +Use 4-operand madd.s/madd.d and related instructions where
> applicable.
> +
>  mtune=
>  Target RejectNegative Joined Var(mips_tune_option) ToLower
> Enum(mips_arch_opt_value)
>  -mtune=PROCESSOR     Optimize the output for PROCESSOR.
> diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
> index 712b82a..e2ff308 100644
> --- a/gcc/doc/install.texi
> +++ b/gcc/doc/install.texi
> @@ -1394,6 +1394,20 @@ in @code{lwxc1} type instructions.  This
> assumption holds true in a
>  pure 32-bit environment and can hold true in a 64-bit environment if
>  the address space is accurately set to be 32-bit for o32 and n32.
> 
> +@item --with-madd4
> +On MIPS targets, make @option{-mmadd4} the default when no
> +@option{-mno-madd4} option is passed.  This is the default.
> +
> +@item --without-madd4
> +On MIPS targets, make @option{-mno-madd4} the default when no
> +@option{-mmadd4} option is passed.  The @code{madd4} instruction
> +family can be problematic when targetting a combination of cores
> that
> +implement these instructions differently.  There are two known cores
> +that implemeent these as fused operations instead of unfused
> (where
> +unfused is normally expected).  Disabling these instructions is the
> +only way to ensure compatible code is generated; this will incur
> +a performance penalty.
> +
>  @item --with-mips-plt
>  On MIPS targets, make use of copy relocations and PLTs.
>  These features are extensions to the traditional
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 2d2976b..c04f415 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -909,7 +909,7 @@ Objective-C and Objective-C++ Dialects}.
>  -mcompact-branches=@var{policy} @gol
>  -mfp-exceptions  -mno-fp-exceptions @gol
>  -mvr4130-align  -mno-vr4130-align  -msynci  -mno-synci @gol
> --mlxc1-sxc1 -mno-lxc1-sxc1 @gol
> +-mlxc1-sxc1 -mno-lxc1-sxc1 -mmadd4 -mno-madd4 @gol
>  -mrelax-pic-calls  -mno-relax-pic-calls  -mmcount-ra-address @gol
>  -mframe-header-opt  -mno-frame-header-opt}
> 
> @@ -19939,6 +19939,12 @@ This optimization is off by default at all
> optimization levels.
>  When applicable, enable (disable) the generation of @code{lwxc1},
>  @code{swxc1}, @code{ldxc1}, @code{sdxc1} instructions.  Enabled by
> default.
> 
> +@item -mmadd4
> +@itemx -mno-madd4
> +@opindex mmadd4
> +When applicable, enable (disable) the generation of 4-operand
> @code{madd.s},
> +@code{madd.d} and related instructions.  Enabled by default.
> +
>  @end table
> 
>  @node MMIX Options
> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
> index 0ba8f93..34f15bb 100644
> --- a/gcc/testsuite/ChangeLog
> +++ b/gcc/testsuite/ChangeLog
> @@ -1,5 +1,20 @@
>  2017-01-19  Matthew Fortune  <matthew.fort...@imgtec.com>
> 
> +     * gcc.target/mips/madd4-1.c: New file.
> +     * gcc.target/mips/madd4-2.c: Likewise.
> +     * gcc.target/mips/mips.exp (mips_option_groups): Add ghost
> option
> +     HAS_MADD4.
> +     (mips_option_groups): Add -m[no-]madd4.
> +     (mips-dg-init): Detect default -mno-madd4.
> +     (mips-dg-options): Handle HAS_MADD4 arch
> upgrade/downgrade.
> +     * gcc.target/mips/mips-ps-type.c: Add -mmadd4 test option.
> +     * gcc.target/mips/mips-ps-type-2.c: Likewise.
> +     * gcc.target/mips/nmadd-1.c: Likewise.
> +     * gcc.target/mips/nmadd-2.c: Likewise.
> +     * gcc.target/mips/nmadd-3.c: Likewise.
> +
> +2017-01-19  Matthew Fortune  <matthew.fort...@imgtec.com>
> +
>       PR target/78176
>       * gcc.target/mips/lxc1-sxc1-1.c: New file.
>       * gcc.target/mips/lxc1-sxc1-2.c: Likewise.
> diff --git a/gcc/testsuite/gcc.target/mips/madd4-1.c
> b/gcc/testsuite/gcc.target/mips/madd4-1.c
> new file mode 100644
> index 0000000..d0dee36
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/mips/madd4-1.c
> @@ -0,0 +1,14 @@
> +/* { dg-do compile } */
> +/* { dg-options "-ffast-math -mno-madd4 (HAS_MADD4) -mhard-
> float" } */
> +/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
> +/* { dg-final { scan-assembler-not "\tmadd.s\t" } } */
> +
> +#ifndef __mips_no_madd4
> +#error missing definition of __mips_no_madd4
> +#endif
> +
> +NOMIPS16 float
> +madd4 (float f, float g, float h)
> +{
> +  return (f * g) + h;
> +}
> diff --git a/gcc/testsuite/gcc.target/mips/madd4-2.c
> b/gcc/testsuite/gcc.target/mips/madd4-2.c
> new file mode 100644
> index 0000000..eb83023
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/mips/madd4-2.c
> @@ -0,0 +1,14 @@
> +/* { dg-do compile } */
> +/* { dg-options "-ffast-math -mmadd4 (HAS_MADD4) -mhard-float" }
> */
> +/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
> +/* { dg-final { scan-assembler "\tmadd.s\t" } } */
> +
> +#ifdef __mips_no_madd4
> +#error unexpected definition of __mips_no_madd4
> +#endif
> +
> +NOMIPS16 float
> +madd4 (float f, float g, float h)
> +{
> +  return (f * g) + h;
> +}
> diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
> b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
> index 6aba815..fecc35b 100644
> --- a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
> +++ b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
> @@ -1,7 +1,7 @@
>  /* Test v2sf calculations.  The nmadd and nmsub patterns need
>     -ffinite-math-only.  */
>  /* { dg-do compile } */
> -/* { dg-options "(HAS_MADDPS) -mgp32 -mpaired-single -ffinite-
> math-only forbid_cpu=octeon.*" } */
> +/* { dg-options "(HAS_MADDPS) -mmadd4 -mgp32 -mpaired-single -
> ffinite-math-only forbid_cpu=octeon.*" } */
>  /* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { ""
> } } */
>  /* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
>  /* { dg-final { scan-assembler "\tmov.ps\t" } } */
> diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-type.c
> b/gcc/testsuite/gcc.target/mips/mips-ps-type.c
> index 454ffc3..d74d4b5 100644
> --- a/gcc/testsuite/gcc.target/mips/mips-ps-type.c
> +++ b/gcc/testsuite/gcc.target/mips/mips-ps-type.c
> @@ -1,7 +1,7 @@
>  /* Test v2sf calculations.  The nmadd and nmsub patterns need
>     -ffinite-math-only.  */
>  /* { dg-do compile } */
> -/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only
> forbid_cpu=octeon.*" } */
> +/* { dg-options "-mpaired-single -mmadd4 -mgp64 -ffinite-math-only
> forbid_cpu=octeon.*" } */
>  /* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { ""
> } } */
>  /* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
>  /* { dg-final { scan-assembler "\tmov.ps\t" } } */
> diff --git a/gcc/testsuite/gcc.target/mips/mips.exp
> b/gcc/testsuite/gcc.target/mips/mips.exp
> index 5296a15f..78fbba0 100644
> --- a/gcc/testsuite/gcc.target/mips/mips.exp
> +++ b/gcc/testsuite/gcc.target/mips/mips.exp
> @@ -256,6 +256,7 @@ set mips_option_groups {
>      ldc "HAS_LDC"
>      movn "HAS_MOVN"
>      madd "HAS_MADD"
> +    madd4_ghost "HAS_MADD4"
>      maddps "HAS_MADDPS"
>      lsa "(|!)HAS_LSA"
>      lxc1 "HAS_LXC1"
> @@ -284,6 +285,7 @@ foreach option {
>      local-sdata
>      long-calls
>      lxc1-sxc1
> +    madd4
>      paired-single
>      plt
>      shared
> @@ -863,6 +865,12 @@ proc mips-dg-init {} {
>           "-mlxc1-sxc1"
>           #endif
> 
> +         #ifdef __mips_no_madd4
> +         "-mno-madd4"
> +         #else
> +         "-mmadd4"
> +         #endif
> +
>           #ifdef __mips_synci
>           "-msynci",
>           #else
> @@ -1182,6 +1190,7 @@ proc mips-dg-options { args } {
>       #
>       } elseif { $isa < 4
>                  && ([mips_have_test_option_p options "HAS_LXC1"]
> +                    || [mips_have_test_option_p options
> "HAS_MADD4"]
>                      || [mips_have_test_option_p options
> "HAS_MOVN"]) } {
>           mips_make_test_option options "-mips4"
>          # We need MIPS III or higher for:
> @@ -1224,8 +1233,9 @@ proc mips-dg-options { args } {
>                      || [mips_have_test_option_p options "-mfix-
> r10000"]
>                      || [mips_have_test_option_p options
> "NOT_HAS_DMUL"]
>                      || [mips_have_test_option_p options "HAS_LXC1"]
> -                    || [mips_have_test_option_p options
> "HAS_MOVN"]
>                      || [mips_have_test_option_p options
> "HAS_MADD"]
> +                    || [mips_have_test_option_p options
> "HAS_MADD4"]
> +                    || [mips_have_test_option_p options
> "HAS_MOVN"]
>                      || [mips_have_test_option_p options "-mpaired-
> single"]
>                      || [mips_have_test_option_p options "-
> mnan=legacy"]
>                      || [mips_have_test_option_p options "-
> mabs=legacy"]
> diff --git a/gcc/testsuite/gcc.target/mips/nmadd-1.c
> b/gcc/testsuite/gcc.target/mips/nmadd-1.c
> index 00be144..746fbbb 100644
> --- a/gcc/testsuite/gcc.target/mips/nmadd-1.c
> +++ b/gcc/testsuite/gcc.target/mips/nmadd-1.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-ffast-math isa=4 -mhard-float" } */
> +/* { dg-options "-ffast-math -mmadd4 isa=4 -mhard-float" } */
>  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
>  /* { dg-final { scan-assembler "\tnmadd.s\t" } } */
>  /* { dg-final { scan-assembler "\tnmadd.d\t" } } */
> diff --git a/gcc/testsuite/gcc.target/mips/nmadd-2.c
> b/gcc/testsuite/gcc.target/mips/nmadd-2.c
> index a271f33..4c8dd65 100644
> --- a/gcc/testsuite/gcc.target/mips/nmadd-2.c
> +++ b/gcc/testsuite/gcc.target/mips/nmadd-2.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-fno-fast-math -ffinite-math-only isa=4 -mhard-float"
> } */
> +/* { dg-options "-fno-fast-math -ffinite-math-only -mmadd4 isa=4 -
> mhard-float" } */
>  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
>  /* { dg-final { scan-assembler "\tnmadd.s\t" } } */
>  /* { dg-final { scan-assembler "\tnmadd.d\t" } } */
> diff --git a/gcc/testsuite/gcc.target/mips/nmadd-3.c
> b/gcc/testsuite/gcc.target/mips/nmadd-3.c
> index 85de518..b55de96 100644
> --- a/gcc/testsuite/gcc.target/mips/nmadd-3.c
> +++ b/gcc/testsuite/gcc.target/mips/nmadd-3.c
> @@ -1,7 +1,7 @@
>  /* The same code as nmadd-2.c, but compiled with -fno-finite-math-
> only.
>     We can't use nmadd and nmsub in that case.  */
>  /* { dg-do compile } */
> -/* { dg-options "-fno-fast-math -fno-finite-math-only isa=4 -mhard-
> float" } */
> +/* { dg-options "-fno-fast-math -fno-finite-math-only -mmadd4 isa=4
> -mhard-float" } */
>  /* { dg-final { scan-assembler-not "\tnmadd" } } */
>  /* { dg-final { scan-assembler-not "\tnmsub" } } */
> 
> --
> 2.2.1

Reply via email to