This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Unaligned double
- To: law at redhat dot com
- Subject: Re: Unaligned double
- From: Mark Klein <mklein at dis dot com>
- Date: Sat, 20 Oct 2001 06:33:36 -0700
- Cc: gcc at gcc dot gnu dot org
>I'd start by looking to see if local, global or reload assigned %fr9R to
>pseudo 96. That will determine how to proceed.
>jeff
>
test.cc.19.lreg contains:
(insn 28 26 30 (set (subreg:SI (reg:DF 96) 1)
(reg:SI 102)) 68 {*pa.md:2088} (nil)
(expr_list:REG_DEAD (reg:SI 102)
(nil)))
and test.cc.20.greg contains:
(insn 62 26 28 (set (reg:DF 42 %fr9)
(reg:DF 40 %fr8 [96])) 111 {*pa.md:2917} (nil)
(nil))
(insn 28 62 68 (set (reg:SI 21 %r21)
(reg:SI 19 %r19 [102])) 68 {*pa.md:2088} (nil)
(nil))
(insn 68 28 65 (set (reg:SI 43 %fr9R [42])
(reg:SI 21 %r21)) 68 {*pa.md:2088} (nil)
(nil))
So that should indicate global.
BTW - I took Joern Rennecke's suggestion about setting
CLASS_CANNOT_CHANGE_MODE to FP_REGS and the issue appears to be
resolved. But, I'm not sure if that breaks anything else because
I'm not sure why it was NO_REGS for pa32 and FP_REGS for pa64.
Regards,
M.
--
Mark Klein DIS International, Ltd.
http://www.dis.com 415-892-8400
PGP Public Key Available