https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88308

--- Comment #4 from acsawdey at gcc dot gnu.org ---
Tracked down the difference between -m32 and -m64. In the -m64 case,
rs6000_emit_move calls force_const_mem and that will set LABEL_PRESERVE_P on a
label_ref that it finds, which is what marks the jump table label for
preservation. In the -m32 case, none of this if tests succeed inside the case
E_SImode/E_DImode and as a result rs6000_emit_move does not call
force_const_mem.

It really seems to me like the label for the jump table should be marked for
preservation somewhere more definite than this.

Reply via email to