diff --git a/llvm/test/tools/llvm-exegesis/X86/latency-IN16rr.s b/llvm/test/tools/llvm-exegesis/X86/latency-IN16rr.s new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-exegesis/X86/latency-IN16rr.s @@ -0,0 +1,12 @@ +# RUN: llvm-exegesis -mode=latency -opcode-name=IN16rr -repetition-mode=duplicate | FileCheck %s + +CHECK: --- +CHECK-NEXT: mode: latency +CHECK-NEXT: key: +CHECK-NEXT: instructions: +CHECK-NEXT: - 'IN16rr' +CHECK-NEXT: - {{.*}} +CHECK-NEXT: config: '' +CHECK-NEXT: register_initial_values: +CHECK-DAG: - '[[REG1:[A-Z0-9]+]]=0x0' +CHECK-LAST: ... diff --git a/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp b/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp --- a/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp +++ b/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp @@ -140,7 +140,7 @@ InstructionTemplate OtherIT(OtherInstr); if (!Forward.hasImplicitAliasing()) setRandomAliasing(Forward, ThisIT, OtherIT); - if (!Back.hasImplicitAliasing()) + else if (!Back.hasImplicitAliasing()) setRandomAliasing(Back, OtherIT, ThisIT); CodeTemplate CT; CT.Execution = ExecutionModeBit;