2010/1/18 Adam Nemet <adambne...@gmail.com>: > fanqifei <fanqi...@gmail.com> writes: >> Paolo Bonzini said that insv instruction might be synthesized >> later by combine. But combine only works on at most 3 instructions and >> insv is not generated in such case. >> So exactly when will the insv pattern be recognized and how does >> the coding style affect it? > > Sorry for jumping in late. See make_file_assigment in combine.c. > > The problem usually is that: > > (set A (ior (and B C1) OTHER)) > > can only be turned into a bit-insertion if A and B happen to be the same > pseudos. > > Adam > I did found such kind of pattern for some simple C statements in rtl dump. Unfortunately, A and B are not same. Is it possible and easy to move B to A firstly and replace B with A in the insn? Anyway, this is not required if it's impracticable.
Qifei Fan