[PATCH v3, rs6000] Add -mspeculate-indirect-jumps option and implement non-speculating bctr / bctrl

Sandra Loosemore sandra@codesourcery.com
Fri Jan 19 17:13:00 GMT 2018


On 01/15/2018 04:09 PM, Bill Schmidt wrote:

> [gcc]
> 
> 2018-01-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
> 
> 	* config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for
> 	-mspeculate-indirect-jumps.
> 	* config/rs6000/rs6000.md (*call_indirect_elfv2<mode>): Disable
> 	for -mno-speculate-indirect-jumps.
> 	(*call_indirect_elfv2<mode>_nospec): New define_insn.
> 	(*call_value_indirect_elfv2<mode>): Disable for
> 	-mno-speculate-indirect-jumps.
> 	(*call_value_indirect_elfv2<mode>_nospec): New define_insn.
> 	(indirect_jump): Emit different RTL for
> 	-mno-speculate-indirect-jumps.
> 	(*indirect_jump<mode>): Disable for
> 	-mno-speculate-indirect-jumps.
> 	(*indirect_jump<mode>_nospec): New define_insn.
> 	(tablejump): Emit different RTL for
> 	-mno-speculate-indirect-jumps.
> 	(tablejumpsi): Disable for -mno-speculate-indirect-jumps.
> 	(tablejumpsi_nospec): New define_expand.
> 	(tablejumpdi): Disable for -mno-speculate-indirect-jumps.
> 	(tablejumpdi_nospec): New define_expand.
> 	(*tablejump<mode>_internal1): Disable for
> 	-mno-speculate-indirect-jumps.
> 	(*tablejump<mode>_internal1_nospec): New define_insn.
> 	* config/rs6000/rs6000.opt (mspeculate-indirect-jumps): New
> 	option.

I see no documentation for the new option here....  :-(

-Sandra



More information about the Gcc-patches mailing list