diff options
author | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2004-03-08 00:38:31 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2004-03-08 00:38:31 +0000 |
commit | 682a45fc0d8ce0fca037ec8658cc259d0eda1f86 (patch) | |
tree | 9f1a6ba55c54badeca5dce7798dcbd99ee01c1a9 /gcc | |
parent | 86da66b593538809357d60192ede83d02add681d (diff) | |
download | gcc-682a45fc0d8ce0fca037ec8658cc259d0eda1f86.zip gcc-682a45fc0d8ce0fca037ec8658cc259d0eda1f86.tar.gz gcc-682a45fc0d8ce0fca037ec8658cc259d0eda1f86.tar.bz2 |
re PR target/14471 (Workaround for errata regarding multiplication bug)
PR target/14471
* configure.ac (Target-specific assembler checks) <cris-*-*>: New
case, checking for -no-mul-bug-abort option.
* configure, config.in: Regenerate.
* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
and -mno-mul-bug-workaround.
* config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
("mulsidi3", "umulsidi3"): Prefix output template with "%!".
("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
sure mulu.d is not last on cache-line.
* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
(TARGET_SWITCHES): New options -mmul-bug-workaround and
-mno-mul-bug-workaround.
(TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
(PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
* config/cris/cris.c (cris_operand_extend_operator): Clarify
relation to MULT in head comment.
(cris_op_str): Abort for MULT.
(cris_print_operand) <case '!'>: New case.
From-SVN: r79086
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/configure.ac | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index ca32979..c60dbf0 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2357,6 +2357,14 @@ case "$target" in [Define if your assembler supports explicit relocations.])]) ;; + cris-*-*) + gcc_GAS_CHECK_FEATURE([-no-mul-bug-abort option], + gcc_cv_as_cris_no_mul_bug,[2,15,91], + [-no-mul-bug-abort], [.text],, + [AC_DEFINE(HAVE_AS_NO_MUL_BUG_ABORT_OPTION, 1, + [Define if your assembler supports the -no-mul-bug-abort option.])]) + ;; + sparc*-*-*) gcc_GAS_CHECK_FEATURE([.register], gcc_cv_as_sparc_register_op,,, [.register %g2, #scratch],, |