aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/cpp.c
diff options
context:
space:
mode:
authorDennis Zhang <denzha01@e124712.cambridge.arm.com>2020-11-03 13:00:51 +0000
committerDennis Zhang <denzha01@e124712.cambridge.arm.com>2020-11-03 13:00:51 +0000
commitf7d6961126a7f06c8089d8a58bd21be43bc16806 (patch)
treef6ca6a1732decea47982001254f5e9df3572f9ef /gcc/fortran/cpp.c
parent9d1b813d0f7c9a8d80b0aee6eb1418b0afdf0f84 (diff)
downloadgcc-f7d6961126a7f06c8089d8a58bd21be43bc16806.zip
gcc-f7d6961126a7f06c8089d8a58bd21be43bc16806.tar.gz
gcc-f7d6961126a7f06c8089d8a58bd21be43bc16806.tar.bz2
aarch64: ACLE intrinsics convert BF16 to Float32
This patch enables intrinsics to convert BFloat16 scalar and vector operands to Float32 modes. The intrinsics are implemented by shifting each BFloat16 item 16 bits to left using shl/shll/shll2 instructions. gcc/ChangeLog: 2020-11-03 Dennis Zhang <dennis.zhang@arm.com> * config/aarch64/aarch64-simd-builtins.def(vbfcvt): New entry. (vbfcvt_high, bfcvt): Likewise. * config/aarch64/aarch64-simd.md(aarch64_vbfcvt<mode>): New entry. (aarch64_vbfcvt_highv8bf, aarch64_bfcvtsf): Likewise. * config/aarch64/arm_bf16.h (vcvtah_f32_bf16): New intrinsic. * config/aarch64/arm_neon.h (vcvt_f32_bf16): Likewise. (vcvtq_low_f32_bf16, vcvtq_high_f32_bf16): Likewise. gcc/testsuite/ChangeLog * gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c (test_vcvt_f32_bf16, test_vcvtq_low_f32_bf16): New tests. (test_vcvtq_high_f32_bf16, test_vcvth_f32_bf16): Likewise.
Diffstat (limited to 'gcc/fortran/cpp.c')
0 files changed, 0 insertions, 0 deletions