OK to apply ?
Ok. Thanks!
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
#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
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 with