This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch ARM/AArch64] Add missing is_neon_type types


Hi,

I spotted that these are missing from the "is_neon_type" attribute:

	neon_fp_abs_s, neon_fp_abs_s_q, neon_fp_abs_d, neon_fp_abs_d_q,
	neon_fp_neg_s, neon_fp_neg_s_q, neon_fp_neg_d, neon_fp_neg_d_q,
	neon_fp_to_int_d, neon_fp_to_int_d_q,
	neon_int_to_fp_d, neon_int_to_fp_d_q,

This patch adds them.  In principle this could have shown up by allowing
us to create a limited set of conditional neon instructions, or as a
scheduling quirk in the Cortex-A7 and Cortex-A53 scheduling models, but I
didn't see any impact in some smoke testing.

Bootstrapped on arm-none-linux-gnueabihf and aarch64-none-linux-gnu with
no issues.

OK?

Thanks,
James

---
2015-08-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/arm/types.md (is_neon_type): Add missing types.

diff --git a/gcc/config/arm/types.md b/gcc/config/arm/types.md
index d368446..ec609ae 100644
--- a/gcc/config/arm/types.md
+++ b/gcc/config/arm/types.md
@@ -1146,10 +1146,12 @@
           neon_store3_one_lane, neon_store3_one_lane_q, neon_store4_4reg,\
           neon_store4_4reg_q, neon_store4_one_lane, neon_store4_one_lane_q,\
           neon_fp_abd_s, neon_fp_abd_s_q, neon_fp_abd_d, neon_fp_abd_d_q,\
+          neon_fp_abs_s, neon_fp_abs_s_q, neon_fp_abs_d, neon_fp_abs_d_q,\
           neon_fp_addsub_s, neon_fp_addsub_s_q, neon_fp_addsub_d,\
           neon_fp_addsub_d_q, neon_fp_compare_s, neon_fp_compare_s_q,\
           neon_fp_compare_d, neon_fp_compare_d_q, neon_fp_minmax_s,\
           neon_fp_minmax_s_q, neon_fp_minmax_d, neon_fp_minmax_d_q,\
+          neon_fp_neg_s, neon_fp_neg_s_q, neon_fp_neg_d, neon_fp_neg_d_q,\
           neon_fp_reduc_add_s, neon_fp_reduc_add_s_q, neon_fp_reduc_add_d,\
           neon_fp_reduc_add_d_q, neon_fp_reduc_minmax_s,
           neon_fp_reduc_minmax_s_q, neon_fp_reduc_minmax_d,\
@@ -1157,6 +1159,8 @@
           neon_fp_cvt_narrow_s_q, neon_fp_cvt_narrow_d_q,\
           neon_fp_cvt_widen_h, neon_fp_cvt_widen_s, neon_fp_to_int_s,\
           neon_fp_to_int_s_q, neon_int_to_fp_s, neon_int_to_fp_s_q,\
+          neon_fp_to_int_d, neon_fp_to_int_d_q,\
+          neon_int_to_fp_d, neon_int_to_fp_d_q,\
           neon_fp_round_s, neon_fp_round_s_q, neon_fp_recpe_s,\
           neon_fp_recpe_s_q,\
           neon_fp_recpe_d, neon_fp_recpe_d_q, neon_fp_recps_s,\

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]