about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-01-20 17:40:53 +0000
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-01-20 17:40:53 +0000
commit219cdbaac02480b661e4632115c97496d1d4a3ba (patch)
tree84c2bf2314ef592fa2bf83be0ebf53876cb0f593 /src
parentc6ad186298f6e556607df32c7e02e91435fb84e7 (diff)
downloadrust-219cdbaac02480b661e4632115c97496d1d4a3ba.tar.gz
rust-219cdbaac02480b661e4632115c97496d1d4a3ba.zip
Fix clif ir writing for simd_gather
Diffstat (limited to 'src')
-rw-r--r--src/base.rs3
-rw-r--r--src/intrinsics/simd.rs2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/base.rs b/src/base.rs
index 53fbab9fe29..d3a8c10657e 100644
--- a/src/base.rs
+++ b/src/base.rs
@@ -305,6 +305,9 @@ fn codegen_fn_body(fx: &mut FunctionCx<'_, '_, '_>, start_block: Block) {
         let source_info = bb_data.terminator().source_info;
         fx.set_debug_loc(source_info);
 
+        let _print_guard =
+            crate::PrintOnPanic(|| format!("terminator {:?}", bb_data.terminator().kind));
+
         match &bb_data.terminator().kind {
             TerminatorKind::Goto { target } => {
                 if let TerminatorKind::Return = fx.mir[*target].terminator().kind {
diff --git a/src/intrinsics/simd.rs b/src/intrinsics/simd.rs
index 791ff5cfcf3..b33eb29754a 100644
--- a/src/intrinsics/simd.rs
+++ b/src/intrinsics/simd.rs
@@ -840,6 +840,8 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>(
                 fx.bcx.seal_block(next);
                 fx.bcx.switch_to_block(next);
 
+                fx.bcx.ins().nop();
+
                 ret.place_lane(fx, lane_idx)
                     .write_cvalue(fx, CValue::by_val(res_lane, ret_lane_layout));
             }