Skip to content

Commit

Permalink
librustc: add rint and nearbyint intrinsics to go with ceil and trunc…
Browse files Browse the repository at this point in the history
… from LLVM 3.3.
  • Loading branch information
huonw committed Apr 3, 2013
1 parent 5f13e9c commit 2d52c0a
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/librustc/middle/trans/base.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2712,6 +2712,14 @@ pub fn declare_intrinsics(llmod: ModuleRef) -> LinearMap<~str, ValueRef> {
T_fn(~[T_f32()], T_f32()));
let truncf64 = decl_cdecl_fn(llmod, ~"llvm.trunc.f64",
T_fn(~[T_f64()], T_f64()));
let rintf32 = decl_cdecl_fn(llmod, ~"llvm.rint.f32",
T_fn(~[T_f32()], T_f32()));
let rintf64 = decl_cdecl_fn(llmod, ~"llvm.rint.f64",
T_fn(~[T_f64()], T_f64()));
let nearbyintf32 = decl_cdecl_fn(llmod, ~"llvm.nearbyint.f32",
T_fn(~[T_f32()], T_f32()));
let nearbyintf64 = decl_cdecl_fn(llmod, ~"llvm.nearbyint.f64",
T_fn(~[T_f64()], T_f64()));
let ctpop8 = decl_cdecl_fn(llmod, ~"llvm.ctpop.i8",
T_fn(~[T_i8()], T_i8()));
let ctpop16 = decl_cdecl_fn(llmod, ~"llvm.ctpop.i16",
Expand Down Expand Up @@ -2784,6 +2792,10 @@ pub fn declare_intrinsics(llmod: ModuleRef) -> LinearMap<~str, ValueRef> {
intrinsics.insert(~"llvm.ceil.f64", ceilf64);
intrinsics.insert(~"llvm.trunc.f32", truncf32);
intrinsics.insert(~"llvm.trunc.f64", truncf64);
intrinsics.insert(~"llvm.rint.f32", rintf32);
intrinsics.insert(~"llvm.rint.f64", rintf64);
intrinsics.insert(~"llvm.nearbyint.f32", nearbyintf32);
intrinsics.insert(~"llvm.nearbyint.f64", nearbyintf64);
intrinsics.insert(~"llvm.ctpop.i8", ctpop8);
intrinsics.insert(~"llvm.ctpop.i16", ctpop16);
intrinsics.insert(~"llvm.ctpop.i32", ctpop32);
Expand Down

0 comments on commit 2d52c0a

Please sign in to comment.