hc
2024-05-16 8d2a02b24d66aa359e83eebc1ed3c0f85367a1cb
kernel/include/math-emu/op-common.h
....@@ -308,6 +308,7 @@
308308 \
309309 case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_ZERO): \
310310 R##_e = X##_e; \
311
+ fallthrough; \
311312 case _FP_CLS_COMBINE(FP_CLS_NAN,FP_CLS_NORMAL): \
312313 case _FP_CLS_COMBINE(FP_CLS_NAN,FP_CLS_INF): \
313314 case _FP_CLS_COMBINE(FP_CLS_NAN,FP_CLS_ZERO): \
....@@ -318,6 +319,7 @@
318319 \
319320 case _FP_CLS_COMBINE(FP_CLS_ZERO,FP_CLS_NORMAL): \
320321 R##_e = Y##_e; \
322
+ fallthrough; \
321323 case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_NAN): \
322324 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_NAN): \
323325 case _FP_CLS_COMBINE(FP_CLS_ZERO,FP_CLS_NAN): \
....@@ -415,6 +417,7 @@
415417 case _FP_CLS_COMBINE(FP_CLS_NAN,FP_CLS_INF): \
416418 case _FP_CLS_COMBINE(FP_CLS_NAN,FP_CLS_ZERO): \
417419 R##_s = X##_s; \
420
+ fallthrough; \
418421 \
419422 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_INF): \
420423 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_NORMAL): \
....@@ -428,6 +431,7 @@
428431 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_NAN): \
429432 case _FP_CLS_COMBINE(FP_CLS_ZERO,FP_CLS_NAN): \
430433 R##_s = Y##_s; \
434
+ fallthrough; \
431435 \
432436 case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_INF): \
433437 case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_ZERO): \
....@@ -493,6 +497,7 @@
493497 \
494498 case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_ZERO): \
495499 FP_SET_EXCEPTION(FP_EX_DIVZERO); \
500
+ fallthrough; \
496501 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_ZERO): \
497502 case _FP_CLS_COMBINE(FP_CLS_INF,FP_CLS_NORMAL): \
498503 R##_c = FP_CLS_INF; \
....@@ -795,11 +800,12 @@
795800 ur_ = (unsigned rtype) -r; \
796801 else \
797802 ur_ = (unsigned rtype) r; \
798
- if (rsize <= _FP_W_TYPE_SIZE) \
799
- __FP_CLZ(X##_e, ur_); \
800
- else \
801
- __FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \
802
- (_FP_W_TYPE)ur_); \
803
+ (void) (((rsize) <= _FP_W_TYPE_SIZE) \
804
+ ? ({ __FP_CLZ(X##_e, ur_); }) \
805
+ : ({ \
806
+ __FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \
807
+ (_FP_W_TYPE)ur_); \
808
+ })); \
803809 if (rsize < _FP_W_TYPE_SIZE) \
804810 X##_e -= (_FP_W_TYPE_SIZE - rsize); \
805811 X##_e = rsize - X##_e - 1; \