This is the mail archive of the gcc-patches@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: PATCH: Use PLUS instead of HIGH/LO_SUM for large constants


  In message <200110222045.f9MKjk8g025439@hiauly1.hia.nrc.ca>you write:
  > > The one thing that still doesn't make any sense to me is the need for a
  > > HImode addition pattern.  Can you figure out why this is needed and expla
  > in
  > > it to me.
  > 
  > Here is what happens without the HImode addition pattern:
Right.  But how is this handled in the current code?  We certainly
don't have HImode HIGH/LO_SUM patterns.  I suspect we just perform the
constant load in SImode and I don't see a compelling reason to do anything
different with the new code.

  > (insn 66 65 67 (set:HI (reg:HI 106)
  >         (const_int 32768 [0x8000])) -1 (nil)
  >     (nil))
  > 
  > (insn 67 66 68 (set:HI (reg:HI 106)
  >         (plus:HI (reg:HI 106)
  >             (const_int -4493 [0xffffee73]))) -1 (nil)
  >     (expr_list:REG_EQUAL (const_int 28275 [0x6e73])
  >         (nil)))
Right.  What I want to know is how is this handled in the current
sources.    Again, my guess is we just load up the constant in SImode.


jeff



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