[Committed][AArch64] Fix fp16 test failures after PR82964 fix

Wilco Dijkstra Wilco.Dijkstra@arm.com
Thu Jan 18 17:51:00 GMT 2018


This fixes test failures in gcc.target/aarch64/f16_mov_immediate_*.c
after fixing PR82964 (https://gcc.gnu.org/ml/gcc-patches/2018-01/msg01636.html). 
The check for a scalar floating point constant didn't include 16-bit floating point modes,
so use GET_MODE_CLASS instead.

This fixes the failures and has no effect otherwise.  Committed as trivial fix.

ChangeLog:
2018-01-18  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
	PR target/82964
	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
	Use GET_MODE_CLASS for scalar floating point.
--

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 671168cc3f32ac3f2669fc79835435fdf618a56d..c6a83c881038873d8b68e36f906783be63ddde56 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -11813,8 +11813,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;



More information about the Gcc-patches mailing list