ir3: only allow 32b dst for load_const_ir3
A 16b load_const_ir3
would currently result in an implicit float demotion since we set CONSTANT_DEMOTION_ENABLE
. This could result in incorrect results if the value is used in an integer operation. This patch sidesteps this problem by making sure all consts are loaded as 32b leaving the demotion to be made explicit. ir3_cp
should be able to fold it to a half const when possible.
Note that this shouldn't have any impact at the moment as all const loads should be lowered to 32b anyway. So this patch is mostly a safeguard for the future.