--- nono/m88xx0/m88100acc.h 2026/04/29 17:04:44 1.1.1.2 +++ nono/m88xx0/m88100acc.h 2026/04/29 17:05:56 1.1.1.5 @@ -25,40 +25,19 @@ #define m88100opf_FP_TD(x) (((x) >> 5) & 3) // cmp のやつ -static inline uint32 +inline uint32 acc_cmp(uint32 a, uint32 b) { uint32 rv = 0; - if (a >= b) rv |= (1 << 11); - if (a < b) rv |= (1 << 10); - if (a <= b) rv |= (1 << 9); - if (a > b) rv |= (1 << 8); - if ((int32)a >= (int32)b) rv |= (1 << 7); - if ((int32)a < (int32)b) rv |= (1 << 6); - if ((int32)a <= (int32)b) rv |= (1 << 5); - if ((int32)a > (int32)b) rv |= (1 << 4); - if ((int32)a != (int32)b) rv |= (1 << 3); - if ((int32)a == (int32)b) rv |= (1 << 2); - return rv; -} - -// fcmp のやつ -static inline uint32 -acc_fcmp(double a, double b) -{ - uint32 rv = 0; - if (a <= 0 || b <= a) rv |= (1 << 11); // ob - if (0 < a && a < b) rv |= (1 << 10); // in - if (0 <= a && a <= b) rv |= (1 << 9); // ib - if (a < 0 || b < a) rv |= (1 << 8); // ou - - if (a >= b) rv |= (1 << 7); // ge - if (a < b) rv |= (1 << 6); // lt - if (a <= b) rv |= (1 << 5); // le - if (a > b) rv |= (1 << 4); // gt - if (a != b) rv |= (1 << 3); // ne - if (a == b) rv |= (1 << 2); // eq - if (true ) rv |= (1 << 1); // cp - if (false ) rv |= (1 << 0); // nc + if (a >= b) rv |= (1U << 11); + if (a < b) rv |= (1U << 10); + if (a <= b) rv |= (1U << 9); + if (a > b) rv |= (1U << 8); + if ((int32)a >= (int32)b) rv |= (1U << 7); + if ((int32)a < (int32)b) rv |= (1U << 6); + if ((int32)a <= (int32)b) rv |= (1U << 5); + if ((int32)a > (int32)b) rv |= (1U << 4); + if ((int32)a != (int32)b) rv |= (1U << 3); + if ((int32)a == (int32)b) rv |= (1U << 2); return rv; }