public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/14471] New: Workaround for errata regarding multiplication bug
@ 2004-03-07 22:16 hp at gcc dot gnu dot org
2004-03-07 22:21 ` [Bug target/14471] " hp at gcc dot gnu dot org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2004-03-07 22:16 UTC (permalink / raw)
To: gcc-bugs
Workaround needed for the errata item named
"Multiply operations and cache behavior (trouble report #102)" in
<URL:http://developer.axis.com/doc/hardware/etrax100lx/des_ref/errata_etrax_100lx.txt>.
Please s/located at addresses that are a multiple of 30/located at any address
that equals N*32 + 30/ when you read that.
--
Summary: Workaround for errata regarding multiplication bug
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: wrong-code
Severity: critical
Priority: P1
Component: target
AssignedTo: hp at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: cris-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
@ 2004-03-07 22:21 ` hp at gcc dot gnu dot org
2004-03-07 23:16 ` cvs-commit at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2004-03-07 22:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hp at gcc dot gnu dot org 2004-03-07 22:21 -------
To make the description self-contained here: muls and mulu must not be executed
just before a cache-miss, or a hardware bug may mess up the cache. No muls/mulu
must come last on a cache-line, or in a delay-slot (that may target another
cache-line).
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-03-07 22:21:13
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
2004-03-07 22:21 ` [Bug target/14471] " hp at gcc dot gnu dot org
@ 2004-03-07 23:16 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:32 ` cvs-commit at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-07 23:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-07 23:16 -------
Subject: Bug 14471
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: hp@gcc.gnu.org 2004-03-07 23:16:02
Modified files:
gcc : ChangeLog configure.ac configure config.in
gcc/doc : invoke.texi
gcc/config/cris: cris.c cris.h cris.md mulsi3.asm
Log message:
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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.304&r2=2.2326.2.305
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.ac.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.6.2.10&r2=2.6.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.794.2.10&r2=1.794.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.in.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.181&r2=1.181.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.390.2.18&r2=1.390.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.46.10.1&r2=1.46.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.60&r2=1.60.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.11.4.1&r2=1.11.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/mulsi3.asm.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.78.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
2004-03-07 22:21 ` [Bug target/14471] " hp at gcc dot gnu dot org
2004-03-07 23:16 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-08 0:32 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:38 ` cvs-commit at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-08 0:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-08 00:32 -------
Subject: Bug 14471
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: hp@gcc.gnu.org 2004-03-08 00:32:37
Modified files:
gcc : ChangeLog configure config.in
gcc/doc : invoke.texi
gcc/config/cris: cris.c cris.h cris.md mulsi3.asm
Log message:
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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3089&r2=2.3090
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.diff?cvsroot=gcc&r1=1.807&r2=1.808
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.in.diff?cvsroot=gcc&r1=1.181&r2=1.182
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&r1=1.423&r2=1.424
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.c.diff?cvsroot=gcc&r1=1.50&r2=1.51
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.h.diff?cvsroot=gcc&r1=1.68&r2=1.69
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/cris.md.diff?cvsroot=gcc&r1=1.15&r2=1.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/cris/mulsi3.asm.diff?cvsroot=gcc&r1=1.1&r2=1.2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
` (2 preceding siblings ...)
2004-03-08 0:32 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-08 0:38 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:39 ` hp at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-08 0:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-08 00:38 -------
Subject: Bug 14471
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: hp@gcc.gnu.org 2004-03-08 00:38:31
Modified files:
gcc : configure.ac
Log message:
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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/configure.ac.diff?cvsroot=gcc&r1=2.20&r2=2.21
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
` (3 preceding siblings ...)
2004-03-08 0:38 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-08 0:39 ` hp at gcc dot gnu dot org
2004-03-08 0:56 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2004-03-08 0:39 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
` (4 preceding siblings ...)
2004-03-08 0:39 ` hp at gcc dot gnu dot org
@ 2004-03-08 0:56 ` cvs-commit at gcc dot gnu dot org
2004-03-08 1:07 ` hp at gcc dot gnu dot org
2004-03-21 23:33 ` hp at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-08 0:56 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
` (5 preceding siblings ...)
2004-03-08 0:56 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-08 1:07 ` hp at gcc dot gnu dot org
2004-03-21 23:33 ` hp at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2004-03-08 1:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hp at gcc dot gnu dot org 2004-03-08 01:07 -------
Fix now on trunk, 3.3 and 3.4.
See also <URL:http://gcc.gnu.org/ml/gcc-patches/2004-03/msg00679.html>.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|3.4.0 |3.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/14471] Workaround for errata regarding multiplication bug
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
` (6 preceding siblings ...)
2004-03-08 1:07 ` hp at gcc dot gnu dot org
@ 2004-03-21 23:33 ` hp at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2004-03-21 23:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hp at gcc dot gnu dot org 2004-03-21 23:33 -------
I'd like to wash my hands on the move of the errata page, where a proper
redirect would have been simple and not subject to typos. It's now at
<URL:http://developer.axis.com/doc/hardware/etrax100lx/des_ref/errata_etrax_100lx.html>.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14471
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2004-03-21 23:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-07 22:16 [Bug target/14471] New: Workaround for errata regarding multiplication bug hp at gcc dot gnu dot org
2004-03-07 22:21 ` [Bug target/14471] " hp at gcc dot gnu dot org
2004-03-07 23:16 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:32 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:38 ` cvs-commit at gcc dot gnu dot org
2004-03-08 0:39 ` hp at gcc dot gnu dot org
2004-03-08 0:56 ` cvs-commit at gcc dot gnu dot org
2004-03-08 1:07 ` hp at gcc dot gnu dot org
2004-03-21 23:33 ` hp at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).