--- nono/fpe/fpu_explode.c 2026/04/29 17:04:28 1.1 +++ nono/fpe/fpu_explode.c 2026/04/29 17:05:23 1.1.1.2 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu_explode.c,v 1.15 2015/02/05 12:23:27 isaki Exp $ */ +/* $NetBSD: fpu_explode.c,v 1.16 2021/03/08 14:37:55 isaki Exp $ */ /* * Copyright (c) 1992, 1993 @@ -318,11 +318,6 @@ fpu_explode(struct fpemu *fe, struct fpn fp->fp_sign = s >> 31; fp->fp_sticky = 0; switch (type) { - - case FTYPE_BYT: - s >>= 8; - case FTYPE_WRD: - s >>= 16; case FTYPE_LNG: s = fpu_itof(fp, s); break; @@ -345,6 +340,10 @@ fpu_explode(struct fpemu *fe, struct fpn break; #endif + case FTYPE_BYT: + case FTYPE_WRD: + /* Caller must cast it to signed LNG instead of calling this */ + /* FALLTHROUGH */ default: #if defined(XM6i_FPE) /* 何も出来ることがない */