On 06/03/2013 12:32 PM, Kai Tietz wrote:
2013/6/3 Jeff Law <l...@redhat.com>:
On 06/03/2013 11:00 AM, Richard Henderson wrote:
On 06/03/2013 09:37 AM, Kai Tietz wrote:
foo:
.seh_endprologue
cmpb %cl, %dl
seta %al
ret
.seh_endproc
.p2align 4,,15
.globl boo
.def boo; .scl 2; .type 32; .endef
.seh_proc boo
boo:
.seh_endprologue
movl %ecx, %eax
notl %eax
andl %edx, %eax
andl $1, %eax
ret
Try arm or s390 or ppc for significantly different results.
I'm starting to wonder if we could delay make a choice about using a
relational or bit ops until gimple->rtl expansion. I haven't seen any
secondary benefits, so deferring to a later point where we might be able to
query the backend's capabilities might make sense.
jeff
Well, a secondary benefit I see in area of BC-optimization. But I
agree that this operation should go along gimple->rtl transformation.
And at same place BC-optimization should happen.
Let's table it for now then. Ironically I was just looking at moving
one of the branch-cost transformations out of fold-const.c. We're going
to have to build out some infrastructure to make that happen.
I'll withdraw the patch and just submit a missed optimization PR and
xfailed testsuite for this issue.
jeff