<div dir="ltr">Looks like it's causing <div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/1969/steps/build%20clang%2Fmsan/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/1969/steps/build%20clang%2Fmsan/logs/stdio</a><br></div><div><br></div><div><pre style="font-family:"Courier New",courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="gmail-stdout">FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o
/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen -I/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen -Iinclude -I/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/include -nostdinc++ -isystem /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/include -isystem /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/include/c++/v1 -lc++abi -Wl,--rpath=/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/lib -L/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/lib -fsanitize=memory -w -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fno-omit-frame-pointer -gline-tables-only -fsanitize=memory -fcolor-diagnostics -ffunction-sections -fdata-sections -O3 -UNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o -c /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen/MIRPrinter.cpp
clang-5.0: /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/Support/Casting.h:106: static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::ConstantInt; From = llvm::Value]: Assertion `Val && "isa<> used on a null pointer"' failed.
#0 0x00000000020b5d4a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x20b5d4a)
#1 0x00000000020b3abe llvm::sys::RunSignalHandlers() (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x20b3abe)
#2 0x00000000020b3c32 SignalHandler(int) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x20b3c32)
#3 0x00007f319d790390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#4 0x00007f319c71c428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428)
#5 0x00007f319c71e02a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a)
#6 0x00007f319c714bd7 (/lib/x86_64-linux-gnu/libc.so.6+0x2dbd7)
#7 0x00007f319c714c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
#8 0x000000000084f464 llvm::isa_impl_wrap<llvm::ConstantExpr, llvm::Value const*, llvm::Value const*>::doit(llvm::Value const* const&) [clone .isra.166] [clone .part.167] (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x84f464)
#9 0x0000000001c35d4c llvm::Value::stripPointerCasts() const (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x1c35d4c)
#10 0x0000000001e996e1 eliminateDeadStores(llvm::BasicBlock&, llvm::AAResults*, llvm::MemoryDependenceResults*, llvm::DominatorTree*, llvm::TargetLibraryInfo const*) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x1e996e1)
#11 0x0000000001e9ad2a eliminateDeadStores(llvm::Function&, llvm::AAResults*, llvm::MemoryDependenceResults*, llvm::DominatorTree*, llvm::TargetLibraryInfo const*) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x1e9ad2a)
#12 0x0000000001bff3a3 llvm::FPPassManager::runOnFunction(llvm::Function&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x1bff3a3)
#13 0x0000000001bff46c llvm::FPPassManager::runOnModule(llvm::Module&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/</span><span class="gmail-stdout">build/llvm_build0/bin/clang-5.0+0x1bff46c)
</span><span class="gmail-stdout">#14 0x0000000001bfef0d llvm::legacy::PassManagerImpl::run(llvm::Module&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x1bfef0d)
#15 0x000000000225c6d1 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x225c6d1)
#16 0x00000000029691a9 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x29691a9)
#17 0x0000000002d40028 clang::ParseAST(clang::Sema&, bool, bool) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x2d40028)
#18 0x000000000296852f clang::CodeGenAction::ExecuteAction() (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x296852f)
#19 0x000000000261354e clang::FrontendAction::Execute() (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x261354e)
#20 0x00000000025e22d6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x25e22d6)
#21 0x00000000026a5f62 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0x26a5f62)
#22 0x0000000000aafe48 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0xaafe48)
#23 0x0000000000a3e169 main (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0xa3e169)
#24 0x00007f319c707830 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20830)
#25 0x0000000000aac2f9 _start (/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0+0xaac2f9)
Stack dump:
0. Program arguments: /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin/clang-5.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name MIRPrinter.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debug-info-kind=line-tables-only -dwarf-version=4 -debugger-tuning=gdb -ffunction-sections -fdata-sections -coverage-notes-file /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build_msan/lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.gcno -nostdinc++ -resource-dir /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/lib/clang/6.0.0 -dependency-file lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o.d -sys-header-deps -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o -isystem /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/include -isystem /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/libcxx_build_msan/include/c++/v1 -D GTEST_HAS_RTTI=0 -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -I lib/CodeGen -I /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen -I include -I /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/include -U NDEBUG -internal-isystem /usr/local/include -internal-isystem /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/lib/clang/6.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Werror=date-time -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -pedantic -w -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build_msan -ferror-limit 19 -fmessage-length 0 -fvisibility-inlines-hidden -fsanitize=memory -fsanitize-blacklist=/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/lib/clang/6.0.0/msan_blacklist.txt -fno-assume-sane-operator-new -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o -x c++ /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen/MIRPrinter.cpp
1. <eof> parser at end of file
2. Per-module optimization passes
3. Running pass 'Function Pass Manager' on module '/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/CodeGen/MIRPrinter.cpp'.
4. Running pass 'Dead Store Elimination' on function '@_ZN4llvm4yaml13MappingTraitsINS0_15MachineFunctionEE7mappingERNS0_2IOERS2_'
clang-5.0: error: unable to execute command: Aborted (core dumped)
clang-5.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0 (trunk 310060)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm_build0/bin
clang-5.0: note: diagnostic msg: PLEASE submit a bug report to <a href="http://llvm.org/bugs/">http://llvm.org/bugs/</a> and include the crash backtrace, preprocessed source, and associated run script.
clang-5.0: note: diagnostic msg:
********************</span></pre></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 4, 2017 at 5:37 AM, Stefan Maksimovic via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: smaksimovic<br>
Date: Fri Aug 4 05:37:34 2017<br>
New Revision: 310057<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=310057&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=310057&view=rev</a><br>
Log:<br>
Revert r304953 for release 5.0.0<br>
<br>
This is causing failures when compiling clang with -O3<br>
as one of the structures used by clang is passed by<br>
value and uses the fastcc calling convention.<br>
<br>
Faliures manifest for stage2 mips build.<br>
<br>
Removed:<br>
cfe/trunk/test/CodeGen/mips-<wbr>madd4.c<br>
Modified:<br>
cfe/trunk/include/clang/<wbr>Driver/Options.td<br>
cfe/trunk/lib/Basic/Targets/<wbr>Mips.cpp<br>
cfe/trunk/lib/Basic/Targets/<wbr>Mips.h<br>
cfe/trunk/lib/Driver/<wbr>ToolChains/Arch/Mips.cpp<br>
cfe/trunk/test/Preprocessor/<wbr>init.c<br>
<br>
Modified: cfe/trunk/include/clang/<wbr>Driver/Options.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/include/<wbr>clang/Driver/Options.td?rev=<wbr>310057&r1=310056&r2=310057&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/<wbr>Driver/Options.td (original)<br>
+++ cfe/trunk/include/clang/<wbr>Driver/Options.td Fri Aug 4 05:37:34 2017<br>
@@ -2019,10 +2019,6 @@ def mdspr2 : Flag<["-"], "mdspr2">, Grou<br>
def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group<m_Group>;<br>
def msingle_float : Flag<["-"], "msingle-float">, Group<m_Group>;<br>
def mdouble_float : Flag<["-"], "mdouble-float">, Group<m_Group>;<br>
-def mmadd4 : Flag<["-"], "mmadd4">, Group<m_Group>,<br>
- HelpText<"Enable the generation of 4-operand madd.s, madd.d and related instructions.">;<br>
-def mno_madd4 : Flag<["-"], "mno-madd4">, Group<m_Group>,<br>
- HelpText<"Disable the generation of 4-operand madd.s, madd.d and related instructions.">;<br>
def mmsa : Flag<["-"], "mmsa">, Group<m_Group>,<br>
HelpText<"Enable MSA ASE (MIPS only)">;<br>
def mno_msa : Flag<["-"], "mno-msa">, Group<m_Group>,<br>
<br>
Modified: cfe/trunk/lib/Basic/Targets/<wbr>Mips.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/Basic/<wbr>Targets/Mips.cpp?rev=310057&<wbr>r1=310056&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Basic/Targets/<wbr>Mips.cpp (original)<br>
+++ cfe/trunk/lib/Basic/Targets/<wbr>Mips.cpp Fri Aug 4 05:37:34 2017<br>
@@ -166,9 +166,6 @@ void MipsTargetInfo::<wbr>getTargetDefines(co<br>
if (HasMSA)<br>
Builder.defineMacro("__mips_<wbr>msa", Twine(1));<br>
<br>
- if (DisableMadd4)<br>
- Builder.defineMacro("__mips_<wbr>no_madd4", Twine(1));<br>
-<br>
Builder.defineMacro("_MIPS_<wbr>SZPTR", Twine(getPointerWidth(0)));<br>
Builder.defineMacro("_MIPS_<wbr>SZINT", Twine(getIntWidth()));<br>
Builder.defineMacro("_MIPS_<wbr>SZLONG", Twine(getLongWidth()));<br>
<br>
Modified: cfe/trunk/lib/Basic/Targets/<wbr>Mips.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/Mips.h?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/Basic/<wbr>Targets/Mips.h?rev=310057&r1=<wbr>310056&r2=310057&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Basic/Targets/<wbr>Mips.h (original)<br>
+++ cfe/trunk/lib/Basic/Targets/<wbr>Mips.h Fri Aug 4 05:37:34 2017<br>
@@ -52,7 +52,6 @@ class LLVM_LIBRARY_VISIBILITY MipsTarget<br>
enum MipsFloatABI { HardFloat, SoftFloat } FloatABI;<br>
enum DspRevEnum { NoDSP, DSP1, DSP2 } DspRev;<br>
bool HasMSA;<br>
- bool DisableMadd4;<br>
<br>
protected:<br>
bool HasFP64;<br>
@@ -63,7 +62,7 @@ public:<br>
: TargetInfo(Triple), IsMips16(false), IsMicromips(false),<br>
IsNan2008(false), IsSingleFloat(false), IsNoABICalls(false),<br>
CanUseBSDABICalls(false), FloatABI(HardFloat), DspRev(NoDSP),<br>
- HasMSA(false), DisableMadd4(false), HasFP64(false) {<br>
+ HasMSA(false), HasFP64(false) {<br>
TheCXXABI.set(TargetCXXABI::<wbr>GenericMIPS);<br>
<br>
setABI((getTriple().getArch() == llvm::Triple::mips ||<br>
@@ -320,8 +319,6 @@ public:<br>
DspRev = std::max(DspRev, DSP2);<br>
else if (Feature == "+msa")<br>
HasMSA = true;<br>
- else if (Feature == "+nomadd4")<br>
- DisableMadd4 = true;<br>
else if (Feature == "+fp64")<br>
HasFP64 = true;<br>
else if (Feature == "-fp64")<br>
<br>
Modified: cfe/trunk/lib/Driver/<wbr>ToolChains/Arch/Mips.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/Driver/<wbr>ToolChains/Arch/Mips.cpp?rev=<wbr>310057&r1=310056&r2=310057&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Driver/<wbr>ToolChains/Arch/Mips.cpp (original)<br>
+++ cfe/trunk/lib/Driver/<wbr>ToolChains/Arch/Mips.cpp Fri Aug 4 05:37:34 2017<br>
@@ -297,8 +297,6 @@ void mips::getMIPSTargetFeatures(<wbr>const D<br>
<br>
AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg,<br>
options::OPT_modd_spreg, "nooddspreg");<br>
- AddTargetFeature(Args, Features, options::OPT_mno_madd4, options::OPT_mmadd4,<br>
- "nomadd4");<br>
AddTargetFeature(Args, Features, options::OPT_mlong_calls,<br>
options::OPT_mno_long_calls, "long-calls");<br>
AddTargetFeature(Args, Features, options::OPT_mmt, options::OPT_mno_mt, "mt");<br>
<br>
Removed: cfe/trunk/test/CodeGen/mips-<wbr>madd4.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mips-madd4.c?rev=310056&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/<wbr>CodeGen/mips-madd4.c?rev=<wbr>310056&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/CodeGen/mips-<wbr>madd4.c (original)<br>
+++ cfe/trunk/test/CodeGen/mips-<wbr>madd4.c (removed)<br>
@@ -1,87 +0,0 @@<br>
-// REQUIRES: mips-registered-target<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mmadd4 %s -o -| FileCheck %s -check-prefix=MADD4<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 %s -o -| FileCheck %s -check-prefix=NOMADD4<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mmadd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=MADD4-NONAN<br>
-// RUN: %clang --target=mips64-unknown-linux -S -mno-madd4 -fno-honor-nans %s -o -| FileCheck %s -check-prefix=NOMADD4-NONAN<br>
-<br>
-float madd_s (float f, float g, float h)<br>
-{<br>
- return (f * g) + h;<br>
-}<br>
-// MADD4: madd.s<br>
-// NOMADD4: mul.s<br>
-// NOMADD4: add.s<br>
-<br>
-float msub_s (float f, float g, float h)<br>
-{<br>
- return (f * g) - h;<br>
-}<br>
-// MADD4: msub.s<br>
-// NOMADD4: mul.s<br>
-// NOMADD4: sub.s<br>
-<br>
-double madd_d (double f, double g, double h)<br>
-{<br>
- return (f * g) + h;<br>
-}<br>
-// MADD4: madd.d<br>
-// NOMADD4: mul.d<br>
-// NOMADD4: add.d<br>
-<br>
-double msub_d (double f, double g, double h)<br>
-{<br>
- return (f * g) - h;<br>
-}<br>
-// MADD4: msub.d<br>
-// NOMADD4: mul.d<br>
-// NOMADD4: sub.d<br>
-<br>
-<br>
-float nmadd_s (float f, float g, float h)<br>
-{<br>
- // FIXME: Zero has been explicitly placed to force generation of a positive<br>
- // zero in IR until pattern used to match this instruction is changed to<br>
- // comply with negative zero as well.<br>
- return 0-((f * g) + h);<br>
-}<br>
-// MADD4-NONAN: nmadd.s<br>
-// NOMADD4-NONAN: mul.s<br>
-// NOMADD4-NONAN: add.s<br>
-// NOMADD4-NONAN: sub.s<br>
-<br>
-float nmsub_s (float f, float g, float h)<br>
-{<br>
- // FIXME: Zero has been explicitly placed to force generation of a positive<br>
- // zero in IR until pattern used to match this instruction is changed to<br>
- // comply with negative zero as well.<br>
- return 0-((f * g) - h);<br>
-}<br>
-// MADD4-NONAN: nmsub.s<br>
-// NOMADD4-NONAN: mul.s<br>
-// NOMADD4-NONAN: sub.s<br>
-// NOMADD4-NONAN: sub.s<br>
-<br>
-double nmadd_d (double f, double g, double h)<br>
-{<br>
- // FIXME: Zero has been explicitly placed to force generation of a positive<br>
- // zero in IR until pattern used to match this instruction is changed to<br>
- // comply with negative zero as well.<br>
- return 0-((f * g) + h);<br>
-}<br>
-// MADD4-NONAN: nmadd.d<br>
-// NOMADD4-NONAN: mul.d<br>
-// NOMADD4-NONAN: add.d<br>
-// NOMADD4-NONAN: sub.d<br>
-<br>
-double nmsub_d (double f, double g, double h)<br>
-{<br>
- // FIXME: Zero has been explicitly placed to force generation of a positive<br>
- // zero in IR until pattern used to match this instruction is changed to<br>
- // comply with negative zero as well.<br>
- return 0-((f * g) - h);<br>
-}<br>
-// MADD4-NONAN: nmsub.d<br>
-// NOMADD4-NONAN: mul.d<br>
-// NOMADD4-NONAN: sub.d<br>
-// NOMADD4-NONAN: sub.d<br>
-<br>
<br>
Modified: cfe/trunk/test/Preprocessor/<wbr>init.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=310057&r1=310056&r2=310057&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/<wbr>Preprocessor/init.c?rev=<wbr>310057&r1=310056&r2=310057&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/Preprocessor/<wbr>init.c (original)<br>
+++ cfe/trunk/test/Preprocessor/<wbr>init.c Fri Aug 4 05:37:34 2017<br>
@@ -4840,16 +4840,6 @@<br>
// RUN: | FileCheck -match-full-lines -check-prefix MIPS-MSA %s<br>
// MIPS-MSA:#define __mips_msa 1<br>
//<br>
-// RUN: %clang_cc1 -target-feature +nomadd4 \<br>
-// RUN: -E -dM -triple=mips-none-none < /dev/null \<br>
-// RUN: | FileCheck -match-full-lines -check-prefix MIPS-NOMADD4 %s<br>
-// MIPS-NOMADD4:#define __mips_no_madd4 1<br>
-//<br>
-// RUN: %clang_cc1 \<br>
-// RUN: -E -dM -triple=mips-none-none < /dev/null \<br>
-// RUN: | FileCheck -match-full-lines -check-prefix MIPS-MADD4 %s<br>
-// MIPS-MADD4-NOT:#define __mips_no_madd4 1<br>
-//<br>
// RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \<br>
// RUN: -E -dM -triple=mips-none-none < /dev/null \<br>
// RUN: | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>