]> git.proxmox.com Git - rustc.git/blame - tests/codegen/call-llvm-intrinsics.rs
New upstream version 1.69.0+dfsg1
[rustc.git] / tests / codegen / call-llvm-intrinsics.rs
CommitLineData
9c376795 1// compile-flags: -C no-prepopulate-passes -Copt-level=0
ba9703b0 2
f035d41b
XL
3// ignore-riscv64
4
ba9703b0
XL
5#![feature(link_llvm_intrinsics)]
6#![crate_type = "lib"]
7
8struct A;
9
10impl Drop for A {
11 fn drop(&mut self) {
12 println!("A");
13 }
14}
15
5869c6ff 16extern "C" {
ba9703b0
XL
17 #[link_name = "llvm.sqrt.f32"]
18 fn sqrt(x: f32) -> f32;
19}
20
21pub fn do_call() {
22 let _a = A;
23
24 unsafe {
25 // Ensure that we `call` LLVM intrinsics instead of trying to `invoke` them
26 // CHECK: call float @llvm.sqrt.f32(float 4.000000e+00
27 sqrt(4.0);
28 }
29}