[Bug target/14471] Workaround for errata regarding multiplication bug
cvs-commit at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Mar 8 00:56:00 GMT 2004
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-08 00:56 -------
Subject: Bug 14471
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_3-branch
Changes by: hp@gcc.gnu.org 2004-03-08 00:56:30
Modified files:
gcc : ChangeLog
gcc/doc : invoke.texi
gcc/config/cris: cris.c cris.h cris.md mulsi3.asm
Log message:
PR target/14471
* 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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.924&r2=1.16114.2.925
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.209.2.54&r2=1.209.2.55
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.32.4.3&r2=1.32.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.42.4.3&r2=1.42.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.md.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.6.4.4&r2=1.6.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/mulsi3.asm.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1&r2=1.1.44.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
More information about the Gcc-bugs
mailing list