diff options
author | Clement Courbet <courbet@google.com> | 2019-12-02 14:58:41 +0100 |
---|---|---|
committer | Clement Courbet <courbet@google.com> | 2019-12-02 16:13:27 +0100 |
commit | 3540b80fe445ec467cba5e4cab2a4865bb945639 (patch) | |
tree | d59987267bfd63a3c0336ec0e15151c7f70a6cd9 | |
parent | 0f22e783a038b6983f0fe161eef6cf2add3a4156 (diff) | |
download | bcm5719-llvm-3540b80fe445ec467cba5e4cab2a4865bb945639.tar.gz bcm5719-llvm-3540b80fe445ec467cba5e4cab2a4865bb945639.zip |
[llvm-exegesis] Fix 44b9942898c7.
Summary:
Add missing stack release instructions in
loadImplicitRegAndFinalize.
Reviewers: pengfei, gchatelet
Subscribers: tschuett, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70903
-rw-r--r-- | llvm/test/tools/llvm-exegesis/X86/latency-SQRTSSr.s | 13 | ||||
-rw-r--r-- | llvm/tools/llvm-exegesis/lib/X86/Target.cpp | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-exegesis/X86/latency-SQRTSSr.s b/llvm/test/tools/llvm-exegesis/X86/latency-SQRTSSr.s new file mode 100644 index 00000000000..1908b9a9e07 --- /dev/null +++ b/llvm/test/tools/llvm-exegesis/X86/latency-SQRTSSr.s @@ -0,0 +1,13 @@ +# RUN: llvm-exegesis -mode=latency -opcode-name=SQRTSSr -repetition-mode=loop | FileCheck %s + +# Check that the setup code for MXCSR does not crash the snippet. + +CHECK: --- +CHECK-NEXT: mode: latency +CHECK-NEXT: key: +CHECK-NEXT: instructions: +CHECK-NEXT: SQRTSSr +CHECK-NEXT: config: '' +CHECK-NEXT: register_initial_values: +CHECK-NOT: crashed +CHECK-LAST: ... diff --git a/llvm/tools/llvm-exegesis/lib/X86/Target.cpp b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp index 08724dd4152..61da38e5f5d 100644 --- a/llvm/tools/llvm-exegesis/lib/X86/Target.cpp +++ b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp @@ -513,6 +513,7 @@ ConstantInliner::loadImplicitRegAndFinalize(unsigned Opcode, unsigned Value) { .addReg(0) // IndexReg .addImm(0) // Disp .addReg(0)); // Segment + add(releaseStackSpace(4)); return std::move(Instructions); } |