aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/interception
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-08-14 08:29:56 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-08-14 08:29:56 +0000
commit4a942af61c16f38f7fe51ed72a7ac23f73f62f2a (patch)
treeef3bb111be06dd71ad44d724b89426fc697dfb6a /libsanitizer/interception
parenta70965b114281553fa46cac9b8abab543f36793f (diff)
downloadgcc-4a942af61c16f38f7fe51ed72a7ac23f73f62f2a.zip
gcc-4a942af61c16f38f7fe51ed72a7ac23f73f62f2a.tar.gz
gcc-4a942af61c16f38f7fe51ed72a7ac23f73f62f2a.tar.bz2
[AArch64] Rework SVE FP comparisons
This patch rewrites the SVE FP comparisons so that they always use unspecs and so that they have an additional operand to indicate whether the predicate is known to be a PTRUE. It's part of a series that rewrites the SVE FP patterns so that they can cope with non-PTRUE predicates. 2019-08-14 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/iterators.md (UNSPEC_COND_FCMUO): New unspec. (cmp_op): Handle it. (SVE_COND_FP_CMP): Rename to... (SVE_COND_FP_CMP_I0): ...this. (SVE_FP_CMP): Remove. * config/aarch64/aarch64-sve.md (*fcm<SVE_FP_CMP:cmp_op><SVE_F:mode>): Replace with... (*fcm<SVE_COND_FP_CMP_I0:cmp_op><SVE_F:mode>): ...this new pattern, using unspecs to represent the comparison. (*fcmuo<SVE_F:mode>): Use UNSPEC_COND_FCMUO. (*fcm<cmp_op><mode>_and_combine, *fcmuo<mode>_and_combine): Update accordingly. * config/aarch64/aarch64.c (aarch64_emit_sve_ptrue_op): Delete. (aarch64_unspec_cond_code): Move after integer code. Handle UNORDERED. (aarch64_emit_sve_predicated_cond): Replace with... (aarch64_emit_sve_fp_cond): ...this new function. (aarch64_emit_sve_or_conds): Replace with... (aarch64_emit_sve_or_fp_conds): ...this new function. (aarch64_emit_sve_inverted_cond): Replace with... (aarch64_emit_sve_invert_fp_cond): ...this new function. (aarch64_expand_sve_vec_cmp_float): Update accordingly. From-SVN: r274421
Diffstat (limited to 'libsanitizer/interception')
0 files changed, 0 insertions, 0 deletions