aboutsummaryrefslogtreecommitdiff
path: root/gcc/genopinit.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2018-08-02 10:48:42 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-08-02 10:48:42 +0000
commita451882123524de1b9b175af97a1cdd32e5f25c1 (patch)
treefe9c8181de8fc36ce8b02190fa468fdbf4ba4939 /gcc/genopinit.c
parent363b395bad6e45bb5d6e4924ff4f49400653f011 (diff)
downloadgcc-a451882123524de1b9b175af97a1cdd32e5f25c1.zip
gcc-a451882123524de1b9b175af97a1cdd32e5f25c1.tar.gz
gcc-a451882123524de1b9b175af97a1cdd32e5f25c1.tar.bz2
[AArch64] Add support for 16-bit FMOV immediates
aarch64_float_const_representable_p was still returning false for HFmode, so we wouldn't use 16-bit FMOV immediate. E.g. before the patch: __fp16 foo (void) { return 0x1.1p-3; } gave: mov w0, 12352 fmov h0, w0 with -march=armv8.2-a+fp16, whereas now it gives: fmov h0, 1.328125e-1 2018-08-02 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Allow HFmode constants if TARGET_FP_F16INST. gcc/testsuite/ * gcc.target/aarch64/f16_mov_immediate_1.c: Expect fmov immediate to be used. * gcc.target/aarch64/f16_mov_immediate_2.c: Likewise. * gcc.target/aarch64/f16_mov_immediate_3.c: Force +nofp16. * gcc.target/aarch64/sve/single_1.c: Except fmov immediate to be used for .h. * gcc.target/aarch64/sve/single_2.c: Likewise. * gcc.target/aarch64/sve/single_3.c: Likewise. * gcc.target/aarch64/sve/single_4.c: Likewise. From-SVN: r263250
Diffstat (limited to 'gcc/genopinit.c')
0 files changed, 0 insertions, 0 deletions