about summary refs log tree commit diff
path: root/tests/codegen/asm
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2025-07-21 14:34:12 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2025-07-22 14:28:48 +0200
commita27f3e3fd1e4d16160f8885b6b06665b5319f56c (patch)
treeb033935392cbadf6f85d2dbddf433a88e323aeeb /tests/codegen/asm
parented93c1783b404d728d4809973a0550eb33cd293f (diff)
downloadrust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.tar.gz
rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.zip
Rename `tests/codegen` into `tests/codegen-llvm`
Diffstat (limited to 'tests/codegen/asm')
-rw-r--r--tests/codegen/asm/aarch64-clobbers.rs47
-rw-r--r--tests/codegen/asm/avr-clobbers.rs39
-rw-r--r--tests/codegen/asm/bpf-clobbers.rs31
-rw-r--r--tests/codegen/asm/critical.rs36
-rw-r--r--tests/codegen/asm/csky-clobbers.rs24
-rw-r--r--tests/codegen/asm/foo.s3
-rw-r--r--tests/codegen/asm/global_asm.rs28
-rw-r--r--tests/codegen/asm/global_asm_include.rs21
-rw-r--r--tests/codegen/asm/global_asm_x2.rs47
-rw-r--r--tests/codegen/asm/goto.rs63
-rw-r--r--tests/codegen/asm/hexagon-clobbers.rs33
-rw-r--r--tests/codegen/asm/may_unwind.rs39
-rw-r--r--tests/codegen/asm/maybe-uninit.rs27
-rw-r--r--tests/codegen/asm/msp430-clobbers.rs32
-rw-r--r--tests/codegen/asm/multiple-options.rs54
-rw-r--r--tests/codegen/asm/options.rs104
-rw-r--r--tests/codegen/asm/powerpc-clobbers.rs68
-rw-r--r--tests/codegen/asm/riscv-clobbers.rs40
-rw-r--r--tests/codegen/asm/s390x-clobbers.rs46
-rw-r--r--tests/codegen/asm/sanitize-llvm.rs24
-rw-r--r--tests/codegen/asm/sparc-clobbers.rs36
-rw-r--r--tests/codegen/asm/x86-clobber_abi.rs36
-rw-r--r--tests/codegen/asm/x86-clobbers.rs20
-rw-r--r--tests/codegen/asm/x86-target-clobbers.rs29
24 files changed, 0 insertions, 927 deletions
diff --git a/tests/codegen/asm/aarch64-clobbers.rs b/tests/codegen/asm/aarch64-clobbers.rs
deleted file mode 100644
index dd3ba1510b5..00000000000
--- a/tests/codegen/asm/aarch64-clobbers.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-//@ add-core-stubs
-//@ revisions: aarch64 aarch64_fixed_x18 aarch64_no_x18 aarch64_reserve_x18 arm64ec
-//@[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
-//@[aarch64] needs-llvm-components: aarch64
-//@[aarch64_fixed_x18] compile-flags: --target aarch64-unknown-linux-gnu -Zfixed-x18
-//@[aarch64_fixed_x18] needs-llvm-components: aarch64
-//@[aarch64_no_x18] compile-flags: --target aarch64-pc-windows-msvc
-//@[aarch64_no_x18] needs-llvm-components: aarch64
-// aarch64-unknown-trusty uses aarch64-unknown-unknown-musl which doesn't
-// reserve x18 by default as llvm_target, and pass +reserve-x18 in target-spec.
-//@[aarch64_reserve_x18] compile-flags: --target aarch64-unknown-trusty
-//@[aarch64_reserve_x18] needs-llvm-components: aarch64
-//@[arm64ec] compile-flags: --target arm64ec-pc-windows-msvc
-//@[arm64ec] needs-llvm-components: aarch64
-// ignore-tidy-linelength
-
-#![crate_type = "rlib"]
-#![feature(no_core)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @cc_clobber
-// CHECK: call void asm sideeffect "", "~{cc}"()
-#[no_mangle]
-pub unsafe fn cc_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// aarch64: asm sideeffect "", "={w0},={w1},={w2},={w3},={w4},={w5},={w6},={w7},={w8},={w9},={w10},={w11},={w12},={w13},={w14},={w15},={w16},={w17},={w18},={w30},={q0},={q1},={q2},={q3},={q4},={q5},={q6},={q7},={q8},={q9},={q10},={q11},={q12},={q13},={q14},={q15},={q16},={q17},={q18},={q19},={q20},={q21},={q22},={q23},={q24},={q25},={q26},={q27},={q28},={q29},={q30},={q31},~{p0},~{p1},~{p2},~{p3},~{p4},~{p5},~{p6},~{p7},~{p8},~{p9},~{p10},~{p11},~{p12},~{p13},~{p14},~{p15},~{ffr}"()
-// aarch64_fixed_x18: asm sideeffect "", "={w0},={w1},={w2},={w3},={w4},={w5},={w6},={w7},={w8},={w9},={w10},={w11},={w12},={w13},={w14},={w15},={w16},={w17},={w30},={q0},={q1},={q2},={q3},={q4},={q5},={q6},={q7},={q8},={q9},={q10},={q11},={q12},={q13},={q14},={q15},={q16},={q17},={q18},={q19},={q20},={q21},={q22},={q23},={q24},={q25},={q26},={q27},={q28},={q29},={q30},={q31},~{p0},~{p1},~{p2},~{p3},~{p4},~{p5},~{p6},~{p7},~{p8},~{p9},~{p10},~{p11},~{p12},~{p13},~{p14},~{p15},~{ffr}"()
-// aarch64_no_x18: asm sideeffect "", "={w0},={w1},={w2},={w3},={w4},={w5},={w6},={w7},={w8},={w9},={w10},={w11},={w12},={w13},={w14},={w15},={w16},={w17},={w30},={q0},={q1},={q2},={q3},={q4},={q5},={q6},={q7},={q8},={q9},={q10},={q11},={q12},={q13},={q14},={q15},={q16},={q17},={q18},={q19},={q20},={q21},={q22},={q23},={q24},={q25},={q26},={q27},={q28},={q29},={q30},={q31},~{p0},~{p1},~{p2},~{p3},~{p4},~{p5},~{p6},~{p7},~{p8},~{p9},~{p10},~{p11},~{p12},~{p13},~{p14},~{p15},~{ffr}"()
-// aarch64_reserve_x18: asm sideeffect "", "={w0},={w1},={w2},={w3},={w4},={w5},={w6},={w7},={w8},={w9},={w10},={w11},={w12},={w13},={w14},={w15},={w16},={w17},={w30},={q0},={q1},={q2},={q3},={q4},={q5},={q6},={q7},={q8},={q9},={q10},={q11},={q12},={q13},={q14},={q15},={q16},={q17},={q18},={q19},={q20},={q21},={q22},={q23},={q24},={q25},={q26},={q27},={q28},={q29},={q30},={q31},~{p0},~{p1},~{p2},~{p3},~{p4},~{p5},~{p6},~{p7},~{p8},~{p9},~{p10},~{p11},~{p12},~{p13},~{p14},~{p15},~{ffr}"()
-// arm64ec: asm sideeffect "", "={w0},={w1},={w2},={w3},={w4},={w5},={w6},={w7},={w8},={w9},={w10},={w11},={w12},={w15},={w16},={w17},={w30},={q0},={q1},={q2},={q3},={q4},={q5},={q6},={q7},={q8},={q9},={q10},={q11},={q12},={q13},={q14},={q15}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/avr-clobbers.rs b/tests/codegen/asm/avr-clobbers.rs
deleted file mode 100644
index 9451127bf04..00000000000
--- a/tests/codegen/asm/avr-clobbers.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-//@ add-core-stubs
-//@ assembly-output: emit-asm
-//@ compile-flags: --target avr-none -C target-cpu=atmega328p
-//@ needs-llvm-components: avr
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @sreg_is_clobbered
-// CHECK: void asm sideeffect "", "~{sreg}"()
-#[no_mangle]
-pub unsafe fn sreg_is_clobbered() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @sreg_is_not_clobbered_if_preserve_flags_is_used
-// CHECK: void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn sreg_is_not_clobbered_if_preserve_flags_is_used() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// CHECK: asm sideeffect "", "={r18},={r19},={r20},={r21},={r22},={r23},={r24},={r25},={r26},={r27},={r30},={r31},~{sreg}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem));
-}
-
-// CHECK-LABEL: @clobber_abi_with_preserved_flags
-// CHECK: asm sideeffect "", "={r18},={r19},={r20},={r21},={r22},={r23},={r24},={r25},={r26},={r27},={r30},={r31}"()
-#[no_mangle]
-pub unsafe fn clobber_abi_with_preserved_flags() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/bpf-clobbers.rs b/tests/codegen/asm/bpf-clobbers.rs
deleted file mode 100644
index 1117549b1ec..00000000000
--- a/tests/codegen/asm/bpf-clobbers.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-//@ add-core-stubs
-//@ compile-flags: --target bpfel-unknown-none
-//@ needs-llvm-components: bpf
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @flags_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn flags_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// CHECK: asm sideeffect "", "={r0},={r1},={r2},={r3},={r4},={r5}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
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
-}
diff --git a/tests/codegen/asm/csky-clobbers.rs b/tests/codegen/asm/csky-clobbers.rs
deleted file mode 100644
index 4986d0fe56d..00000000000
--- a/tests/codegen/asm/csky-clobbers.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-//@ add-core-stubs
-//@ compile-flags: --target csky-unknown-linux-gnuabiv2
-//@ needs-llvm-components: csky
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @flags_clobber
-// CHECK: call void asm sideeffect "", "~{psr}"()
-#[no_mangle]
-pub unsafe fn flags_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/foo.s b/tests/codegen/asm/foo.s
deleted file mode 100644
index 304d82aa0c6..00000000000
--- a/tests/codegen/asm/foo.s
+++ /dev/null
@@ -1,3 +0,0 @@
-.global foo
-foo:
-    jmp baz
diff --git a/tests/codegen/asm/global_asm.rs b/tests/codegen/asm/global_asm.rs
deleted file mode 100644
index 32075daa3cf..00000000000
--- a/tests/codegen/asm/global_asm.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-//@ revisions: x32 x64
-//@[x32] only-x86
-//@[x64] only-x86_64
-//@ compile-flags: -C no-prepopulate-passes
-
-#![crate_type = "lib"]
-
-use std::arch::global_asm;
-
-// CHECK-LABEL: foo
-// CHECK: module asm
-// this regex will capture the correct unconditional branch inst.
-// CHECK: module asm "{{[[:space:]]+}}jmp baz"
-global_asm!(
-    r#"
-    .global foo
-foo:
-    jmp baz
-"#
-);
-
-extern "C" {
-    fn foo();
-}
-
-// CHECK-LABEL: @baz
-#[no_mangle]
-pub unsafe extern "C" fn baz() {}
diff --git a/tests/codegen/asm/global_asm_include.rs b/tests/codegen/asm/global_asm_include.rs
deleted file mode 100644
index 98be9c3e333..00000000000
--- a/tests/codegen/asm/global_asm_include.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-//@ revisions: x32 x64
-//@[x32] only-x86
-//@[x64] only-x86_64
-//@ compile-flags: -C no-prepopulate-passes
-
-#![crate_type = "lib"]
-
-use std::arch::global_asm;
-
-// CHECK-LABEL: foo
-// CHECK: module asm
-// CHECK: module asm "{{[[:space:]]+}}jmp baz"
-global_asm!(include_str!("foo.s"));
-
-extern "C" {
-    fn foo();
-}
-
-// CHECK-LABEL: @baz
-#[no_mangle]
-pub unsafe extern "C" fn baz() {}
diff --git a/tests/codegen/asm/global_asm_x2.rs b/tests/codegen/asm/global_asm_x2.rs
deleted file mode 100644
index 9e3a00f0680..00000000000
--- a/tests/codegen/asm/global_asm_x2.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-//@ revisions: x32 x64
-//@[x32] only-x86
-//@[x64] only-x86_64
-//@ compile-flags: -C no-prepopulate-passes
-
-#![crate_type = "lib"]
-#![no_std]
-
-use core::arch::global_asm;
-
-// CHECK-LABEL: foo
-// CHECK: module asm
-// CHECK: module asm "{{[[:space:]]+}}jmp baz"
-// any other global_asm will be appended to this first block, so:
-// CHECK-LABEL: bar
-// CHECK: module asm "{{[[:space:]]+}}jmp quux"
-global_asm!(
-    r#"
-    .global foo
-foo:
-    jmp baz
-"#
-);
-
-extern "C" {
-    fn foo();
-}
-
-// CHECK-LABEL: @baz
-#[no_mangle]
-pub unsafe extern "C" fn baz() {}
-
-// no checks here; this has been appended to the first occurrence
-global_asm!(
-    r#"
-    .global bar
-bar:
-    jmp quux
-"#
-);
-
-extern "C" {
-    fn bar();
-}
-
-#[no_mangle]
-pub unsafe extern "C" fn quux() {}
diff --git a/tests/codegen/asm/goto.rs b/tests/codegen/asm/goto.rs
deleted file mode 100644
index f68c399c920..00000000000
--- a/tests/codegen/asm/goto.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-#![feature(asm_goto_with_outputs)]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @asm_goto
-#[no_mangle]
-pub unsafe fn asm_goto() {
-    // CHECK: callbr void asm sideeffect alignstack inteldialect "
-    // CHECK-NEXT: to label %[[FALLTHROUGHBB:[a-b0-9]+]] [label %[[JUMPBB:[a-b0-9]+]]]
-    asm!("jmp {}", label {});
-}
-
-// CHECK-LABEL: @asm_goto_with_outputs
-#[no_mangle]
-pub unsafe fn asm_goto_with_outputs() -> u64 {
-    let out: u64;
-    // CHECK: [[RES:%[0-9]+]] = callbr i64 asm sideeffect alignstack inteldialect "
-    // CHECK-NEXT: to label %[[FALLTHROUGHBB:[a-b0-9]+]] [label %[[JUMPBB:[a-b0-9]+]]]
-    asm!("{} /* {} */", out(reg) out, label { return 1; });
-    // CHECK: [[JUMPBB]]:
-    // CHECK-NEXT: [[RET:%.+]] = phi i64 [ [[RES]], %[[FALLTHROUGHBB]] ], [ 1, %start ]
-    // CHECK-NEXT: ret i64 [[RET]]
-    out
-}
-
-// CHECK-LABEL: @asm_goto_with_outputs_use_in_label
-#[no_mangle]
-pub unsafe fn asm_goto_with_outputs_use_in_label() -> u64 {
-    let out: u64;
-    // CHECK: [[RES:%[0-9]+]] = callbr i64 asm sideeffect alignstack inteldialect "
-    // CHECK-NEXT: to label %[[FALLTHROUGHBB:[a-b0-9]+]] [label %[[JUMPBB:[a-b0-9]+]]]
-    asm!("{} /* {} */", out(reg) out, label { return out; });
-    // CHECK: [[JUMPBB]]:
-    // CHECK-NEXT: [[RET:%.+]] = phi i64 [ 1, %[[FALLTHROUGHBB]] ], [ [[RES]], %start ]
-    // CHECK-NEXT: ret i64 [[RET]]
-    1
-}
-
-// CHECK-LABEL: @asm_goto_noreturn
-#[no_mangle]
-pub unsafe fn asm_goto_noreturn() -> u64 {
-    // CHECK: callbr void asm sideeffect alignstack inteldialect "
-    // CHECK-NEXT: to label %unreachable [label %[[JUMPBB:[a-b0-9]+]]]
-    asm!("jmp {}", label { return 1; }, options(noreturn));
-    // CHECK: [[JUMPBB]]:
-    // CHECK-NEXT: ret i64 1
-}
-
-// CHECK-LABEL: @asm_goto_noreturn_with_outputs
-#[no_mangle]
-pub unsafe fn asm_goto_noreturn_with_outputs() -> u64 {
-    let out: u64;
-    // CHECK: [[RES:%[0-9]+]] = callbr i64 asm sideeffect alignstack inteldialect "
-    // CHECK-NEXT: to label %[[FALLTHROUGHBB:[a-b0-9]+]] [label %[[JUMPBB:[a-b0-9]+]]]
-    asm!("mov {}, 1", "jmp {}", out(reg) out, label { return out; });
-    // CHECK: [[JUMPBB]]:
-    // CHECK-NEXT: ret i64 [[RES]]
-    out
-}
diff --git a/tests/codegen/asm/hexagon-clobbers.rs b/tests/codegen/asm/hexagon-clobbers.rs
deleted file mode 100644
index 800b8964669..00000000000
--- a/tests/codegen/asm/hexagon-clobbers.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-//@ add-core-stubs
-//@ revisions: hexagon
-//@[hexagon] compile-flags: --target hexagon-unknown-linux-musl
-//@[hexagon] needs-llvm-components: hexagon
-//@ compile-flags: -Zmerge-functions=disabled
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @flags_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn flags_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @p0_clobber
-// CHECK: call void asm sideeffect "", "~{p0}"()
-#[no_mangle]
-pub unsafe fn p0_clobber() {
-    asm!("", out("p0") _, options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/may_unwind.rs b/tests/codegen/asm/may_unwind.rs
deleted file mode 100644
index 63cdec7584c..00000000000
--- a/tests/codegen/asm/may_unwind.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-#![feature(asm_unwind)]
-
-use std::arch::asm;
-
-#[no_mangle]
-pub extern "C" fn panicky() {}
-
-struct Foo;
-
-impl Drop for Foo {
-    fn drop(&mut self) {
-        println!();
-    }
-}
-
-// CHECK-LABEL: @asm_may_unwind
-#[no_mangle]
-pub unsafe fn asm_may_unwind() {
-    let _m = Foo;
-    // CHECK: invoke void asm sideeffect alignstack inteldialect unwind ""
-    asm!("", options(may_unwind));
-}
-
-// CHECK-LABEL: @asm_with_result_may_unwind
-#[no_mangle]
-pub unsafe fn asm_with_result_may_unwind() -> u64 {
-    let _m = Foo;
-    let res: u64;
-    // CHECK: [[RES:%[0-9]+]] = invoke i64 asm sideeffect alignstack inteldialect unwind
-    // CHECK-NEXT: to label %[[NORMALBB:[a-b0-9]+]]
-    asm!("mov {}, 1", out(reg) res, options(may_unwind));
-    // CHECK: [[NORMALBB]]:
-    // CHECK: ret i64 [[RES:%[0-9]+]]
-    res
-}
diff --git a/tests/codegen/asm/maybe-uninit.rs b/tests/codegen/asm/maybe-uninit.rs
deleted file mode 100644
index d76d5cb1312..00000000000
--- a/tests/codegen/asm/maybe-uninit.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-#![allow(asm_sub_register)]
-
-use std::arch::asm;
-use std::mem::MaybeUninit;
-
-// CHECK-LABEL: @int
-#[no_mangle]
-pub unsafe fn int(x: MaybeUninit<i32>) -> MaybeUninit<i32> {
-    let y: MaybeUninit<i32>;
-    asm!("/*{}{}*/", in(reg) x, out(reg) y);
-    y
-}
-
-// CHECK-LABEL: @inout
-#[no_mangle]
-pub unsafe fn inout(mut x: i32) -> MaybeUninit<u32> {
-    let mut y: MaybeUninit<u32>;
-    asm!("/*{}*/", inout(reg) x => y);
-    asm!("/*{}*/", inout(reg) y => x);
-    asm!("/*{}*/", inlateout(reg) x => y);
-    asm!("/*{}*/", inlateout(reg) y => x);
-    y
-}
diff --git a/tests/codegen/asm/msp430-clobbers.rs b/tests/codegen/asm/msp430-clobbers.rs
deleted file mode 100644
index 2c8d29cffc4..00000000000
--- a/tests/codegen/asm/msp430-clobbers.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-//@ add-core-stubs
-//@ assembly-output: emit-asm
-//@ compile-flags: --target msp430-none-elf
-//@ needs-llvm-components: msp430
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @sr_clobber
-// CHECK: call void asm sideeffect "", "~{sr}"()
-#[no_mangle]
-pub unsafe fn sr_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// CHECK: asm sideeffect "", "={r11},={r12},={r13},={r14},={r15}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/multiple-options.rs b/tests/codegen/asm/multiple-options.rs
deleted file mode 100644
index 4d87471a193..00000000000
--- a/tests/codegen/asm/multiple-options.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @pure
-// CHECK-NOT: asm
-// CHECK: ret void
-#[no_mangle]
-pub unsafe fn pure(x: i32) {
-    let y: i32;
-    asm!("", out("ax") y, in("cx") x, options(pure), options(nomem));
-}
-
-pub static mut VAR: i32 = 0;
-pub static mut DUMMY_OUTPUT: i32 = 0;
-
-// CHECK-LABEL: @readonly
-// CHECK: call i32 asm
-// CHECK: ret i32 1
-#[no_mangle]
-pub unsafe fn readonly() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure), options(readonly));
-    VAR
-}
-
-// CHECK-LABEL: @nomem
-// CHECK-NOT: store
-// CHECK: call i32 asm
-// CHECK: store
-// CHECK: ret i32 2
-#[no_mangle]
-pub unsafe fn nomem() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure), options(nomem));
-    VAR = 2;
-    VAR
-}
-
-// CHECK-LABEL: @not_nomem
-// CHECK: store
-// CHECK: call i32 asm
-// CHECK: store
-// CHECK: ret i32 2
-#[no_mangle]
-pub unsafe fn not_nomem() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure), options(readonly));
-    VAR = 2;
-    VAR
-}
diff --git a/tests/codegen/asm/options.rs b/tests/codegen/asm/options.rs
deleted file mode 100644
index c087f91fd43..00000000000
--- a/tests/codegen/asm/options.rs
+++ /dev/null
@@ -1,104 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @pure
-// CHECK-NOT: asm
-// CHECK: ret void
-#[no_mangle]
-pub unsafe fn pure(x: i32) {
-    let y: i32;
-    asm!("", out("ax") y, in("cx") x, options(pure, nomem));
-}
-
-// CHECK-LABEL: @noreturn
-// CHECK: call void asm
-// CHECK-NEXT: unreachable
-#[no_mangle]
-pub unsafe fn noreturn() {
-    asm!("", options(noreturn));
-}
-
-pub static mut VAR: i32 = 0;
-pub static mut DUMMY_OUTPUT: i32 = 0;
-
-// CHECK-LABEL: @readonly
-// CHECK: call i32 asm
-// CHECK: ret i32 1
-#[no_mangle]
-pub unsafe fn readonly() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure, readonly));
-    VAR
-}
-
-// CHECK-LABEL: @not_readonly
-// CHECK: call i32 asm
-// CHECK: ret i32 %
-#[no_mangle]
-pub unsafe fn not_readonly() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options());
-    VAR
-}
-
-// CHECK-LABEL: @nomem
-// CHECK-NOT: store
-// CHECK: call i32 asm
-// CHECK: store
-// CHECK: ret i32 2
-#[no_mangle]
-pub unsafe fn nomem() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure, nomem));
-    VAR = 2;
-    VAR
-}
-
-// CHECK-LABEL: @nomem_nopure
-// CHECK-NOT: store
-// CHECK: call i32 asm
-// CHECK: store
-// CHECK: ret i32 2
-#[no_mangle]
-pub unsafe fn nomem_nopure() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(nomem));
-    VAR = 2;
-    VAR
-}
-
-// CHECK-LABEL: @not_nomem
-// CHECK: store
-// CHECK: call i32 asm
-// CHECK: store
-// CHECK: ret i32 2
-#[no_mangle]
-pub unsafe fn not_nomem() -> i32 {
-    VAR = 1;
-    asm!("", out("ax") DUMMY_OUTPUT, options(pure, readonly));
-    VAR = 2;
-    VAR
-}
-
-// CHECK-LABEL: @dont_remove_nonpure
-// CHECK: call void asm
-// CHECK: call void asm
-// CHECK: call void asm
-// CHECK: ret void
-#[no_mangle]
-pub unsafe fn dont_remove_nonpure() {
-    asm!("", options());
-    asm!("", options(nomem));
-    asm!("", options(readonly));
-}
-
-// CHECK-LABEL: @raw
-// CHECK: call void asm sideeffect inteldialect "{} {}", ""()
-#[no_mangle]
-pub unsafe fn raw() {
-    asm!("{} {}", options(nostack, nomem, preserves_flags, raw));
-}
diff --git a/tests/codegen/asm/powerpc-clobbers.rs b/tests/codegen/asm/powerpc-clobbers.rs
deleted file mode 100644
index f7fc7eea5d5..00000000000
--- a/tests/codegen/asm/powerpc-clobbers.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-//@ add-core-stubs
-//@ revisions: powerpc powerpc64 powerpc64le aix64
-//@[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
-//@[powerpc] needs-llvm-components: powerpc
-//@[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
-//@[powerpc64] needs-llvm-components: powerpc
-//@[powerpc64le] compile-flags: --target powerpc64le-unknown-linux-gnu
-//@[powerpc64le] needs-llvm-components: powerpc
-//@[aix64] compile-flags: --target powerpc64-ibm-aix
-//@[aix64] needs-llvm-components: powerpc
-// ignore-tidy-linelength
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @cr_clobber
-// CHECK: call void asm sideeffect "", "~{cr}"()
-#[no_mangle]
-pub unsafe fn cr_clobber() {
-    asm!("", out("cr") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @cr0_clobber
-// CHECK: call void asm sideeffect "", "~{cr0}"()
-#[no_mangle]
-pub unsafe fn cr0_clobber() {
-    asm!("", out("cr0") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @cr5_clobber
-// CHECK: call void asm sideeffect "", "~{cr5}"()
-#[no_mangle]
-pub unsafe fn cr5_clobber() {
-    asm!("", out("cr5") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @xer_clobber
-// CHECK: call void asm sideeffect "", "~{xer}"()
-#[no_mangle]
-pub unsafe fn xer_clobber() {
-    asm!("", out("xer") _, options(nostack, nomem, preserves_flags));
-}
-
-// Output format depends on the availability of altivec.
-// CHECK-LABEL: @v0_clobber
-// powerpc: call void asm sideeffect "", "~{v0}"()
-// powerpc64: call <4 x i32> asm sideeffect "", "=&{v0}"()
-// powerpc64le: call <4 x i32> asm sideeffect "", "=&{v0}"()
-// aix64: call <4 x i32> asm sideeffect "", "=&{v0}"()
-#[no_mangle]
-pub unsafe fn v0_clobber() {
-    asm!("", out("v0") _, options(nostack, nomem, preserves_flags));
-}
-
-// Output format depends on the availability of altivec.
-// CHECK-LABEL: @clobber_abi
-// powerpc: asm sideeffect "", "={r0},={r3},={r4},={r5},={r6},={r7},={r8},={r9},={r10},={r11},={r12},={f0},={f1},={f2},={f3},={f4},={f5},={f6},={f7},={f8},={f9},={f10},={f11},={f12},={f13},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{cr0},~{cr1},~{cr5},~{cr6},~{cr7},~{xer}"()
-// powerpc64: asm sideeffect "", "={r0},={r3},={r4},={r5},={r6},={r7},={r8},={r9},={r10},={r11},={r12},={f0},={f1},={f2},={f3},={f4},={f5},={f6},={f7},={f8},={f9},={f10},={f11},={f12},={f13},={v0},={v1},={v2},={v3},={v4},={v5},={v6},={v7},={v8},={v9},={v10},={v11},={v12},={v13},={v14},={v15},={v16},={v17},={v18},={v19},~{cr0},~{cr1},~{cr5},~{cr6},~{cr7},~{xer}"()
-// powerpc64le: asm sideeffect "", "={r0},={r3},={r4},={r5},={r6},={r7},={r8},={r9},={r10},={r11},={r12},={f0},={f1},={f2},={f3},={f4},={f5},={f6},={f7},={f8},={f9},={f10},={f11},={f12},={f13},={v0},={v1},={v2},={v3},={v4},={v5},={v6},={v7},={v8},={v9},={v10},={v11},={v12},={v13},={v14},={v15},={v16},={v17},={v18},={v19},~{cr0},~{cr1},~{cr5},~{cr6},~{cr7},~{xer}"()
-// aix64: asm sideeffect "", "={r0},={r3},={r4},={r5},={r6},={r7},={r8},={r9},={r10},={r11},={r12},={f0},={f1},={f2},={f3},={f4},={f5},={f6},={f7},={f8},={f9},={f10},={f11},={f12},={f13},={v0},={v1},={v2},={v3},={v4},={v5},={v6},={v7},={v8},={v9},={v10},={v11},={v12},={v13},={v14},={v15},={v16},={v17},={v18},={v19},~{cr0},~{cr1},~{cr5},~{cr6},~{cr7},~{xer}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/riscv-clobbers.rs b/tests/codegen/asm/riscv-clobbers.rs
deleted file mode 100644
index e55b6731098..00000000000
--- a/tests/codegen/asm/riscv-clobbers.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-//@ add-core-stubs
-//@ assembly-output: emit-asm
-//@ revisions: rv32i rv64i rv32e
-//@[rv32i] compile-flags: --target riscv32i-unknown-none-elf
-//@[rv32i] needs-llvm-components: riscv
-//@[rv64i] compile-flags: --target riscv64imac-unknown-none-elf
-//@[rv64i] needs-llvm-components: riscv
-//@[rv32e] compile-flags: --target riscv32e-unknown-none-elf
-//@[rv32e] needs-llvm-components: riscv
-// ignore-tidy-linelength
-
-#![crate_type = "rlib"]
-#![feature(no_core)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @flags_clobber
-// CHECK: call void asm sideeffect "", "~{vtype},~{vl},~{vxsat},~{vxrm}"()
-#[no_mangle]
-pub unsafe fn flags_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// rv32i: asm sideeffect "", "={x1},={x5},={x6},={x7},={x10},={x11},={x12},={x13},={x14},={x15},={x16},={x17},={x28},={x29},={x30},={x31},~{f0},~{f1},~{f2},~{f3},~{f4},~{f5},~{f6},~{f7},~{f10},~{f11},~{f12},~{f13},~{f14},~{f15},~{f16},~{f17},~{f28},~{f29},~{f30},~{f31},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()
-// rv64i: asm sideeffect "", "={x1},={x5},={x6},={x7},={x10},={x11},={x12},={x13},={x14},={x15},={x16},={x17},={x28},={x29},={x30},={x31},~{f0},~{f1},~{f2},~{f3},~{f4},~{f5},~{f6},~{f7},~{f10},~{f11},~{f12},~{f13},~{f14},~{f15},~{f16},~{f17},~{f28},~{f29},~{f30},~{f31},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()
-// rv32e: asm sideeffect "", "={x1},={x5},={x6},={x7},={x10},={x11},={x12},={x13},={x14},={x15},~{f0},~{f1},~{f2},~{f3},~{f4},~{f5},~{f6},~{f7},~{f10},~{f11},~{f12},~{f13},~{f14},~{f15},~{f16},~{f17},~{f28},~{f29},~{f30},~{f31},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/s390x-clobbers.rs b/tests/codegen/asm/s390x-clobbers.rs
deleted file mode 100644
index 0ba22a32abf..00000000000
--- a/tests/codegen/asm/s390x-clobbers.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-//@ add-core-stubs
-//@ revisions: s390x
-//@[s390x] compile-flags: --target s390x-unknown-linux-gnu -C target-cpu=z10
-//@[s390x] needs-llvm-components: systemz
-
-#![crate_type = "rlib"]
-#![feature(no_core)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @cc_clobber
-// CHECK: call void asm sideeffect "", "~{cc}"()
-#[no_mangle]
-pub unsafe fn cc_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @a2_clobber
-// CHECK: call void asm sideeffect "", "~{a2}"()
-#[no_mangle]
-pub unsafe fn a2_clobber() {
-    asm!("", out("a2") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @v0_clobber
-// CHECK: call void asm sideeffect "", "~{v0}"()
-#[no_mangle]
-pub unsafe fn v0_clobber() {
-    asm!("", out("v0") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @clobber_abi
-// CHECK: asm sideeffect "", "={r0},={r1},={r2},={r3},={r4},={r5},={r14},={f0},={f1},={f2},={f3},={f4},={f5},={f6},={f7},~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31},~{a2},~{a3},~{a4},~{a5},~{a6},~{a7},~{a8},~{a9},~{a10},~{a11},~{a12},~{a13},~{a14},~{a15}"()
-#[no_mangle]
-pub unsafe fn clobber_abi() {
-    asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/sanitize-llvm.rs b/tests/codegen/asm/sanitize-llvm.rs
deleted file mode 100644
index 97a77033284..00000000000
--- a/tests/codegen/asm/sanitize-llvm.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-//@ add-core-stubs
-// FIXME(nagisa): remove the flags below once all targets support `asm!`.
-//@ compile-flags: --target x86_64-unknown-linux-gnu -Copt-level=0
-//@ needs-llvm-components: x86
-
-// Verify we sanitize the special tokens for the LLVM inline-assembly, ensuring people won't
-// inadvertently rely on the LLVM-specific syntax and features.
-#![no_core]
-#![feature(no_core)]
-#![crate_type = "rlib"]
-#![allow(named_asm_labels)]
-
-extern crate minicore;
-use minicore::*;
-
-pub unsafe fn we_escape_dollar_signs() {
-    // CHECK: call void asm sideeffect alignstack inteldialect "banana$$:"
-    asm!(r"banana$:",)
-}
-
-pub unsafe fn we_escape_escapes_too() {
-    // CHECK: call void asm sideeffect alignstack inteldialect "banana\{{(\\|5C)}}36:"
-    asm!(r"banana\36:",)
-}
diff --git a/tests/codegen/asm/sparc-clobbers.rs b/tests/codegen/asm/sparc-clobbers.rs
deleted file mode 100644
index a71715ed94d..00000000000
--- a/tests/codegen/asm/sparc-clobbers.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-//@ add-core-stubs
-//@ revisions: sparc sparcv8plus sparc64
-//@[sparc] compile-flags: --target sparc-unknown-none-elf
-//@[sparc] needs-llvm-components: sparc
-//@[sparcv8plus] compile-flags: --target sparc-unknown-linux-gnu
-//@[sparcv8plus] needs-llvm-components: sparc
-//@[sparc64] compile-flags: --target sparc64-unknown-linux-gnu
-//@[sparc64] needs-llvm-components: sparc
-
-#![crate_type = "rlib"]
-#![feature(no_core, asm_experimental_arch)]
-#![no_core]
-
-extern crate minicore;
-use minicore::*;
-
-// CHECK-LABEL: @cc_clobber
-// CHECK: call void asm sideeffect "", "~{icc},~{fcc0},~{fcc1},~{fcc2},~{fcc3}"()
-#[no_mangle]
-pub unsafe fn cc_clobber() {
-    asm!("", options(nostack, nomem));
-}
-
-// CHECK-LABEL: @no_clobber
-// CHECK: call void asm sideeffect "", ""()
-#[no_mangle]
-pub unsafe fn no_clobber() {
-    asm!("", options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @y_clobber
-// CHECK: call void asm sideeffect "", "~{y}"()
-#[no_mangle]
-pub unsafe fn y_clobber() {
-    asm!("", out("y") _, options(nostack, nomem, preserves_flags));
-}
diff --git a/tests/codegen/asm/x86-clobber_abi.rs b/tests/codegen/asm/x86-clobber_abi.rs
deleted file mode 100644
index 5b34b4e8ef3..00000000000
--- a/tests/codegen/asm/x86-clobber_abi.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @clobber_sysv64
-// CHECK: ={ax},={cx},={dx},={si},={di},={r8},={r9},={r10},={r11},={xmm0},={xmm1},={xmm2},={xmm3},={xmm4},={xmm5},={xmm6},={xmm7},={xmm8},={xmm9},={xmm10},={xmm11},={xmm12},={xmm13},={xmm14},={xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{k0},~{k1},~{k2},~{k3},~{k4},~{k5},~{k6},~{k7},~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)},~{tmm0},~{tmm1},~{tmm2},~{tmm3},~{tmm4},~{tmm5},~{tmm6},~{tmm7},~{dirflag},~{fpsr},~{flags},~{memory}
-#[no_mangle]
-pub unsafe fn clobber_sysv64() {
-    asm!("", clobber_abi("sysv64"));
-}
-
-// CHECK-LABEL: @clobber_win64
-// CHECK: ={ax},={cx},={dx},={r8},={r9},={r10},={r11},={xmm0},={xmm1},={xmm2},={xmm3},={xmm4},={xmm5},={xmm6},={xmm7},={xmm8},={xmm9},={xmm10},={xmm11},={xmm12},={xmm13},={xmm14},={xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{k0},~{k1},~{k2},~{k3},~{k4},~{k5},~{k6},~{k7},~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)},~{tmm0},~{tmm1},~{tmm2},~{tmm3},~{tmm4},~{tmm5},~{tmm6},~{tmm7},~{dirflag},~{fpsr},~{flags},~{memory}
-#[no_mangle]
-pub unsafe fn clobber_win64() {
-    asm!("", clobber_abi("win64"));
-}
-
-// CHECK-LABEL: @clobber_sysv64
-// CHECK: =&{dx},={ax},={cx},={si},={di},={r8},={r9},={r10},={r11},={xmm0},={xmm1},={xmm2},={xmm3},={xmm4},={xmm5},={xmm6},={xmm7},={xmm8},={xmm9},={xmm10},={xmm11},={xmm12},={xmm13},={xmm14},={xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{k0},~{k1},~{k2},~{k3},~{k4},~{k5},~{k6},~{k7},~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)},~{tmm0},~{tmm1},~{tmm2},~{tmm3},~{tmm4},~{tmm5},~{tmm6},~{tmm7},~{dirflag},~{fpsr},~{flags},~{memory}
-#[no_mangle]
-pub unsafe fn clobber_sysv64_edx() {
-    let foo: i32;
-    asm!("", out("edx") foo, clobber_abi("sysv64"));
-}
-
-// CHECK-LABEL: @clobber_win64
-// CHECK: =&{dx},={ax},={cx},={r8},={r9},={r10},={r11},={xmm0},={xmm1},={xmm2},={xmm3},={xmm4},={xmm5},={xmm6},={xmm7},={xmm8},={xmm9},={xmm10},={xmm11},={xmm12},={xmm13},={xmm14},={xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{k0},~{k1},~{k2},~{k3},~{k4},~{k5},~{k6},~{k7},~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)},~{tmm0},~{tmm1},~{tmm2},~{tmm3},~{tmm4},~{tmm5},~{tmm6},~{tmm7},~{dirflag},~{fpsr},~{flags},~{memory}
-#[no_mangle]
-pub unsafe fn clobber_win64_edx() {
-    let foo: i32;
-    asm!("", out("edx") foo, clobber_abi("win64"));
-}
diff --git a/tests/codegen/asm/x86-clobbers.rs b/tests/codegen/asm/x86-clobbers.rs
deleted file mode 100644
index 50163b646b2..00000000000
--- a/tests/codegen/asm/x86-clobbers.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-//@ compile-flags: -Copt-level=3
-//@ only-x86_64
-
-#![crate_type = "rlib"]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @x87_clobber
-// CHECK: ~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)}
-#[no_mangle]
-pub unsafe fn x87_clobber() {
-    asm!("foo", out("st") _);
-}
-
-// CHECK-LABEL: @mmx_clobber
-// CHECK: ~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)}
-#[no_mangle]
-pub unsafe fn mmx_clobber() {
-    asm!("bar", out("mm0") _, out("mm1") _);
-}
diff --git a/tests/codegen/asm/x86-target-clobbers.rs b/tests/codegen/asm/x86-target-clobbers.rs
deleted file mode 100644
index 119372491ff..00000000000
--- a/tests/codegen/asm/x86-target-clobbers.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-//@ only-x86_64
-//@ revisions: base avx512
-//@ [avx512]compile-flags: -C target-feature=+avx512f
-
-#![crate_type = "rlib"]
-
-use std::arch::asm;
-
-// CHECK-LABEL: @amx_clobber
-// base: call void asm sideeffect inteldialect "", "~{tmm0}"()
-#[no_mangle]
-pub unsafe fn amx_clobber() {
-    asm!("", out("tmm0") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @avx512_clobber
-// base: call void asm sideeffect inteldialect "", "~{xmm31}"()
-// avx512: call float asm sideeffect inteldialect "", "=&{xmm31}"()
-#[no_mangle]
-pub unsafe fn avx512_clobber() {
-    asm!("", out("zmm31") _, options(nostack, nomem, preserves_flags));
-}
-
-// CHECK-LABEL: @eax_clobber
-// CHECK: call i32 asm sideeffect inteldialect "", "=&{ax}"()
-#[no_mangle]
-pub unsafe fn eax_clobber() {
-    asm!("", out("eax") _, options(nostack, nomem, preserves_flags));
-}