From cc81776e88ed94d0d283c1e7ceebfa916d6c530b Mon Sep 17 00:00:00 2001 From: wilco Date: Thu, 18 Jan 2018 16:37:44 +0000 Subject: [PATCH] [AArch64] Fix fp16 test failures after PR82964 fix This fixes test failures in gcc.target/aarch64/f16_mov_immediate_*.c after fixing PR82964. The check for a scalar floating point constant didn't include 16-bit floating point modes, so use GET_MODE_CLASS instead. gcc/ PR target/82964 * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Use GET_MODE_CLASS for scalar floating point. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256854 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/aarch64/aarch64.c | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f37ed18192..1341714cc95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-01-18 Wilco Dijkstra + + PR target/82964 + * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): + Use GET_MODE_CLASS for scalar floating point. + 2018-01-18 Jan Hubicka PR ipa/82256 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 17efac7a727..174310c9f1b 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -11757,8 +11757,7 @@ aarch64_legitimate_constant_p (machine_mode mode, rtx x) { /* Support CSE and rematerialization of common constants. */ if (CONST_INT_P (x) - || (CONST_DOUBLE_P (x) - && (mode == SFmode || mode == DFmode || mode == TFmode)) + || (CONST_DOUBLE_P (x) && GET_MODE_CLASS (mode) == MODE_FLOAT) || GET_CODE (x) == CONST_VECTOR) return true; -- 2.11.4.GIT