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]
Other format: [Raw text]

RE: divmodsi4


Ian Lance Taylor wrote on 10 October 2008 15:53:

> "Omar Torres" <gcc.omar@gmail.com> writes:
> 
>>  The problem is that both, the quotient and reminder, registers are
>> getting marked with a REG_UNUSED note:
>> 
>>  (insn 12 11 17 (parallel [
>>             (set (reg:SI 1 %r3 [33])
>>                 (div:SI (reg:SI 1 %r3 [30])
>>                     (reg:SI 5 %iph [orig:31 current ] [31])))
>>             (set (reg:SI 5 %iph [34])
>>                 (mod:SI (reg:SI 1 %r3 [30])
>>                     (reg:SI 5 %iph [orig:31 current ] [31])))
>>         ]) 56 {*divmodsi4} (insn_list:REG_DEP_TRUE 10
>> (insn_list:REG_DEP_TRUE 11 (nil)))
>>     (expr_list:REG_UNUSED (reg:SI 5 %iph [34])
>>         (expr_list:REG_UNUSED (reg:QI 2 %r2)
>>             (expr_list:REG_UNUSED (reg:QI 1 %r3)
>>                 (nil)))))
>> 
>> Any suggestions on how I might be able to work around this?
> 
> This makes it sounds like the whole insn is useless.  I wonder why it
> hasn't simply been deleted?

  Is it not unusual that the insn sets r1 in SImode, but the note says it is
unused in QImode?  Does that mean only the lowest byte is unused?

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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