* [mattst88-alpha:alpha-fp-tininess 1/1] include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used
@ 2026-10-22 6:04 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-22 6:04 UTC (permalink / raw)
To: Matt Turner; +Cc: oe-kbuild-all, Magnus Lindholm
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha.git alpha-fp-tininess
head: b74843b38da8f1186fd7d447646c835b47096a15
commit: b74843b38da8f1186fd7d447646c835b47096a15 [1/1] alpha: determine tininess after rounding in the FP emulation
config: powerpc64-randconfig-r2111-20261022 (https://download.01.org/0day-ci/archive/20261022/202610220827.AlfDjqIT-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261022/202610220827.AlfDjqIT-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610220827.AlfDjqIT-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from arch/powerpc/math-emu/fnmadd.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fnmadd.c:7:
arch/powerpc/math-emu/fnmadd.c: In function 'fnmadd':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fnmadd.c:52:9: note: in expansion of macro '__FP_PACK_D'
52 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fadd.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fadd.c:7:
arch/powerpc/math-emu/fadd.c: In function 'fadd':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fadd.c:36:9: note: in expansion of macro '__FP_PACK_D'
36 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/frsp.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from arch/powerpc/math-emu/frsp.c:9:
include/math-emu/single.h:50:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
50 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/frsp.c:7:
arch/powerpc/math-emu/frsp.c: In function 'frsp':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:185:12: note: in expansion of macro '_FP_PACK_CANONICAL'
185 | _FP_PACK_CANONICAL(S, 1, __X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/frsp.c:27:9: note: in expansion of macro '__FP_PACK_DS'
27 | __FP_PACK_DS(frD, B);
| ^~~~~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:189:20: note: in expansion of macro '_FP_PACK_CANONICAL'
189 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/frsp.c:27:9: note: in expansion of macro '__FP_PACK_DS'
27 | __FP_PACK_DS(frD, B);
| ^~~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fmadd.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fmadd.c:7:
arch/powerpc/math-emu/fmadd.c: In function 'fmadd':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fmadd.c:49:9: note: in expansion of macro '__FP_PACK_D'
49 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fadds.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from arch/powerpc/math-emu/fadds.c:9:
include/math-emu/single.h:50:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
50 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fadds.c:7:
arch/powerpc/math-emu/fadds.c: In function 'fadds':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:185:12: note: in expansion of macro '_FP_PACK_CANONICAL'
185 | _FP_PACK_CANONICAL(S, 1, __X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fadds.c:37:9: note: in expansion of macro '__FP_PACK_DS'
37 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:189:20: note: in expansion of macro '_FP_PACK_CANONICAL'
189 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fadds.c:37:9: note: in expansion of macro '__FP_PACK_DS'
37 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fdiv.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fdiv.c:7:
arch/powerpc/math-emu/fdiv.c: In function 'fdiv':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fdiv.c:54:9: note: in expansion of macro '__FP_PACK_D'
54 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fsqrts.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from arch/powerpc/math-emu/fsqrts.c:9:
include/math-emu/single.h:50:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
50 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fsqrts.c:7:
arch/powerpc/math-emu/fsqrts.c: In function 'fsqrts':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:185:12: note: in expansion of macro '_FP_PACK_CANONICAL'
185 | _FP_PACK_CANONICAL(S, 1, __X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fsqrts.c:39:9: note: in expansion of macro '__FP_PACK_DS'
39 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:189:20: note: in expansion of macro '_FP_PACK_CANONICAL'
189 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fsqrts.c:39:9: note: in expansion of macro '__FP_PACK_DS'
39 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fdivs.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from arch/powerpc/math-emu/fdivs.c:9:
include/math-emu/single.h:50:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
50 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fdivs.c:7:
arch/powerpc/math-emu/fdivs.c: In function 'fdivs':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:185:12: note: in expansion of macro '_FP_PACK_CANONICAL'
185 | _FP_PACK_CANONICAL(S, 1, __X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fdivs.c:56:9: note: in expansion of macro '__FP_PACK_DS'
56 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:189:20: note: in expansion of macro '_FP_PACK_CANONICAL'
189 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fdivs.c:56:9: note: in expansion of macro '__FP_PACK_DS'
56 | __FP_PACK_DS(frD, R);
| ^~~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/fnmsub.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/fnmsub.c:7:
arch/powerpc/math-emu/fnmsub.c: In function 'fnmsub':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/fnmsub.c:55:9: note: in expansion of macro '__FP_PACK_D'
55 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
--
In file included from arch/powerpc/math-emu/lfs.c:8:
include/math-emu/double.h:59:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
59 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from arch/powerpc/math-emu/lfs.c:9:
include/math-emu/single.h:50:21: warning: "__BIG_ENDIAN" is not defined, evaluates to 0 [-Wundef]
50 | #if __BYTE_ORDER == __BIG_ENDIAN
| ^~~~~~~~~~~~
In file included from include/math-emu/soft-fp.h:195,
from arch/powerpc/math-emu/lfs.c:7:
arch/powerpc/math-emu/lfs.c: In function 'lfs':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
arch/powerpc/include/asm/sfp-machine.h:176:9: note: in expansion of macro '_FP_PACK_CANONICAL'
176 | _FP_PACK_CANONICAL(D, 2, X); \
| ^~~~~~~~~~~~~~~~~~
arch/powerpc/math-emu/lfs.c:43:17: note: in expansion of macro '__FP_PACK_D'
43 | __FP_PACK_D(frD, R);
| ^~~~~~~~~~~
..
vim +/_FP_PACK_CANONICAL_T_e +145 include/math-emu/op-common.h
81
82 /*
83 * Before packing the bits back into the native fp result, take care
84 * of such mundane things as rounding and overflow. Also, for some
85 * kinds of fp values, the original parts may not have been fully
86 * extracted -- but that is ok, we can regenerate them now.
87 */
88
89 #define _FP_PACK_CANONICAL(fs, wc, X) \
90 do { \
91 switch (X##_c) \
92 { \
93 case FP_CLS_NORMAL: \
94 X##_e += _FP_EXPBIAS_##fs; \
95 if (X##_e > 0) \
96 { \
97 _FP_ROUND(wc, X); \
98 if (_FP_FRAC_OVERP_##wc(fs, X)) \
99 { \
100 _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \
101 X##_e++; \
102 } \
103 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
104 if (X##_e >= _FP_EXPMAX_##fs) \
105 { \
106 /* overflow */ \
107 switch (FP_ROUNDMODE) \
108 { \
109 case FP_RND_NEAREST: \
110 X##_c = FP_CLS_INF; \
111 break; \
112 case FP_RND_PINF: \
113 if (!X##_s) X##_c = FP_CLS_INF; \
114 break; \
115 case FP_RND_MINF: \
116 if (X##_s) X##_c = FP_CLS_INF; \
117 break; \
118 } \
119 if (X##_c == FP_CLS_INF) \
120 { \
121 /* Overflow to infinity */ \
122 X##_e = _FP_EXPMAX_##fs; \
123 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
124 } \
125 else \
126 { \
127 /* Overflow to maximum normal */ \
128 X##_e = _FP_EXPMAX_##fs - 1; \
129 _FP_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \
130 } \
131 FP_SET_EXCEPTION(FP_EX_OVERFLOW); \
132 FP_SET_EXCEPTION(FP_EX_INEXACT); \
133 } \
134 } \
135 else \
136 { \
137 /* we've got a denormalized number */ \
138 int _FP_PACK_CANONICAL_is_tiny = 1; \
139 if (_FP_TININESS_AFTER_ROUNDING && X##_e == 0) \
140 { \
141 /* Architectures that detect tininess after rounding \
142 only signal underflow if the result is still \
143 subnormal once rounded as if the exponent range \
144 were unbounded. Round a copy to find out. */ \
> 145 FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
146 /* The class field is not used by the rounding below, \
147 and is unused entirely where this block is dead. */ \
148 (void)_FP_PACK_CANONICAL_T##_c; \
149 _FP_FRAC_COPY_##wc(_FP_PACK_CANONICAL_T, X); \
150 _FP_PACK_CANONICAL_T##_s = X##_s; \
151 _FP_PACK_CANONICAL_T##_e = X##_e; \
152 _FP_ROUND(wc, _FP_PACK_CANONICAL_T); \
153 if (_FP_FRAC_OVERP_##wc(fs, _FP_PACK_CANONICAL_T)) \
154 _FP_PACK_CANONICAL_is_tiny = 0; \
155 } \
156 X##_e = -X##_e + 1; \
157 if (X##_e <= _FP_WFRACBITS_##fs) \
158 { \
159 _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \
160 if (_FP_FRAC_HIGH_##fs(X) \
161 & (_FP_OVERFLOW_##fs >> 1)) \
162 { \
163 X##_e = 1; \
164 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
165 } \
166 else \
167 { \
168 _FP_ROUND(wc, X); \
169 if (_FP_FRAC_HIGH_##fs(X) \
170 & (_FP_OVERFLOW_##fs >> 1)) \
171 { \
172 X##_e = 1; \
173 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
174 FP_SET_EXCEPTION(FP_EX_INEXACT); \
175 } \
176 else \
177 { \
178 X##_e = 0; \
179 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
180 } \
181 } \
182 if (_FP_PACK_CANONICAL_is_tiny \
183 && ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT) || \
184 (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW))) \
185 FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
186 } \
187 else \
188 { \
189 /* underflow to zero */ \
190 X##_e = 0; \
191 if (!_FP_FRAC_ZEROP_##wc(X)) \
192 { \
193 _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \
194 _FP_ROUND(wc, X); \
195 _FP_FRAC_LOW_##wc(X) >>= (_FP_WORKBITS); \
196 } \
197 FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
198 } \
199 } \
200 break; \
201 \
202 case FP_CLS_ZERO: \
203 X##_e = 0; \
204 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
205 break; \
206 \
207 case FP_CLS_INF: \
208 X##_e = _FP_EXPMAX_##fs; \
209 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
210 break; \
211 \
212 case FP_CLS_NAN: \
213 X##_e = _FP_EXPMAX_##fs; \
214 if (!_FP_KEEPNANFRACP) \
215 { \
216 _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
217 X##_s = _FP_NANSIGN_##fs; \
218 } \
219 else \
220 _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
221 break; \
222 } \
223 } while (0)
224
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* [mattst88-alpha:alpha-fp-tininess 1/1] include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used
@ 2026-10-22 19:56 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-22 19:56 UTC (permalink / raw)
To: Matt Turner; +Cc: oe-kbuild-all, Magnus Lindholm
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha.git alpha-fp-tininess
head: b74843b38da8f1186fd7d447646c835b47096a15
commit: b74843b38da8f1186fd7d447646c835b47096a15 [1/1] alpha: determine tininess after rounding in the FP emulation
config: sh-randconfig-1000-20261022 (https://download.01.org/0day-ci/archive/20261023/202610230317.hE0gkSpO-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 16.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261023/202610230317.hE0gkSpO-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610230317.hE0gkSpO-lkp@intel.com/
All warnings (new ones prefixed by >>):
83 | if (CMP(CMP) > 0)
| ^~~
include/math-emu/soft-fp.h:102:24: warning: variable '_fex' set but not used [-Wunused-but-set-variable=]
102 | #define FP_DECL_EX int _fex = 0
| ^~~~
arch/sh/math-emu/math.c:68:9: note: in expansion of macro 'FP_DECL_EX'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~~~~~~~~~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:83:13: note: in expansion of macro 'CMP'
83 | if (CMP(CMP) > 0)
| ^~~
arch/sh/math-emu/math.c: In function 'fcmp_eq':
arch/sh/math-emu/math.c:71:40: warning: variable 'Fn_c' set but not used [-Wunused-but-set-variable=]
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~
include/math-emu/op-common.h:28:14: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
arch/sh/math-emu/math.c:71:27: note: in expansion of macro 'FP_DECL_D'
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~~~~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'CMP_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:94:13: note: in expansion of macro 'CMP'
94 | if (CMP(CMP /*EQ*/) == 0)
| ^~~
arch/sh/math-emu/math.c:71:22: warning: variable 'Fm_c' set but not used [-Wunused-but-set-variable=]
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~
include/math-emu/op-common.h:28:14: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
arch/sh/math-emu/math.c:71:9: note: in expansion of macro 'FP_DECL_D'
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~~~~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'CMP_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:94:13: note: in expansion of macro 'CMP'
94 | if (CMP(CMP /*EQ*/) == 0)
| ^~~
arch/sh/math-emu/math.c:71:40: warning: variable 'Fn_c' set but not used [-Wunused-but-set-variable=]
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~
include/math-emu/op-common.h:28:14: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
arch/sh/math-emu/math.c:71:27: note: in expansion of macro 'FP_DECL_S'
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~~~~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'CMP_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:94:13: note: in expansion of macro 'CMP'
94 | if (CMP(CMP /*EQ*/) == 0)
| ^~~
arch/sh/math-emu/math.c:71:22: warning: variable 'Fm_c' set but not used [-Wunused-but-set-variable=]
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~
include/math-emu/op-common.h:28:14: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
arch/sh/math-emu/math.c:71:9: note: in expansion of macro 'FP_DECL_S'
71 | FP_DECL_##SZ(Fm); FP_DECL_##SZ(Fn); \
| ^~~~~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'CMP_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:94:13: note: in expansion of macro 'CMP'
94 | if (CMP(CMP /*EQ*/) == 0)
| ^~~
include/math-emu/soft-fp.h:102:24: warning: variable '_fex' set but not used [-Wunused-but-set-variable=]
102 | #define FP_DECL_EX int _fex = 0
| ^~~~
arch/sh/math-emu/math.c:68:9: note: in expansion of macro 'FP_DECL_EX'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~~~~~~~~~
arch/sh/math-emu/math.c:78:27: note: in expansion of macro 'BOTH_PRmn'
78 | #define CMP(OP) ({ int r; BOTH_PRmn(OP##_X,r); r; })
| ^~~~~~~~~
arch/sh/math-emu/math.c:94:13: note: in expansion of macro 'CMP'
94 | if (CMP(CMP /*EQ*/) == 0)
| ^~~
arch/sh/math-emu/math.c: In function 'fadd':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_D'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:110:9: note: in expansion of macro 'BOTH_PRmn'
110 | BOTH_PRmn(ARITH_X, ADD);
| ^~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_S'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:110:9: note: in expansion of macro 'BOTH_PRmn'
110 | BOTH_PRmn(ARITH_X, ADD);
| ^~~~~~~~~
arch/sh/math-emu/math.c: In function 'fsub':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_D'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:117:9: note: in expansion of macro 'BOTH_PRmn'
117 | BOTH_PRmn(ARITH_X, SUB);
| ^~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_S'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:117:9: note: in expansion of macro 'BOTH_PRmn'
117 | BOTH_PRmn(ARITH_X, SUB);
| ^~~~~~~~~
arch/sh/math-emu/math.c: In function 'fmul':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_D'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:124:9: note: in expansion of macro 'BOTH_PRmn'
124 | BOTH_PRmn(ARITH_X, MUL);
| ^~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_S'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:124:9: note: in expansion of macro 'BOTH_PRmn'
124 | BOTH_PRmn(ARITH_X, MUL);
| ^~~~~~~~~
arch/sh/math-emu/math.c: In function 'fdiv':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_D'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:34: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:131:9: note: in expansion of macro 'BOTH_PRmn'
131 | BOTH_PRmn(ARITH_X, DIV);
| ^~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:105:9: note: in expansion of macro 'PACK_S'
105 | PACK_##SZ(N, Fr); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:68:56: note: in expansion of macro 'ARITH_X'
68 | FP_DECL_EX; if(FPSCR_PR) op(D,x,DRm,DRn); else op(S,x,FRm,FRn);
| ^~
arch/sh/math-emu/math.c:131:9: note: in expansion of macro 'BOTH_PRmn'
131 | BOTH_PRmn(ARITH_X, DIV);
| ^~~~~~~~~
arch/sh/math-emu/math.c: In function 'fmac':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:149:9: note: in expansion of macro 'PACK_S'
149 | PACK_S(FRn, Fr);
| ^~~~~~
arch/sh/math-emu/math.c: In function 'ffloat':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:290:9: note: in expansion of macro 'PACK_D'
290 | PACK_##SZ(N, Fn); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:296:17: note: in expansion of macro 'EMU_FLOAT_X'
296 | EMU_FLOAT_X(D, DRn);
| ^~~~~~~~~~~
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:290:9: note: in expansion of macro 'PACK_S'
290 | PACK_##SZ(N, Fn); }while(0)
| ^~~~~
arch/sh/math-emu/math.c:298:17: note: in expansion of macro 'EMU_FLOAT_X'
298 | EMU_FLOAT_X(S, FRn);
| ^~~~~~~~~~~
arch/sh/math-emu/math.c: In function 'ftrc':
include/math-emu/soft-fp.h:102:24: warning: variable '_fex' set but not used [-Wunused-but-set-variable=]
102 | #define FP_DECL_EX int _fex = 0
| ^~~~
arch/sh/math-emu/math.c:309:9: note: in expansion of macro 'FP_DECL_EX'
309 | FP_DECL_EX;
| ^~~~~~~~~~
arch/sh/math-emu/math.c: In function 'fcnvsd':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_D'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/double.h:103:5: note: in expansion of macro '_FP_PACK_CANONICAL'
103 | _FP_PACK_CANONICAL(D,2,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:62:20: note: in expansion of macro 'FP_PACK_DP'
62 | {u32 t[2]; FP_PACK_DP(t,f); ((u32*)&r)[0]=t[1]; ((u32*)&r)[1]=t[0];}
| ^~~~~~~~~~
arch/sh/math-emu/math.c:326:9: note: in expansion of macro 'PACK_D'
326 | PACK_D(DRn, Fr);
| ^~~~~~
arch/sh/math-emu/math.c: In function 'fcnvds':
>> include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used [-Wunused-but-set-variable=]
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~~~~~~~~~~~~~
include/math-emu/op-common.h:28:32: note: in definition of macro '_FP_DECL'
28 | _FP_I_TYPE X##_c=0, X##_s=0, X##_e=0; \
| ^
include/math-emu/op-common.h:145:13: note: in expansion of macro 'FP_DECL_S'
145 | FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
| ^~~~~~~~
include/math-emu/single.h:92:5: note: in expansion of macro '_FP_PACK_CANONICAL'
92 | _FP_PACK_CANONICAL(S,1,X); \
| ^~~~~~~~~~~~~~~~~~
arch/sh/math-emu/math.c:59:25: note: in expansion of macro 'FP_PACK_SP'
59 | #define PACK_S(r,f) FP_PACK_SP(&r,f)
| ^~~~~~~~~~
arch/sh/math-emu/math.c:337:9: note: in expansion of macro 'PACK_S'
337 | PACK_S(FPUL, Fr);
| ^~~~~~
vim +/_FP_PACK_CANONICAL_T_e +145 include/math-emu/op-common.h
81
82 /*
83 * Before packing the bits back into the native fp result, take care
84 * of such mundane things as rounding and overflow. Also, for some
85 * kinds of fp values, the original parts may not have been fully
86 * extracted -- but that is ok, we can regenerate them now.
87 */
88
89 #define _FP_PACK_CANONICAL(fs, wc, X) \
90 do { \
91 switch (X##_c) \
92 { \
93 case FP_CLS_NORMAL: \
94 X##_e += _FP_EXPBIAS_##fs; \
95 if (X##_e > 0) \
96 { \
97 _FP_ROUND(wc, X); \
98 if (_FP_FRAC_OVERP_##wc(fs, X)) \
99 { \
100 _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \
101 X##_e++; \
102 } \
103 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
104 if (X##_e >= _FP_EXPMAX_##fs) \
105 { \
106 /* overflow */ \
107 switch (FP_ROUNDMODE) \
108 { \
109 case FP_RND_NEAREST: \
110 X##_c = FP_CLS_INF; \
111 break; \
112 case FP_RND_PINF: \
113 if (!X##_s) X##_c = FP_CLS_INF; \
114 break; \
115 case FP_RND_MINF: \
116 if (X##_s) X##_c = FP_CLS_INF; \
117 break; \
118 } \
119 if (X##_c == FP_CLS_INF) \
120 { \
121 /* Overflow to infinity */ \
122 X##_e = _FP_EXPMAX_##fs; \
123 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
124 } \
125 else \
126 { \
127 /* Overflow to maximum normal */ \
128 X##_e = _FP_EXPMAX_##fs - 1; \
129 _FP_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \
130 } \
131 FP_SET_EXCEPTION(FP_EX_OVERFLOW); \
132 FP_SET_EXCEPTION(FP_EX_INEXACT); \
133 } \
134 } \
135 else \
136 { \
137 /* we've got a denormalized number */ \
138 int _FP_PACK_CANONICAL_is_tiny = 1; \
139 if (_FP_TININESS_AFTER_ROUNDING && X##_e == 0) \
140 { \
141 /* Architectures that detect tininess after rounding \
142 only signal underflow if the result is still \
143 subnormal once rounded as if the exponent range \
144 were unbounded. Round a copy to find out. */ \
> 145 FP_DECL_##fs(_FP_PACK_CANONICAL_T); \
146 /* The class field is not used by the rounding below, \
147 and is unused entirely where this block is dead. */ \
148 (void)_FP_PACK_CANONICAL_T##_c; \
149 _FP_FRAC_COPY_##wc(_FP_PACK_CANONICAL_T, X); \
150 _FP_PACK_CANONICAL_T##_s = X##_s; \
151 _FP_PACK_CANONICAL_T##_e = X##_e; \
152 _FP_ROUND(wc, _FP_PACK_CANONICAL_T); \
153 if (_FP_FRAC_OVERP_##wc(fs, _FP_PACK_CANONICAL_T)) \
154 _FP_PACK_CANONICAL_is_tiny = 0; \
155 } \
156 X##_e = -X##_e + 1; \
157 if (X##_e <= _FP_WFRACBITS_##fs) \
158 { \
159 _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \
160 if (_FP_FRAC_HIGH_##fs(X) \
161 & (_FP_OVERFLOW_##fs >> 1)) \
162 { \
163 X##_e = 1; \
164 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
165 } \
166 else \
167 { \
168 _FP_ROUND(wc, X); \
169 if (_FP_FRAC_HIGH_##fs(X) \
170 & (_FP_OVERFLOW_##fs >> 1)) \
171 { \
172 X##_e = 1; \
173 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
174 FP_SET_EXCEPTION(FP_EX_INEXACT); \
175 } \
176 else \
177 { \
178 X##_e = 0; \
179 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
180 } \
181 } \
182 if (_FP_PACK_CANONICAL_is_tiny \
183 && ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT) || \
184 (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW))) \
185 FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
186 } \
187 else \
188 { \
189 /* underflow to zero */ \
190 X##_e = 0; \
191 if (!_FP_FRAC_ZEROP_##wc(X)) \
192 { \
193 _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \
194 _FP_ROUND(wc, X); \
195 _FP_FRAC_LOW_##wc(X) >>= (_FP_WORKBITS); \
196 } \
197 FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
198 } \
199 } \
200 break; \
201 \
202 case FP_CLS_ZERO: \
203 X##_e = 0; \
204 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
205 break; \
206 \
207 case FP_CLS_INF: \
208 X##_e = _FP_EXPMAX_##fs; \
209 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
210 break; \
211 \
212 case FP_CLS_NAN: \
213 X##_e = _FP_EXPMAX_##fs; \
214 if (!_FP_KEEPNANFRACP) \
215 { \
216 _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
217 X##_s = _FP_NANSIGN_##fs; \
218 } \
219 else \
220 _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
221 break; \
222 } \
223 } while (0)
224
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-22 19:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 6:04 [mattst88-alpha:alpha-fp-tininess 1/1] include/math-emu/op-common.h:145:26: warning: variable '_FP_PACK_CANONICAL_T_e' set but not used kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-10-22 19:56 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.