File tree 1 file changed +4
-2
lines changed
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -681,7 +681,8 @@ pub fn codegen_intrinsic_call<'tcx>(
681
681
let msb_lz = fx. bcx. ins( ) . clz( msb) ;
682
682
let msb_is_zero = fx. bcx. ins( ) . icmp_imm( IntCC :: Equal , msb, 0 ) ;
683
683
let lsb_lz_plus_64 = fx. bcx. ins( ) . iadd_imm( lsb_lz, 64 ) ;
684
- fx. bcx. ins( ) . select( msb_is_zero, lsb_lz_plus_64, msb_lz)
684
+ let res = fx. bcx. ins( ) . select( msb_is_zero, lsb_lz_plus_64, msb_lz) ;
685
+ fx. bcx. ins( ) . uextend( types:: I128 , res)
685
686
} else {
686
687
fx. bcx. ins( ) . clz( arg)
687
688
} ;
@@ -697,7 +698,8 @@ pub fn codegen_intrinsic_call<'tcx>(
697
698
let msb_tz = fx. bcx. ins( ) . ctz( msb) ;
698
699
let lsb_is_zero = fx. bcx. ins( ) . icmp_imm( IntCC :: Equal , lsb, 0 ) ;
699
700
let msb_tz_plus_64 = fx. bcx. ins( ) . iadd_imm( msb_tz, 64 ) ;
700
- fx. bcx. ins( ) . select( lsb_is_zero, msb_tz_plus_64, lsb_tz)
701
+ let res = fx. bcx. ins( ) . select( lsb_is_zero, msb_tz_plus_64, lsb_tz) ;
702
+ fx. bcx. ins( ) . uextend( types:: I128 , res)
701
703
} else {
702
704
fx. bcx. ins( ) . ctz( arg)
703
705
} ;
You can’t perform that action at this time.
0 commit comments