From 994b13eaee64ac87fbdee4cc0efd7cae0d3f9c2a Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 3 May 2020 12:24:57 +0200 Subject: [PATCH] yield on x86 'pause' hint --- src/shims/foreign_items.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/shims/foreign_items.rs b/src/shims/foreign_items.rs index 9e531accd06..25aece5989b 100644 --- a/src/shims/foreign_items.rs +++ b/src/shims/foreign_items.rs @@ -434,7 +434,9 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx } // Architecture-specific shims - "llvm.x86.sse2.pause" if this.tcx.sess.target.target.arch == "x86" || this.tcx.sess.target.target.arch == "x86_64" => {} + "llvm.x86.sse2.pause" if this.tcx.sess.target.target.arch == "x86" || this.tcx.sess.target.target.arch == "x86_64" => { + this.sched_yield()?; + } // Platform-specific shims _ => match this.tcx.sess.target.target.target_os.as_str() {