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 rebuilding the toolchain and running the GCC testsuite, but neither of these worked. Do you have a test case that triggers it ?
Cheers Nick