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).