From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Klein To: law@redhat.com Cc: gcc@gcc.gnu.org Subject: Re: Unaligned double Date: Sat, 20 Oct 2001 06:33:00 -0000 Message-id: <4.2.0.58.20011020062015.01c61a50@garfield.dis.com> X-SW-Source: 2001-10/msg01092.html >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