Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-05 Thread Richard Henderson
On 03/05/2012 01:49 PM, Richard Henderson wrote: > On 03/05/2012 01:44 PM, Oleg Endo wrote: >> Yeah, however, I'm also using the value behind >> TARGET_ATOMIC_TEST_AND_SET_TRUEVAL in sync.md. If it's in sh.c it >> doesn't work. That's why I left it in sh.h. > > That value should be available via

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-05 Thread Oleg Endo
On Mon, 2012-03-05 at 13:49 -0800, Richard Henderson wrote: > On 03/05/2012 01:44 PM, Oleg Endo wrote: > > Yeah, however, I'm also using the value behind > > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL in sync.md. If it's in sh.c it > > doesn't work. That's why I left it in sh.h. > > That value should be

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-05 Thread Richard Henderson
On 03/05/2012 01:44 PM, Oleg Endo wrote: > Yeah, however, I'm also using the value behind > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL in sync.md. If it's in sh.c it > doesn't work. That's why I left it in sh.h. That value should be available via targetm.atomic_test_and_set_trueval. r~

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-05 Thread Oleg Endo
On Mon, 2012-03-05 at 11:00 -0800, Richard Henderson wrote: > On 03/04/2012 11:09 AM, Oleg Endo wrote: > > Richard, could you also please take the > > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL hunk from this patch for the 4.7 > > branch? > > Done. Thanks! > I've also moved the TARGET_ATOMIC_TEST_AND_

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-05 Thread Richard Henderson
On 03/04/2012 11:09 AM, Oleg Endo wrote: > Richard, could you also please take the > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL hunk from this patch for the 4.7 > branch? Done. I've also moved the TARGET_ATOMIC_TEST_AND_SET_TRUEVAL definition from sh.h to sh.c where it belongs. r~

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-04 Thread Kaz Kojima
Oleg Endo wrote: > Attached is a slightly modified version of the patch from > http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00085.html > > I have removed the signed char weirdo and adjusted the comment above > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL accordingly. > > Tested by compiling some test func

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-04 Thread Oleg Endo
On Sat, 2012-03-03 at 10:31 -0800, Richard Henderson wrote: > On 03/02/2012 10:11 AM, Richard Henderson wrote: > > I'm in the process of sanity testing this on x86_64 with trueval set to > > 0x80. > > Jakub, ok for 4.7 branch if it passes? > > > > * optabs.c (expand_atomic_test_and_set): Hono

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-03 Thread Jakub Jelinek
On Sat, Mar 03, 2012 at 10:31:17AM -0800, Richard Henderson wrote: > On 03/02/2012 10:11 AM, Richard Henderson wrote: > > I'm in the process of sanity testing this on x86_64 with trueval set to > > 0x80. > > Jakub, ok for 4.7 branch if it passes? > > > > * optabs.c (expand_atomic_test_and_set

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-03 Thread Richard Henderson
On 03/02/2012 10:11 AM, Richard Henderson wrote: > I'm in the process of sanity testing this on x86_64 with trueval set to 0x80. > Jakub, ok for 4.7 branch if it passes? > > * optabs.c (expand_atomic_test_and_set): Honor > atomic_test_and_set_trueval even when atomic_test_and_set >

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-02 Thread Kaz Kojima
Richard Henderson wrote: > For proper binary compatibility, we should probably introduce that asap. > You forgot two things in your patch, gen_int_mode and the fact that we > still have to return a boolean (0/1) value. > > Also in order for the binary compatibility to work right, you'd want to >

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-02 Thread Oleg Endo
On Fri, 2012-03-02 at 12:34 -0800, Richard Henderson wrote: > On 03/02/2012 12:27 PM, Oleg Endo wrote: > > + This value is used by optabs.c atomic op expansion code as well as in > > + sync.md. It must be defined as signed char here or else the movqi > > + pattern will refuse to load it as

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-02 Thread Richard Henderson
On 03/02/2012 12:27 PM, Oleg Endo wrote: > + This value is used by optabs.c atomic op expansion code as well as in > + sync.md. It must be defined as signed char here or else the movqi > + pattern will refuse to load it as a QImode constant. */ > +#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-02 Thread Oleg Endo
On Fri, 2012-03-02 at 10:11 -0800, Richard Henderson wrote: > For proper binary compatibility, we should probably introduce that asap. > You forgot two things in your patch, gen_int_mode and the fact that we > still have to return a boolean (0/1) value. Ah, yes, of course! > > Also in order for

[4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-02 Thread Richard Henderson
On 02/28/2012 07:16 AM, Oleg Endo wrote: > Wouldn't it make sense to use the value behind > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL in optabs.c > (expand_atomic_test_and_set) instead of const1_rtx when emitting > generated atomic_exchange / atomic_compare_and_swap_exchange_loop? > Maybe something like t