making the new if-converter not mangle IR that is already vectorizer-friendly
Alan Lawrence
alan.lawrence@arm.com
Tue Jul 21 10:20:00 GMT 2015
Abe wrote:
> Ideally, I/we fix the above problem -- and the rest of the regressions in the new if converter --
Ok, what are these regressions? You say you've tested on x86_64 and only
ifcvt-18.c fails (hence your xfail), so how does one find them?
> In particular, I remember that "result = condition ? array1[index] : array2[maybe the same index, maybe not]"
> is being converted too early IMO. IOW, somewhere in GCC an array dereference is being considered
> as either impure, too-expensive, or both. "array[index]" in C [not in C++!: operator overloading]
> AFAIK is always pure and is always low-cost whenever the index expression is pure and low-cost.
Well, any array access could introduce an extra fault (unless it's dominated by
another equivalent (read/write) access)...?
--Alan
More information about the Gcc
mailing list