9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] sparc compiler bug
@ 2005-01-09 22:52 Tim Newsham
  2005-01-10 10:44 ` Charles Forsyth
  0 siblings, 1 reply; 2+ messages in thread
From: Tim Newsham @ 2005-01-09 22:52 UTC (permalink / raw)
  To: 9fans

When generating conversion like "FsTOd" the compiler
is generating invalid opcodes.  The format for this
and related instructions has an rs2 and an rd field but
designates the rs1 field as reserved.  The compiler/assembler/linker
is generating:

    opcode=FsToD, rd=6, rs1=6, rs2=10

for the opcode "FSTOD F10, F6."  This is an illegal use of a
reserved field.  I've tried to track this down
but I'm still unfamiliar with the compiler suite.

Tim N.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [9fans] sparc compiler bug
  2005-01-09 22:52 [9fans] sparc compiler bug Tim Newsham
@ 2005-01-10 10:44 ` Charles Forsyth
  0 siblings, 0 replies; 2+ messages in thread
From: Charles Forsyth @ 2005-01-10 10:44 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 660 bytes --]

only the linker knows the details, so any change would be made to kl.
it's using the same approach for inherently 2-address FP instructions as
it does for 3 address FP/INT instructions where only two operands are specified
(set the third register to one of the others).

i know the change needed but i'm curious whether they've added a trap
check to the hardware that wasn't there before, or whether it's just
something else complaining (but the hardware still doesn't).

when i say i know the change needed, i'm assuming i'm `supposed'
to set the field to 0 (even though that's also a valid register number).
i can't find my sparc handbook today.

[-- Attachment #2: Type: message/rfc822, Size: 2628 bytes --]

From: Tim Newsham <newsham@lava.net>
To: 9fans@cse.psu.edu
Subject: [9fans] sparc compiler bug
Date: Sun, 9 Jan 2005 12:52:49 -1000 (HST)
Message-ID: <Pine.BSI.4.58.0501091248230.10670@malasada.lava.net>

When generating conversion like "FsTOd" the compiler
is generating invalid opcodes.  The format for this
and related instructions has an rs2 and an rd field but
designates the rs1 field as reserved.  The compiler/assembler/linker
is generating:

    opcode=FsToD, rd=6, rs1=6, rs2=10

for the opcode "FSTOD F10, F6."  This is an illegal use of a
reserved field.  I've tried to track this down
but I'm still unfamiliar with the compiler suite.

Tim N.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-01-10 10:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-09 22:52 [9fans] sparc compiler bug Tim Newsham
2005-01-10 10:44 ` Charles Forsyth

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 NNTP newsgroup(s).