On 6/7/24 11:49 AM, Andreas Schwab wrote:
In file included from ../../gcc/rtl.h:3973,
from ../../gcc/config/riscv/riscv.cc:31:
In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)',
inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx,
rt
In file included from ../../gcc/rtl.h:3973,
from ../../gcc/config/riscv/riscv.cc:31:
In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)',
inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx,
rtx)' at ./genrtl.h:50:26,
inlined from 'void r
Basically this adds the ability to generate two independent constants
during synthesis, then bring them together with a pack instruction.
Thus we never need to go out to the constant pool when zbkb is enabled.
The worst sequence we ever generate is
lui+addi+lui+addi+pack
Obviously if either