On 25 March 2013 12:05, Pinski, Andrew Andrew.Pinski@caviumnetworks.com wrote:
- Investigate how to expand conditional compare GIMPLE to RTL and emit asm.
I think maybe we should start adding target specific expanders. Then all you need to do is take that expander and when you get a COND_EXPR and then looks at TRE provided information which then can exapnd the conditional compare without adding a new tree code. Note I think this should be discussed on the GCC list directly anyways rather than on the linaro form because it is more likely be accepted if talked about there.
Thanks for the comments.
The "conditional compare" mentioned here is a different from COND_EXPR. If my understanding is correct,
COND_EXPR is for "c1? v1: v2"
"conditional compare" here is to represent the second operand of short-circuit, e.g. TRUTH_ANDIF_EXPR. It is more like "c1? CMP (v1, v2): c1"
It is just a CMP (GT, NE, etc)_EXPR if ignoring the "conditional" part.
Agree with you, we should discuss it on GCC list. But before that, I want a prototype and estimate the efforts.
Thanks! -Zhenqiang