__ses_xchg_npn_ce()
authoryu.dongliang <18588496441@163.com>
Tue, 31 Oct 2023 04:07:37 +0000 (12:07 +0800)
committeryu.dongliang <18588496441@163.com>
Tue, 31 Oct 2023 04:07:37 +0000 (12:07 +0800)
ses_layout.c

index b0f4c9a6dc751f7ee1924159f5435d1b287875f3..6e7a9fc0970a7f3d37c93a8d30bc8cde5b3d4b79 100644 (file)
@@ -1027,17 +1027,20 @@ static void __ses_xchg_npn_ce(ScfEfunction* f, int d)
 
                pc->x = (pc->x + c->x * 3) / 4;
 
-               if (pc->y > pe->y && pe->y > pb->y) {
+               if (pc->y > pe->y)
+                       SCF_XCHG(pc, pe);
 
-                       if ((c->x < 0 && pc->x > pe->x) || (c->x > 0 && pc->x < pe->x))
+               if (pc->y > pb->y) {
+
+                       if ((c->x < 0 && pc->x < pe->x) || (c->x > 0 && pc->x > pe->x))
                                SCF_XCHG(pc->x, pe->x);
 
-               } else if (pc->y < pe->y && pe->y < pb->y) {
+               } else if (pe->y < pb->y) {
 
                        if ((c->x < 0 && pc->x > pe->x) || (c->x > 0 && pc->x < pe->x))
                                SCF_XCHG(pc->x, pe->x);
 
-               } else if ((pc->y > pb->y && pb->y > pe->y) || (pc->y < pb->y && pb->y < pe->y)) {
+               } else if (pc->y < pb->y) {
 
                        if ((c->x > 0 && pc->x < pb->x) || (c->x < 0 && pc->x > pb->x)) {
                                SCF_XCHG(pc->x, pe->x);