Page MenuHomePhabricator

[RISCV] Add isel patterns to match vmacc/vmadd/vnmsub/vnmsac from add/sub and mul.
ClosedPublic

Authored by craig.topper on Jun 11 2021, 5:24 PM.

Diff Detail

Unit TestsFailed

TimeTest
2,009 msx64 debian > libFuzzer.libFuzzer::dataflow.test
Script: -- : 'RUN: at line 5'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 -c -fno-sanitize=all -fsanitize=dataflow /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/../../lib/fuzzer/dataflow/DataFlow.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/dataflow.test.tmp-DataFlow.o
117,580 msx64 debian > libFuzzer.libFuzzer::only-some-bytes-fork.test
Script: -- : 'RUN: at line 5'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 -c -fno-sanitize=all -fsanitize=dataflow /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/../../lib/fuzzer/dataflow/DataFlow.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/only-some-bytes-fork.test.tmp-DataFlow.o
7,370 msx64 debian > libFuzzer.libFuzzer::only-some-bytes.test
Script: -- : 'RUN: at line 5'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 -c -fno-sanitize=all -fsanitize=dataflow /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/../../lib/fuzzer/dataflow/DataFlow.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/only-some-bytes.test.tmp-DataFlow.o

Event Timeline

craig.topper created this revision.Jun 11 2021, 5:24 PM
craig.topper requested review of this revision.Jun 11 2021, 5:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 11 2021, 5:24 PM
Herald added a subscriber: MaskRay. · View Herald Transcript
frasercrmck added inline comments.Jun 18 2021, 2:59 AM
llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
496

Comment here needs updating for the right opcodes

llvm/test/CodeGen/RISCV/rvv/stepvector.ll
492 ↗(On Diff #351600)

Seems like this test is regressing. Is there a one-use check that may help here?

Limit to cases where mul has a single use. There may be a better heuristic here,
but this is a simple starting point.

frasercrmck accepted this revision.Jun 21 2021, 2:06 AM

LGTM, cheers!

This revision is now accepted and ready to land.Jun 21 2021, 2:06 AM
This revision was landed with ongoing or failed builds.Jun 21 2021, 11:29 AM
This revision was automatically updated to reflect the committed changes.