]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/5c/peep.c
5c: dont emit conditional integer division instructions
[plan9front.git] / sys / src / cmd / 5c / peep.c
index c7b4c2a3073de04b9f621e385913b90e9224db6a..3d624a93dd8cc2f804eddadbf7198a0827b5aa21 100644 (file)
@@ -1354,6 +1354,15 @@ joinsplit(Reg *r, Joininfo *j)
                        j->end = r->s2;
                        return Branch;
                }
+               switch(r->prog->as){
+               case ADIV:
+               case ADIVU:
+               case AMOD:
+               case AMODU:
+                       /* emulated by 5l, doesnt handle conditionals */
+                       j->end = r->s1;
+                       return Toolong;
+               }
                if (modifiescpsr(r->prog)) {
                        j->end = r->s1;
                        return Setcond;