sourcebuild.texi (arm_acq_rel): Document new effective target.
2016-06-01 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * doc/sourcebuild.texi (arm_acq_rel): Document new effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_acq_rel): New procedure. From-SVN: r237002
This commit is contained in:
parent
15c98b2e0d
commit
042dee3e3b
4 changed files with 35 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2016-06-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||
|
||||
* doc/sourcebuild.texi (arm_acq_rel): Document new effective target.
|
||||
|
||||
2016-06-01 Eduard Sanou <dhole@openmailbox.org>
|
||||
|
||||
* doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
|
||||
|
|
|
@ -1597,6 +1597,9 @@ ARM target supports executing ARMv8.1 Adv.SIMD instructions. Some
|
|||
multilibs may be incompatible with the options needed. Implies
|
||||
arm_v8_1a_neon_ok.
|
||||
|
||||
@item arm_acq_rel
|
||||
ARM target supports acquire-release instructions.
|
||||
|
||||
@item arm_prefer_ldrd_strd
|
||||
ARM target prefers @code{LDRD} and @code{STRD} instructions over
|
||||
@code{LDM} and @code{STM} instructions.
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-06-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_arm_acq_rel): New
|
||||
procedure.
|
||||
|
||||
2016-06-01 Eduard Sanou <dhole@openmailbox.org>
|
||||
|
||||
* gcc.dg/cpp/source_date_epoch-1.c: New file, test the proper
|
||||
|
|
|
@ -3494,6 +3494,25 @@ proc check_effective_target_arm_neonv2 { } {
|
|||
}
|
||||
}
|
||||
|
||||
# Return 1 if this is an ARM target with load acquire and store release
|
||||
# instructions for 8-, 16- and 32-bit types.
|
||||
|
||||
proc check_effective_target_arm_acq_rel { } {
|
||||
return [check_no_compiler_messages arm_acq_rel object {
|
||||
void
|
||||
load_acquire_store_release (void)
|
||||
{
|
||||
asm ("lda r0, [r1]\n\t"
|
||||
"stl r0, [r1]\n\t"
|
||||
"ldah r0, [r1]\n\t"
|
||||
"stlh r0, [r1]\n\t"
|
||||
"ldab r0, [r1]\n\t"
|
||||
"stlb r0, [r1]"
|
||||
: : : "r0", "memory");
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
# Return 1 if this a Loongson-2E or -2F target using an ABI that supports
|
||||
# the Loongson vector modes.
|
||||
|
||||
|
@ -5725,6 +5744,8 @@ proc check_effective_target_sync_int_long { } {
|
|||
|| [istarget aarch64*-*-*]
|
||||
|| [istarget alpha*-*-*]
|
||||
|| [istarget arm*-*-linux-*]
|
||||
|| ([istarget arm*-*-*]
|
||||
&& [check_effective_target_arm_acq_rel])
|
||||
|| [istarget bfin*-*linux*]
|
||||
|| [istarget hppa*-*linux*]
|
||||
|| [istarget s390*-*-*]
|
||||
|
@ -5758,6 +5779,8 @@ proc check_effective_target_sync_char_short { } {
|
|||
|| [istarget i?86-*-*] || [istarget x86_64-*-*]
|
||||
|| [istarget alpha*-*-*]
|
||||
|| [istarget arm*-*-linux-*]
|
||||
|| ([istarget arm*-*-*]
|
||||
&& [check_effective_target_arm_acq_rel])
|
||||
|| [istarget hppa*-*linux*]
|
||||
|| [istarget s390*-*-*]
|
||||
|| [istarget powerpc*-*-*]
|
||||
|
|
Loading…
Add table
Reference in a new issue