Discussion:
cmpsi2 library calls?
Paul Koning
2018-10-25 23:46:41 UTC
Permalink
In my target (pdp11) which has 16 bit words, I see some test suite failures because of unresolved references to __cmpsi2. The strange thing is that most of the time 32 bit compares are expanded by GCC into a sequence of word compares and branches.

Why would GCC sometimes generate library calls for this? Can I make it stop doing that by writing patterns (define_expand or define_insn) for cmpsi2? That may be useful because I think I can generate better code, but still it's puzzling that the behavior is inconsistent.

paul
Richard Earnshaw (lists)
2018-10-26 09:34:40 UTC
Permalink
Post by Paul Koning
In my target (pdp11) which has 16 bit words, I see some test suite failures because of unresolved references to __cmpsi2. The strange thing is that most of the time 32 bit compares are expanded by GCC into a sequence of word compares and branches.
Why would GCC sometimes generate library calls for this? Can I make it stop doing that by writing patterns (define_expand or define_insn) for cmpsi2? That may be useful because I think I can generate better code, but still it's puzzling that the behavior is inconsistent.
paul
Yes. See, for example, the analogous case in the ARM port for cmpdi2.

R.

Loading...