@@ -1715,14 +1715,26 @@ unsupported {} from `{}` with element `{}` of size `{}` to `{}`"#,
1715
1715
let ( in_style, in_width) = match in_elem. kind ( ) {
1716
1716
// vectors of pointer-sized integers should've been
1717
1717
// disallowed before here, so this unwrap is safe.
1718
- ty:: Int ( i) => ( Style :: Int ( true ) , i. bit_width ( ) . unwrap ( ) ) ,
1719
- ty:: Uint ( u) => ( Style :: Int ( false ) , u. bit_width ( ) . unwrap ( ) ) ,
1718
+ ty:: Int ( i) => (
1719
+ Style :: Int ( true ) ,
1720
+ i. normalize ( bx. tcx ( ) . sess . target . pointer_width ) . bit_width ( ) . unwrap ( ) ,
1721
+ ) ,
1722
+ ty:: Uint ( u) => (
1723
+ Style :: Int ( false ) ,
1724
+ u. normalize ( bx. tcx ( ) . sess . target . pointer_width ) . bit_width ( ) . unwrap ( ) ,
1725
+ ) ,
1720
1726
ty:: Float ( f) => ( Style :: Float , f. bit_width ( ) ) ,
1721
1727
_ => ( Style :: Unsupported , 0 ) ,
1722
1728
} ;
1723
1729
let ( out_style, out_width) = match out_elem. kind ( ) {
1724
- ty:: Int ( i) => ( Style :: Int ( true ) , i. bit_width ( ) . unwrap ( ) ) ,
1725
- ty:: Uint ( u) => ( Style :: Int ( false ) , u. bit_width ( ) . unwrap ( ) ) ,
1730
+ ty:: Int ( i) => (
1731
+ Style :: Int ( true ) ,
1732
+ i. normalize ( bx. tcx ( ) . sess . target . pointer_width ) . bit_width ( ) . unwrap ( ) ,
1733
+ ) ,
1734
+ ty:: Uint ( u) => (
1735
+ Style :: Int ( false ) ,
1736
+ u. normalize ( bx. tcx ( ) . sess . target . pointer_width ) . bit_width ( ) . unwrap ( ) ,
1737
+ ) ,
1726
1738
ty:: Float ( f) => ( Style :: Float , f. bit_width ( ) ) ,
1727
1739
_ => ( Style :: Unsupported , 0 ) ,
1728
1740
} ;
0 commit comments