re PR middle-end/19706 (Recognize common Fortran usages of copysign.)
2017-08-23 Tamar Christina <tamar.christina@arm.com> PR middle-end/19706 * doc/sourcebuild.texi (Other hardware attributes): Document xorsign. gcc/testsuite 2017-08-23 Tamar Christina <tamar.christina@arm.com> PR middle-end/19706 * gcc.dg/tree-ssa/pr19706.c: New. * lib/target-supports.exp (check_effective_target_xorsign): New. From-SVN: r251304
This commit is contained in:
parent
9880acc19e
commit
c37691e5cd
@ -1,3 +1,9 @@
|
|||||||
|
2017-08-23 Tamar Christina <tamar.christina@arm.com>
|
||||||
|
|
||||||
|
PR middle-end/19706
|
||||||
|
* doc/sourcebuild.texi (Other hardware attributes):
|
||||||
|
Document xorsign.
|
||||||
|
|
||||||
2017-08-23 Tamar Christina <tamar.christina@arm.com>
|
2017-08-23 Tamar Christina <tamar.christina@arm.com>
|
||||||
|
|
||||||
PR middle-end/19706
|
PR middle-end/19706
|
||||||
|
@ -1908,6 +1908,9 @@ or @code{EM_SPARCV9} executables.
|
|||||||
@item vect_cmdline_needed
|
@item vect_cmdline_needed
|
||||||
Target requires a command line argument to enable a SIMD instruction set.
|
Target requires a command line argument to enable a SIMD instruction set.
|
||||||
|
|
||||||
|
@item xorsign
|
||||||
|
Target supports the xorsign optab expansion.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@subsubsection Environment attributes
|
@subsubsection Environment attributes
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2017-08-23 Tamar Christina <tamar.christina@arm.com>
|
||||||
|
|
||||||
|
PR middle-end/19706
|
||||||
|
* gcc.dg/tree-ssa/pr19706.c: New.
|
||||||
|
* lib/target-supports.exp (check_effective_target_xorsign): New.
|
||||||
|
|
||||||
2017-08-22 Daniel Santos <daniel.santos@pobox.com>
|
2017-08-22 Daniel Santos <daniel.santos@pobox.com>
|
||||||
|
|
||||||
* gcc.target/i386/pr71958.c: New test to verify error on -mx32 and
|
* gcc.target/i386/pr71958.c: New test to verify error on -mx32 and
|
||||||
|
@ -5332,6 +5332,28 @@ proc check_effective_target_vect_perm_short { } {
|
|||||||
return $et_vect_perm_short_saved($et_index)
|
return $et_vect_perm_short_saved($et_index)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Return 1 if the target plus current options supports folding of
|
||||||
|
# copysign into XORSIGN.
|
||||||
|
#
|
||||||
|
# This won't change for different subtargets so cache the result.
|
||||||
|
|
||||||
|
proc check_effective_target_xorsign { } {
|
||||||
|
global et_xorsign_saved
|
||||||
|
global et_index
|
||||||
|
|
||||||
|
if [info exists et_xorsign_saved($et_index)] {
|
||||||
|
verbose "check_effective_target_xorsign: using cached result" 2
|
||||||
|
} else {
|
||||||
|
set et_xorsign_saved($et_index) 0
|
||||||
|
if { [istarget aarch64*-*-*] || [istarget arm*-*-*] } {
|
||||||
|
set et_xorsign_saved($et_index) 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
verbose "check_effective_target_xorsign:\
|
||||||
|
returning $et_xorsign_saved($et_index)" 2
|
||||||
|
return $et_xorsign_saved($et_index)
|
||||||
|
}
|
||||||
|
|
||||||
# Return 1 if the target plus current options supports a vector
|
# Return 1 if the target plus current options supports a vector
|
||||||
# widening summation of *short* args into *int* result, 0 otherwise.
|
# widening summation of *short* args into *int* result, 0 otherwise.
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user