46a2d504dd
Before SPARC V9 the effect of having a delayed branch instruction in the delay slot of a conditional delayed branch was undefined. In SPARC V9 DCTI couples are well defined. However, starting with the UltraSPARC Architecture 2005, DCTI couples (of all kind) are deprecated and should not be used, as they may be slow or behave differently to what the programmer expects. This patch adds a new command line option --dcti-couples-detect to `as', disabled by default, that makes the assembler to warn the user if an unpredictable DCTI couple is found. Tests and documentation are included. gas/ChangeLog: 2016-09-14 Jose E. Marchesi <jose.marchesi@oracle.com> * config/tc-sparc.c (md_assemble): Detect and warning on unpredictable DCTI couples in certain arches. (dcti_couples_detect): New global. (md_longopts): Add command line option -dcti-couples-detect. (md_show_usage): Document -dcti-couples-detect. (md_parse_option): Handle OPTION_DCTI_COUPLES_DETECT. * testsuite/gas/sparc/sparc.exp (gas_64_check): Run dcti-couples-v8, dcti-couples-v9 and dcti-couples-v9c tests. * testsuite/gas/sparc/dcti-couples.s: New file. * testsuite/gas/sparc/dcti-couples-v9c.d: Likewise. * testsuite/gas/sparc/dcti-couples-v8.d: Likewise. * testsuite/gas/sparc/dcti-couples-v9.d: Likewise. * testsuite/gas/sparc/dcti-couples-v9c.l: Likewise. * testsuite/gas/sparc/dcti-couples-v8.l: Likewise. * doc/as.texinfo (Overview): Document --dcti-couples-detect. * doc/c-sparc.texi (Sparc-Opts): Likewise. |
||
---|---|---|
.. | ||
all.texi | ||
as.texinfo | ||
c-aarch64.texi | ||
c-alpha.texi | ||
c-arc.texi | ||
c-arm.texi | ||
c-avr.texi | ||
c-bfin.texi | ||
c-cr16.texi | ||
c-cris.texi | ||
c-d10v.texi | ||
c-d30v.texi | ||
c-epiphany.texi | ||
c-h8300.texi | ||
c-hppa.texi | ||
c-i370.texi | ||
c-i386.texi | ||
c-i860.texi | ||
c-i960.texi | ||
c-ia64.texi | ||
c-ip2k.texi | ||
c-lm32.texi | ||
c-m32c.texi | ||
c-m32r.texi | ||
c-m68hc11.texi | ||
c-m68k.texi | ||
c-metag.texi | ||
c-microblaze.texi | ||
c-mips.texi | ||
c-mmix.texi | ||
c-msp430.texi | ||
c-mt.texi | ||
c-nds32.texi | ||
c-nios2.texi | ||
c-ns32k.texi | ||
c-pdp11.texi | ||
c-pj.texi | ||
c-ppc.texi | ||
c-rl78.texi | ||
c-rx.texi | ||
c-s390.texi | ||
c-score.texi | ||
c-sh64.texi | ||
c-sh.texi | ||
c-sparc.texi | ||
c-tic6x.texi | ||
c-tic54x.texi | ||
c-tilegx.texi | ||
c-tilepro.texi | ||
c-v850.texi | ||
c-vax.texi | ||
c-visium.texi | ||
c-xc16x.texi | ||
c-xgate.texi | ||
c-xstormy16.texi | ||
c-xtensa.texi | ||
c-z8k.texi | ||
c-z80.texi | ||
fdl.texi | ||
h8.texi | ||
internals.texi | ||
Makefile.am | ||
Makefile.in |