+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>
PR middle-end/19706
@item vect_cmdline_needed
Target requires a command line argument to enable a SIMD instruction set.
+@item xorsign
+Target supports the xorsign optab expansion.
+
@end table
@subsubsection Environment attributes
+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>
* gcc.target/i386/pr71958.c: New test to verify error on -mx32 and
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
# widening summation of *short* args into *int* result, 0 otherwise.
#