Brought over from sh4-980527-branch:

Fix for execute/921208-1.c -Os -mrelax -m4-single failure:
	* coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
	floating point operations.
This commit is contained in:
Joern Rennecke 1998-07-03 13:40:08 +00:00
parent 5c1c32cae5
commit 0ea9d7bc70
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Fri Jul 3 14:35:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
floating point operations.
Thu Jul 2 18:37:25 1998 Ian Lance Taylor <ian@cygnus.com>
* cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global

View File

@ -1952,6 +1952,12 @@ sh_insns_conflict (i1, op1, i2, op2)
f1 = op1->flags;
f2 = op2->flags;
/* Load of fpscr conflicts with floating point operations.
FIXME: shouldn't test raw opcodes here. */
if (((i1 & 0xf0ff) == 0x4066 && (i2 & 0xf000) == 0xf000)
|| ((i2 & 0xf0ff) == 0x4066 && (i1 & 0xf000) == 0xf000))
return true;
if ((f1 & (BRANCH | DELAY)) != 0
|| (f2 & (BRANCH | DELAY)) != 0)
return true;