diff options
| author | Ivan Maidanski <ivmai@mail.ru> | 2013-02-28 22:38:25 +0400 |
|---|---|---|
| committer | Ivan Maidanski <ivmai@mail.ru> | 2013-02-28 22:38:25 +0400 |
| commit | 713e8cdf7de39d3a6383c9b311daf57fe21e73e8 (patch) | |
| tree | c9bbd7bab63c88985febe9083f97365dd00d2dbc /src/Makefile.am | |
| parent | dc117fd3dd5e93d1f50a5ec66b68aac7a240c08c (diff) | |
| download | libatomic_ops-713e8cdf7de39d3a6383c9b311daf57fe21e73e8.tar.gz | |
Minimize gcc/generic-arithm template by factoring out barriers
(code refactoring)
* src/Makefile.am (atomic_ops/sysdeps/gcc/generic-arithm.h): Iterate
over XBAR/XGCCBAR (in addition to XSIZE/XCTYPE).
* src/atomic_ops/sysdeps/gcc/generic-arithm.template: Parametrize all
primitives with XBAR (replacing AO none/acquire/release/full barriers)
and with XGCCBAR (replacing GCC atomic RELAXED/ACQUIRE/RELEASE/SEQ_CST
barriers, respectively).
* src/atomic_ops/sysdeps/gcc/generic-arithm.h: Regenerate.
Diffstat (limited to 'src/Makefile.am')
| -rw-r--r-- | src/Makefile.am | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index f611ac4..7d586e9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -124,10 +124,38 @@ atomic_ops/sysdeps/ao_t_is_int.h: atomic_ops/sysdeps/ao_t_is_int.template atomic_ops/sysdeps/gcc/generic-arithm.h: \ atomic_ops/sysdeps/gcc/generic-arithm.template - sed -e s:XSIZE:char:g -e s:XCTYPE:unsigned/**/char:g $? > $@ - sed -e s:XSIZE:short:g -e s:XCTYPE:unsigned/**/short:g $? >> $@ - sed -e s:XSIZE:int:g -e s:XCTYPE:unsigned:g $? >> $@ - sed -e s:XSIZE_::g -e s:XCTYPE:AO_t:g $? >> $@ + sed -e s:_XBAR::g -e s:XGCCBAR:RELAXED:g \ + -e s:XSIZE:char:g -e s:XCTYPE:unsigned/**/char:g $? > $@ + sed -e s:_XBAR::g -e s:XGCCBAR:RELAXED:g \ + -e s:XSIZE:short:g -e s:XCTYPE:unsigned/**/short:g $? >> $@ + sed -e s:_XBAR::g -e s:XGCCBAR:RELAXED:g \ + -e s:XSIZE:int:g -e s:XCTYPE:unsigned:g $? >> $@ + sed -e s:_XBAR::g -e s:XGCCBAR:RELAXED:g \ + -e s:XSIZE_::g -e s:XCTYPE:AO_t:g $? >> $@ + sed -e s:XBAR:acquire:g -e s:XGCCBAR:ACQUIRE:g \ + -e s:XSIZE:char:g -e s:XCTYPE:unsigned/**/char:g $? >> $@ + sed -e s:XBAR:acquire:g -e s:XGCCBAR:ACQUIRE:g \ + -e s:XSIZE:short:g -e s:XCTYPE:unsigned/**/short:g $? >> $@ + sed -e s:XBAR:acquire:g -e s:XGCCBAR:ACQUIRE:g \ + -e s:XSIZE:int:g -e s:XCTYPE:unsigned:g $? >> $@ + sed -e s:XBAR:acquire:g -e s:XGCCBAR:ACQUIRE:g \ + -e s:XSIZE_::g -e s:XCTYPE:AO_t:g $? >> $@ + sed -e s:XBAR:release:g -e s:XGCCBAR:RELEASE:g \ + -e s:XSIZE:char:g -e s:XCTYPE:unsigned/**/char:g $? >> $@ + sed -e s:XBAR:release:g -e s:XGCCBAR:RELEASE:g \ + -e s:XSIZE:short:g -e s:XCTYPE:unsigned/**/short:g $? >> $@ + sed -e s:XBAR:release:g -e s:XGCCBAR:RELEASE:g \ + -e s:XSIZE:int:g -e s:XCTYPE:unsigned:g $? >> $@ + sed -e s:XBAR:release:g -e s:XGCCBAR:RELEASE:g \ + -e s:XSIZE_::g -e s:XCTYPE:AO_t:g $? >> $@ + sed -e s:XBAR:full:g -e s:XGCCBAR:SEQ_CST:g \ + -e s:XSIZE:char:g -e s:XCTYPE:unsigned/**/char:g $? >> $@ + sed -e s:XBAR:full:g -e s:XGCCBAR:SEQ_CST:g \ + -e s:XSIZE:short:g -e s:XCTYPE:unsigned/**/short:g $? >> $@ + sed -e s:XBAR:full:g -e s:XGCCBAR:SEQ_CST:g \ + -e s:XSIZE:int:g -e s:XCTYPE:unsigned:g $? >> $@ + sed -e s:XBAR:full:g -e s:XGCCBAR:SEQ_CST:g \ + -e s:XSIZE_::g -e s:XCTYPE:AO_t:g $? >> $@ atomic_ops/sysdeps/gcc/generic-small.h: \ atomic_ops/sysdeps/gcc/generic-small.template |
