This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Unaligned double


 >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			


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]