@@ -594,14 +594,12 @@ fn main() {
594594 }" ) ;
595595 gen ( |( a, b) : ( MyI128 , MyI128 ) | Some ( a. 0 . wrapping_mul ( b. 0 ) ) ,
596596 "builtins::int::mul::__multi3(a, b)" ) ;
597- if !target_arch_mips { // FIXME(#137)
598- gen ( |( a, b) : ( MyI128 , MyI128 ) | Some ( a. 0 . overflowing_mul ( b. 0 ) ) ,
599- "{
600- let mut o = 2;
601- let c = builtins::int::mul::__muloti4(a, b, &mut o);
602- (c, match o { 0 => false, 1 => true, _ => panic!() })
603- }" ) ;
604- }
597+ gen ( |( a, b) : ( MyI128 , MyI128 ) | Some ( a. 0 . overflowing_mul ( b. 0 ) ) ,
598+ "{
599+ let mut o = 2;
600+ let c = builtins::int::mul::__muloti4(a, b, &mut o);
601+ (c, match o { 0 => false, 1 => true, _ => panic!() })
602+ }" ) ;
605603
606604 // int/sdiv.rs
607605 gen ( |( a, b) : ( MyI64 , MyI64 ) | {
@@ -658,24 +656,22 @@ fn main() {
658656 }
659657 } ,
660658 "builtins::int::sdiv::__moddi3(a, b)" ) ;
661- if !target_arch_mips { // FIXME(#137)
662- gen ( |( a, b) : ( MyI128 , MyI128 ) | {
663- if b. 0 == 0 {
664- None
665- } else {
666- Some ( a. 0 / b. 0 )
667- }
668- } ,
669- "builtins::int::sdiv::__divti3(a, b)" ) ;
670- gen ( |( a, b) : ( MyI128 , MyI128 ) | {
671- if b. 0 == 0 {
672- None
673- } else {
674- Some ( a. 0 % b. 0 )
675- }
676- } ,
677- "builtins::int::sdiv::__modti3(a, b)" ) ;
678- }
659+ gen ( |( a, b) : ( MyI128 , MyI128 ) | {
660+ if b. 0 == 0 {
661+ None
662+ } else {
663+ Some ( a. 0 / b. 0 )
664+ }
665+ } ,
666+ "builtins::int::sdiv::__divti3(a, b)" ) ;
667+ gen ( |( a, b) : ( MyI128 , MyI128 ) | {
668+ if b. 0 == 0 {
669+ None
670+ } else {
671+ Some ( a. 0 % b. 0 )
672+ }
673+ } ,
674+ "builtins::int::sdiv::__modti3(a, b)" ) ;
679675
680676 // int/shift.rs
681677 gen ( |( a, b) : ( MyU64 , MyU32 ) | Some ( a. 0 << ( b. 0 % 64 ) ) ,
@@ -746,35 +742,33 @@ fn main() {
746742 }
747743 } ,
748744 "builtins::int::udiv::__umoddi3(a, b)" ) ;
749- if !target_arch_mips { // FIXME(#137)
750- gen ( |( a, b) : ( MyU128 , MyU128 ) | {
751- if b. 0 == 0 {
752- None
753- } else {
754- Some ( a. 0 / b. 0 )
755- }
756- } ,
757- "builtins::int::udiv::__udivti3(a, b)" ) ;
758- gen ( |( a, b) : ( MyU128 , MyU128 ) | {
759- if b. 0 == 0 {
760- None
761- } else {
762- Some ( a. 0 % b. 0 )
763- }
764- } ,
765- "builtins::int::udiv::__umodti3(a, b)" ) ;
766- gen ( |( a, b) : ( MyU128 , MyU128 ) | {
767- if b. 0 == 0 {
768- None
769- } else {
770- Some ( ( a. 0 / b. 0 , a. 0 % b. 0 ) )
771- }
772- } ,
773- "{
774- let mut r = 0;
775- (builtins::int::udiv::__udivmodti4(a, b, Some(&mut r)), r)
776- }" ) ;
777- }
745+ gen ( |( a, b) : ( MyU128 , MyU128 ) | {
746+ if b. 0 == 0 {
747+ None
748+ } else {
749+ Some ( a. 0 / b. 0 )
750+ }
751+ } ,
752+ "builtins::int::udiv::__udivti3(a, b)" ) ;
753+ gen ( |( a, b) : ( MyU128 , MyU128 ) | {
754+ if b. 0 == 0 {
755+ None
756+ } else {
757+ Some ( a. 0 % b. 0 )
758+ }
759+ } ,
760+ "builtins::int::udiv::__umodti3(a, b)" ) ;
761+ gen ( |( a, b) : ( MyU128 , MyU128 ) | {
762+ if b. 0 == 0 {
763+ None
764+ } else {
765+ Some ( ( a. 0 / b. 0 , a. 0 % b. 0 ) )
766+ }
767+ } ,
768+ "{
769+ let mut r = 0;
770+ (builtins::int::udiv::__udivmodti4(a, b, Some(&mut r)), r)
771+ }" ) ;
778772}
779773
780774macro_rules! gen_float {
0 commit comments