Skip to content

Commit 5973845

Browse files
committed
cleanup: remove support for 3DNow! cpu features
In llvm/llvm-project@f0eb558 all support for 3DNow! intrinsics and instructions. Per the commit message there, only AMD chips between 1998 and 2011 or so actually supported these instructions, and they were effectively replaced by SSE which was available on many more chips. I'd be very surprised if anyone had ever used these from Rust.
1 parent a91f7d7 commit 5973845

File tree

2 files changed

+1
-24
lines changed

2 files changed

+1
-24
lines changed

compiler/rustc_codegen_gcc/src/intrinsic/archs.rs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7210,29 +7210,6 @@ match name {
72107210
"llvm.ve.vl.xorm.MMM" => "__builtin_ve_vl_xorm_MMM",
72117211
"llvm.ve.vl.xorm.mmm" => "__builtin_ve_vl_xorm_mmm",
72127212
// x86
7213-
"llvm.x86.3dnow.pavgusb" => "__builtin_ia32_pavgusb",
7214-
"llvm.x86.3dnow.pf2id" => "__builtin_ia32_pf2id",
7215-
"llvm.x86.3dnow.pfacc" => "__builtin_ia32_pfacc",
7216-
"llvm.x86.3dnow.pfadd" => "__builtin_ia32_pfadd",
7217-
"llvm.x86.3dnow.pfcmpeq" => "__builtin_ia32_pfcmpeq",
7218-
"llvm.x86.3dnow.pfcmpge" => "__builtin_ia32_pfcmpge",
7219-
"llvm.x86.3dnow.pfcmpgt" => "__builtin_ia32_pfcmpgt",
7220-
"llvm.x86.3dnow.pfmax" => "__builtin_ia32_pfmax",
7221-
"llvm.x86.3dnow.pfmin" => "__builtin_ia32_pfmin",
7222-
"llvm.x86.3dnow.pfmul" => "__builtin_ia32_pfmul",
7223-
"llvm.x86.3dnow.pfrcp" => "__builtin_ia32_pfrcp",
7224-
"llvm.x86.3dnow.pfrcpit1" => "__builtin_ia32_pfrcpit1",
7225-
"llvm.x86.3dnow.pfrcpit2" => "__builtin_ia32_pfrcpit2",
7226-
"llvm.x86.3dnow.pfrsqit1" => "__builtin_ia32_pfrsqit1",
7227-
"llvm.x86.3dnow.pfrsqrt" => "__builtin_ia32_pfrsqrt",
7228-
"llvm.x86.3dnow.pfsub" => "__builtin_ia32_pfsub",
7229-
"llvm.x86.3dnow.pfsubr" => "__builtin_ia32_pfsubr",
7230-
"llvm.x86.3dnow.pi2fd" => "__builtin_ia32_pi2fd",
7231-
"llvm.x86.3dnow.pmulhrw" => "__builtin_ia32_pmulhrw",
7232-
"llvm.x86.3dnowa.pf2iw" => "__builtin_ia32_pf2iw",
7233-
"llvm.x86.3dnowa.pfnacc" => "__builtin_ia32_pfnacc",
7234-
"llvm.x86.3dnowa.pfpnacc" => "__builtin_ia32_pfpnacc",
7235-
"llvm.x86.3dnowa.pi2fw" => "__builtin_ia32_pi2fw",
72367213
"llvm.x86.aadd32" => "__builtin_ia32_aadd32",
72377214
"llvm.x86.aadd64" => "__builtin_ia32_aadd64",
72387215
"llvm.x86.aand32" => "__builtin_ia32_aand32",

compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub fn target() -> Target {
1919
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
2020
linker: Some("rust-lld".into()),
2121
features:
22-
"-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float"
22+
"-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2,+soft-float"
2323
.into(),
2424
supported_sanitizers: SanitizerSet::KCFI | SanitizerSet::KERNELADDRESS,
2525
disable_redzone: true,

0 commit comments

Comments
 (0)