arch: xtensa: Reduce size of interrupt handling routines
arch: xtensa: Reduce size of interrupt handling routines

This patch reduces the size of ISRs by changing the script to generate
the dispatcher per level to, instead of generating an indirect call per
mask match, do that just once at the function end.

For ESP32, this provides ~380bytes of savings in a (very) hot path
(text, just for the matcher functions generated by xtensa_intgen.py,
drop from 2197 bytes to 1817 bytes).

The generated code also uses the BIT() macro, which shifts 1UL instead
of 1.  Shifting a signed integer is UB in C.

Signed-off-by: Leandro Pereira <51c7437a02b34df685e6b4ecb2e9bca23efe2e1a@intel.com>

finikorg/zephyr,galak/zephyr,finikorg/zephyr,galak/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,galak/zephyr,nashif/zephyr,finikorg/zephyr,ldts/zephyr,nashif/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,nashif/zephyr,ldts/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,Vudentz/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,zephyrproject-rtos/zephyr,GiulianoFranchetto/zephyr,ldts/zephyr,punitvara/zephyr,punitvara/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,finikorg/zephyr,nashif/zephyr,zephyrproject-rtos/zephyr,explora26/zephyr,explora26/zephyr,zephyrproject-rtos/zephyr,punitvara/zephyr,GiulianoFranchetto/zephyr,punitvara/zephyr,punitvara/zephyr,nashif/zephyr,galak/zephyr,ldts/zephyr,finikorg/zephyr,explora26/zephyr,galak/zephyr,explora26/zephyr,explora26/zephyr,ldts/zephyr