r304935 - Revert r304929 [mips] Add runtime options to enable/disable madd/sub.fmt

Simon Dardis via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 7 13:36:57 PDT 2017


Appears to be fixed, r304936. I'll keep an eye on the buildbots.

Thanks,
Simon
________________________________________
From: cfe-commits [cfe-commits-bounces at lists.llvm.org] on behalf of Evgenii Stepanov via cfe-commits [cfe-commits at lists.llvm.org]
Sent: 07 June 2017 20:53
To: Petar Jovanovic
Cc: cfe-commits
Subject: Re: r304935 - Revert r304929 [mips] Add runtime options to enable/disable madd/sub.fmt

You've left an empty file in test/CodeGen/mips-madd4.c

On Wed, Jun 7, 2017 at 11:57 AM, Petar Jovanovic via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: petarj
> Date: Wed Jun  7 13:57:56 2017
> New Revision: 304935
>
> URL: http://llvm.org/viewvc/llvm-project?rev=304935&view=rev
> Log:
> Revert r304929 [mips] Add runtime options to enable/disable madd/sub.fmt
>
> Revert r304929 since the test broke buildbots.
>
> Original commit:
>
>   [mips] Add runtime options to enable/disable madd.fmt and msub.fmt
>
>   Add options to clang: -mmadd4 and -mno-madd4, use it to enable or disable
>   generation of madd.fmt and similar instructions respectively, as per GCC.
>
>   Patch by Stefan Maksimovic.
>
> Modified:
>     cfe/trunk/include/clang/Driver/Options.td
>     cfe/trunk/lib/Basic/Targets.cpp
>     cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp
>     cfe/trunk/test/CodeGen/mips-madd4.c
>     cfe/trunk/test/Preprocessor/init.c
>
> Modified: cfe/trunk/include/clang/Driver/Options.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=304935&r1=304934&r2=304935&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Driver/Options.td (original)
> +++ cfe/trunk/include/clang/Driver/Options.td Wed Jun  7 13:57:56 2017
> @@ -2001,10 +2001,6 @@ def mdspr2 : Flag<["-"], "mdspr2">, Grou
>  def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group<m_Group>;
>  def msingle_float : Flag<["-"], "msingle-float">, Group<m_Group>;
>  def mdouble_float : Flag<["-"], "mdouble-float">, Group<m_Group>;
> -def mmadd4 : Flag<["-"], "mmadd4">, Group<m_Group>,
> -  HelpText<"Enable the generation of 4-operand madd.s, madd.d and related instructions.">;
> -def mno_madd4 : Flag<["-"], "mno-madd4">, Group<m_Group>,
> -  HelpText<"Disable the generation of 4-operand madd.s, madd.d and related instructions.">;
>  def mmsa : Flag<["-"], "mmsa">, Group<m_Group>,
>    HelpText<"Enable MSA ASE (MIPS only)">;
>  def mno_msa : Flag<["-"], "mno-msa">, Group<m_Group>,
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=304935&r1=304934&r2=304935&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Wed Jun  7 13:57:56 2017
> @@ -7737,7 +7737,6 @@ class MipsTargetInfo : public TargetInfo
>      NoDSP, DSP1, DSP2
>    } DspRev;
>    bool HasMSA;
> -  bool DisableMadd4;
>
>  protected:
>    bool HasFP64;
> @@ -7748,7 +7747,7 @@ public:
>        : TargetInfo(Triple), IsMips16(false), IsMicromips(false),
>          IsNan2008(false), IsSingleFloat(false), IsNoABICalls(false),
>          CanUseBSDABICalls(false), FloatABI(HardFloat), DspRev(NoDSP),
> -        HasMSA(false), DisableMadd4(false), HasFP64(false) {
> +        HasMSA(false), HasFP64(false) {
>      TheCXXABI.set(TargetCXXABI::GenericMIPS);
>
>      setABI((getTriple().getArch() == llvm::Triple::mips ||
> @@ -7994,9 +7993,6 @@ public:
>      if (HasMSA)
>        Builder.defineMacro("__mips_msa", Twine(1));
>
> -    if (DisableMadd4)
> -      Builder.defineMacro("__mips_no_madd4", Twine(1));
> -
>      Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0)));
>      Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth()));
>      Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth()));
> @@ -8159,8 +8155,6 @@ public:
>          DspRev = std::max(DspRev, DSP2);
>        else if (Feature == "+msa")
>          HasMSA = true;
> -      else if (Feature == "+nomadd4")
> -        DisableMadd4 = true;
>        else if (Feature == "+fp64")
>          HasFP64 = true;
>        else if (Feature == "-fp64")
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp?rev=304935&r1=304934&r2=304935&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp Wed Jun  7 13:57:56 2017
> @@ -298,13 +298,6 @@ void mips::getMIPSTargetFeatures(const D
>
>    AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg,
>                     options::OPT_modd_spreg, "nooddspreg");
> -
> -  if (Arg *A = Args.getLastArg(options::OPT_mmadd4, options::OPT_mno_madd4)) {
> -    if (A->getOption().matches(options::OPT_mmadd4))
> -      Features.push_back("-nomadd4");
> -    else
> -      Features.push_back("+nomadd4");
> -  }
>  }
>
>  mips::NanEncoding mips::getSupportedNanEncoding(StringRef &CPU) {
>
> Modified: cfe/trunk/test/CodeGen/mips-madd4.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mips-madd4.c?rev=304935&r1=304934&r2=304935&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/mips-madd4.c (original)
> +++ cfe/trunk/test/CodeGen/mips-madd4.c Wed Jun  7 13:57:56 2017
> @@ -1,86 +0,0 @@
> -// RUN: %clang --target=mips64-unknown-linux -S -mmadd4    %s -o -| FileCheck %s -check-prefix=MADD4
> -// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 %s -o -| FileCheck %s -check-prefix=NOMADD4
> -// RUN: %clang --target=mips64-unknown-linux -S -mmadd4    -fno-honor-nans %s -o -| FileCheck %s -check-prefix=MADD4-NONAN
> -// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=NOMADD4-NONAN
> -
> -float madd_s (float f, float g, float h)
> -{
> -  return (f * g) + h;
> -}
> -// MADD4:   madd.s
> -// NOMADD4: mul.s
> -// NOMADD4: add.s
> -
> -float msub_s (float f, float g, float h)
> -{
> -  return (f * g) - h;
> -}
> -// MADD4:   msub.s
> -// NOMADD4: mul.s
> -// NOMADD4: sub.s
> -
> -double madd_d (double f, double g, double h)
> -{
> -  return (f * g) + h;
> -}
> -// MADD4:   madd.d
> -// NOMADD4: mul.d
> -// NOMADD4: add.d
> -
> -double msub_d (double f, double g, double h)
> -{
> -  return (f * g) - h;
> -}
> -// MADD4:   msub.d
> -// NOMADD4: mul.d
> -// NOMADD4: sub.d
> -
> -
> -float nmadd_s (float f, float g, float h)
> -{
> -  // FIXME: Zero has been explicitly placed to force generation of a positive
> -  // zero in IR until pattern used to match this instruction is changed to
> -  // comply with negative zero as well.
> -  return 0-((f * g) + h);
> -}
> -// MADD4-NONAN:   nmadd.s
> -// NOMADD4-NONAN: mul.s
> -// NOMADD4-NONAN: add.s
> -// NOMADD4-NONAN: sub.s
> -
> -float nmsub_s (float f, float g, float h)
> -{
> -  // FIXME: Zero has been explicitly placed to force generation of a positive
> -  // zero in IR until pattern used to match this instruction is changed to
> -  // comply with negative zero as well.
> -  return 0-((f * g) - h);
> -}
> -// MADD4-NONAN:   nmsub.s
> -// NOMADD4-NONAN: mul.s
> -// NOMADD4-NONAN: sub.s
> -// NOMADD4-NONAN: sub.s
> -
> -double nmadd_d (double f, double g, double h)
> -{
> -  // FIXME: Zero has been explicitly placed to force generation of a positive
> -  // zero in IR until pattern used to match this instruction is changed to
> -  // comply with negative zero as well.
> -  return 0-((f * g) + h);
> -}
> -// MADD4-NONAN:   nmadd.d
> -// NOMADD4-NONAN: mul.d
> -// NOMADD4-NONAN: add.d
> -// NOMADD4-NONAN: sub.d
> -
> -double nmsub_d (double f, double g, double h)
> -{
> -  // FIXME: Zero has been explicitly placed to force generation of a positive
> -  // zero in IR until pattern used to match this instruction is changed to
> -  // comply with negative zero as well.
> -  return 0-((f * g) - h);
> -}
> -// MADD4-NONAN:   nmsub.d
> -// NOMADD4-NONAN: mul.d
> -// NOMADD4-NONAN: sub.d
> -// NOMADD4-NONAN: sub.d
> -
>
> Modified: cfe/trunk/test/Preprocessor/init.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=304935&r1=304934&r2=304935&view=diff
> ==============================================================================
> --- cfe/trunk/test/Preprocessor/init.c (original)
> +++ cfe/trunk/test/Preprocessor/init.c Wed Jun  7 13:57:56 2017
> @@ -4664,16 +4664,6 @@
>  // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MSA %s
>  // MIPS-MSA:#define __mips_msa 1
>  //
> -// RUN: %clang_cc1 -target-feature +nomadd4 \
> -// RUN:   -E -dM -triple=mips-none-none < /dev/null \
> -// RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NOMADD4 %s
> -// MIPS-NOMADD4:#define __mips_no_madd4 1
> -//
> -// RUN: %clang_cc1 \
> -// RUN:   -E -dM -triple=mips-none-none < /dev/null \
> -// RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MADD4 %s
> -// MIPS-MADD4-NOT:#define __mips_no_madd4 1
> -//
>  // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \
>  // RUN:   -E -dM -triple=mips-none-none < /dev/null \
>  // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
cfe-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list