Skip to content

Commit

Permalink
add codegen test for unchecked math
Browse files Browse the repository at this point in the history
  • Loading branch information
lcnr committed Jun 3, 2019
1 parent 4e7319c commit 8a25fdb
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions src/test/codegen/unchecked_math.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#![crate_type = "lib"]
#![feature(core_intrinsics)]

use std::intrinsics::*;

// CHECK-LABEL: @unchecked_add_signed
#[no_mangle]
pub unsafe fn unchecked_add_signed(a: i32, b: i32) -> i32 {
// CHECK: add nsw
unchecked_add(a, b)
}

// CHECK-LABEL: @unchecked_add_unsigned
#[no_mangle]
pub unsafe fn unchecked_add_unsigned(a: u32, b: u32) -> u32 {
// CHECK: add nuw
unchecked_add(a, b)
}

// CHECK-LABEL: @unchecked_sub_signed
#[no_mangle]
pub unsafe fn unchecked_sub_signed(a: i32, b: i32) -> i32 {
// CHECK: sub nsw
unchecked_sub(a, b)
}

// CHECK-LABEL: @unchecked_sub_unsigned
#[no_mangle]
pub unsafe fn unchecked_sub_unsigned(a: u32, b: u32) -> u32 {
// CHECK: sub nuw
unchecked_sub(a, b)
}

// CHECK-LABEL: @unchecked_mul_signed
#[no_mangle]
pub unsafe fn unchecked_mul_signed(a: i32, b: i32) -> i32 {
// CHECK: mul nsw
unchecked_mul(a, b)
}

// CHECK-LABEL: @unchecked_mul_unsigned
#[no_mangle]
pub unsafe fn unchecked_mul_unsigned(a: u32, b: u32) -> u32 {
// CHECK: mul nuw
unchecked_mul(a, b)
}

0 comments on commit 8a25fdb

Please sign in to comment.