@@ -96,36 +96,38 @@ intrinsics! {
9696 }
9797}
9898
99- #[ cfg_attr( not( stage0) , lang = "i128_shl" ) ]
100- pub fn rust_i128_shl ( a : i128 , b : u32 ) -> i128 {
101- __ashlti3 ( a as _ , b) as _
102- }
103- #[ cfg_attr( not( stage0) , lang = "i128_shlo" ) ]
104- pub fn rust_i128_shlo ( a : i128 , b : u128 ) -> ( i128 , bool ) {
105- ( rust_i128_shl ( a, b as _ ) , b >= 128 )
106- }
107- #[ cfg_attr( not( stage0) , lang = "u128_shl" ) ]
108- pub fn rust_u128_shl ( a : u128 , b : u32 ) -> u128 {
109- __ashlti3 ( a, b)
110- }
111- #[ cfg_attr( not( stage0) , lang = "u128_shlo" ) ]
112- pub fn rust_u128_shlo ( a : u128 , b : u128 ) -> ( u128 , bool ) {
113- ( rust_u128_shl ( a, b as _ ) , b >= 128 )
114- }
99+ u128_lang_items ! {
100+ #[ lang = "i128_shl" ]
101+ pub fn rust_i128_shl( a: i128 , b: u32 ) -> i128 {
102+ __ashlti3( a as _, b) as _
103+ }
104+ #[ lang = "i128_shlo" ]
105+ pub fn rust_i128_shlo( a: i128 , b: u128 ) -> ( i128 , bool ) {
106+ ( rust_i128_shl( a, b as _) , b >= 128 )
107+ }
108+ #[ lang = "u128_shl" ]
109+ pub fn rust_u128_shl( a: u128 , b: u32 ) -> u128 {
110+ __ashlti3( a, b)
111+ }
112+ #[ lang = "u128_shlo" ]
113+ pub fn rust_u128_shlo( a: u128 , b: u128 ) -> ( u128 , bool ) {
114+ ( rust_u128_shl( a, b as _) , b >= 128 )
115+ }
115116
116- #[ cfg_attr( not( stage0) , lang = "i128_shr" ) ]
117- pub fn rust_i128_shr ( a : i128 , b : u32 ) -> i128 {
118- __ashrti3 ( a, b)
119- }
120- #[ cfg_attr( not( stage0) , lang = "i128_shro" ) ]
121- pub fn rust_i128_shro ( a : i128 , b : u128 ) -> ( i128 , bool ) {
122- ( rust_i128_shr ( a, b as _ ) , b >= 128 )
123- }
124- #[ cfg_attr( not( stage0) , lang = "u128_shr" ) ]
125- pub fn rust_u128_shr ( a : u128 , b : u32 ) -> u128 {
126- __lshrti3 ( a, b)
127- }
128- #[ cfg_attr( not( stage0) , lang = "u128_shro" ) ]
129- pub fn rust_u128_shro ( a : u128 , b : u128 ) -> ( u128 , bool ) {
130- ( rust_u128_shr ( a, b as _ ) , b >= 128 )
117+ #[ lang = "i128_shr" ]
118+ pub fn rust_i128_shr( a: i128 , b: u32 ) -> i128 {
119+ __ashrti3( a, b)
120+ }
121+ #[ lang = "i128_shro" ]
122+ pub fn rust_i128_shro( a: i128 , b: u128 ) -> ( i128 , bool ) {
123+ ( rust_i128_shr( a, b as _) , b >= 128 )
124+ }
125+ #[ lang = "u128_shr" ]
126+ pub fn rust_u128_shr( a: u128 , b: u32 ) -> u128 {
127+ __lshrti3( a, b)
128+ }
129+ #[ lang = "u128_shro" ]
130+ pub fn rust_u128_shro( a: u128 , b: u128 ) -> ( u128 , bool ) {
131+ ( rust_u128_shr( a, b as _) , b >= 128 )
132+ }
131133}
0 commit comments