>OK to apply ?
Ok. Thanks!
Hi DJ,
Thanks for the test program. With that I can confirm that the
match_dup does work and that the bset instruction is still generated
even with my patch applied.
OK to apply ?
Cheers
Nick
#define q ((char *)0x1234)
foo(int x)
{
*q |= (1 << (char)x);
}
$ m32c-elf-gcc -S -O3 nick.c
.global _foo
_foo:
mov.w r1,a0; 20
movhi_op/3
bset4660[a0] ; 11
Hi DJ,
Make sure a match_dup will still match the generated pattern later,
I've had problems with match_dup not matching two rtx that
rtx_equals() says are "the same" but not physically the same.
I have tried, but failed, to find a way to trigger the use of the
bset_qi pattern. :-( I tried re
Make sure a match_dup will still match the generated pattern later,
I've had problems with match_dup not matching two rtx that
rtx_equals() says are "the same" but not physically the same.
Hi DJ,
As pointed out by Hans-Peter in his patch for PR 53120 for the cris
backend, the m32c/bitops.md file contains a pattern that uses both the
"+" modifier and the "0" constraint. The patch below is a
straightforward fix for this, replacing the "0" constraint with a
match_dup. Tested w