|
@@ -96,36 +96,38 @@ intrinsics! {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-#[cfg_attr(not(stage0), lang = "i128_shl")]
|
|
|
-pub fn rust_i128_shl(a: i128, b: u32) -> i128 {
|
|
|
- __ashlti3(a as _, b) as _
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "i128_shlo")]
|
|
|
-pub fn rust_i128_shlo(a: i128, b: u128) -> (i128, bool) {
|
|
|
- (rust_i128_shl(a, b as _), b >= 128)
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "u128_shl")]
|
|
|
-pub fn rust_u128_shl(a: u128, b: u32) -> u128 {
|
|
|
- __ashlti3(a, b)
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "u128_shlo")]
|
|
|
-pub fn rust_u128_shlo(a: u128, b: u128) -> (u128, bool) {
|
|
|
- (rust_u128_shl(a, b as _), b >= 128)
|
|
|
-}
|
|
|
+u128_lang_items! {
|
|
|
+ #[lang = "i128_shl"]
|
|
|
+ pub fn rust_i128_shl(a: i128, b: u32) -> i128 {
|
|
|
+ __ashlti3(a as _, b) as _
|
|
|
+ }
|
|
|
+ #[lang = "i128_shlo"]
|
|
|
+ pub fn rust_i128_shlo(a: i128, b: u128) -> (i128, bool) {
|
|
|
+ (rust_i128_shl(a, b as _), b >= 128)
|
|
|
+ }
|
|
|
+ #[lang = "u128_shl"]
|
|
|
+ pub fn rust_u128_shl(a: u128, b: u32) -> u128 {
|
|
|
+ __ashlti3(a, b)
|
|
|
+ }
|
|
|
+ #[lang = "u128_shlo"]
|
|
|
+ pub fn rust_u128_shlo(a: u128, b: u128) -> (u128, bool) {
|
|
|
+ (rust_u128_shl(a, b as _), b >= 128)
|
|
|
+ }
|
|
|
|
|
|
-#[cfg_attr(not(stage0), lang = "i128_shr")]
|
|
|
-pub fn rust_i128_shr(a: i128, b: u32) -> i128 {
|
|
|
- __ashrti3(a, b)
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "i128_shro")]
|
|
|
-pub fn rust_i128_shro(a: i128, b: u128) -> (i128, bool) {
|
|
|
- (rust_i128_shr(a, b as _), b >= 128)
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "u128_shr")]
|
|
|
-pub fn rust_u128_shr(a: u128, b: u32) -> u128 {
|
|
|
- __lshrti3(a, b)
|
|
|
-}
|
|
|
-#[cfg_attr(not(stage0), lang = "u128_shro")]
|
|
|
-pub fn rust_u128_shro(a: u128, b: u128) -> (u128, bool) {
|
|
|
- (rust_u128_shr(a, b as _), b >= 128)
|
|
|
+ #[lang = "i128_shr"]
|
|
|
+ pub fn rust_i128_shr(a: i128, b: u32) -> i128 {
|
|
|
+ __ashrti3(a, b)
|
|
|
+ }
|
|
|
+ #[lang = "i128_shro"]
|
|
|
+ pub fn rust_i128_shro(a: i128, b: u128) -> (i128, bool) {
|
|
|
+ (rust_i128_shr(a, b as _), b >= 128)
|
|
|
+ }
|
|
|
+ #[lang = "u128_shr"]
|
|
|
+ pub fn rust_u128_shr(a: u128, b: u32) -> u128 {
|
|
|
+ __lshrti3(a, b)
|
|
|
+ }
|
|
|
+ #[lang = "u128_shro"]
|
|
|
+ pub fn rust_u128_shro(a: u128, b: u128) -> (u128, bool) {
|
|
|
+ (rust_u128_shr(a, b as _), b >= 128)
|
|
|
+ }
|
|
|
}
|