diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-21 14:34:12 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-22 14:28:48 +0200 |
| commit | a27f3e3fd1e4d16160f8885b6b06665b5319f56c (patch) | |
| tree | b033935392cbadf6f85d2dbddf433a88e323aeeb /tests/codegen/asm/critical.rs | |
| parent | ed93c1783b404d728d4809973a0550eb33cd293f (diff) | |
| download | rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.tar.gz rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.zip | |
Rename `tests/codegen` into `tests/codegen-llvm`
Diffstat (limited to 'tests/codegen/asm/critical.rs')
| -rw-r--r-- | tests/codegen/asm/critical.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/tests/codegen/asm/critical.rs b/tests/codegen/asm/critical.rs deleted file mode 100644 index 0f29d7c69b4..00000000000 --- a/tests/codegen/asm/critical.rs +++ /dev/null @@ -1,36 +0,0 @@ -//@ only-x86_64 -//@ compile-flags: -C no-prepopulate-passes -#![feature(asm_goto_with_outputs)] -#![crate_type = "lib"] -use std::arch::asm; - -// Regression test for #137867. Check that critical edges have been split before code generation, -// and so all stores to the asm output occur on disjoint paths without any of them jumping to -// another callbr label. -// -// CHECK-LABEL: @f( -// CHECK: [[OUT:%.*]] = callbr i32 asm -// CHECK-NEXT: to label %[[BB0:.*]] [label %[[BB1:.*]], label %[[BB2:.*]]], -// CHECK: [[BB1]]: -// CHECK-NEXT: store i32 [[OUT]], ptr %a -// CHECK-NEXT: br label %[[BBR:.*]] -// CHECK: [[BB2]]: -// CHECK-NEXT: store i32 [[OUT]], ptr %a -// CHECK-NEXT: br label %[[BBR]] -// CHECK: [[BB0]]: -// CHECK-NEXT: store i32 [[OUT]], ptr %a -// CHECK-NEXT: br label %[[BBR]] -// CHECK: [[BBR]]: -// CHECK-NEXT: [[RET:%.*]] = load i32, ptr %a -// CHECK-NEXT: ret i32 [[RET]] -#[unsafe(no_mangle)] -pub unsafe fn f(mut a: u32) -> u32 { - asm!( - "jmp {} - jmp {}", - label {}, - label {}, - inout("eax") a, - ); - a -} |
