[PATCH] S/390: DFP support 1/4: Add z9-ec option

Ulrich Weigand uweigand@de.ibm.com
Sat Mar 17 17:44:00 GMT 2007


Andreas Krebbel wrote:

> 2007-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
> 
> 	* config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value
> 	inverted and documentation adjusted.
> 	("mhard-dfp", "msoft-dfp"): New options.
> 	* config/s390/s390.c (s390_handle_arch_option): New architecture
> 	switch: z9-ec.
> 	(override_options): Sanity checks for the new options added.
> 	* config.gcc: New architecture switch: z9-ec.
> 	* config/s390/s390.h (processor_flags): PF_DFP added.
> 	(TARGET_CPU_DFP, TARGET_DFP): Macro definitions added.
> 	(TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled
> 	when the bit is NOT set so remove it from the defaults.

> 2007-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
>
>	* config/s390/s390.md (UNSPEC_COPYSIGN): New constant.
>	(op_type attribute): RRF instruction type added.
>	(fT0): New mode attribute.
>	("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
>	"*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added.
>	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction
>	no secondary memory is needed when moving DFmode values between GPRs
>	and FPRs.

> 2007-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
>
>	* config/s390/s390.md: Only non-functional changes.  Renamed
>	FPR mode macro to BFP all over the file.

> 2007-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
>
>	* config/s390/s390.md (op_type attribute): RRR instruction type added.
>	(FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros.
>	(xde, xdee): Mode attributes adjusted to support DFP modes.
>	(RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added.
>	("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters,
>	DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", 
>	"*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3",
>	"*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3",
>	"div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
>	"*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP 
>	numbers.
>	("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31",
>	"movsf"): Insn definitions removed.
>	("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp",
>	"*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2",
>	"trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn
>	definitions added.
>	("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>",
>	"reload_in<mode>", "reload_out<mode>"): Expander added.
>	("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"):
>	Expander removed.

These are all OK, thanks!

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com



More information about the Gcc-patches mailing list