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]

Re: [Patch][AArch64] Tighten predicate for CMP pattern.


On 10/09/12 16:11, Tejas Belagod wrote:
Hi,

This patch tightens the predicate for the CMP pattern. It makes it restrictive
to accept reg or zero as prescribed by the architecture.

Regression-tested on aarch64-none-elf. OK for aarch64-branch?

Thanks,
Tejas Belagod
ARM.

PS: This patch applies over vldn-vstn.txt sent out earlier.

Changelog:

2012-09-10 Tejas Belagod<tejas.belagod@arm.com>

gcc/
	* config/aarch64/aarch64-simd.md (aarch64_cm<cmp><mode>): Tighten
	predicate for operand 2 of the compare pattern to accept register
	or zero.
	* config/aarch64/predicates.md (aarch64_simd_reg_or_zero): New.

Tejas


This patch duplicated the definition of aarch64_simd_reg_or_zero introduced by the earlier vld234 patch. I've committed the attached fix to aarch64-branch and aarch64-4.7-branch

Cheers
/Marcus


2012-09-26 Marcus Shawcroft <marcus.shawcroft@arm.com>


	* config/aarch64/predicates.md (aarch64_simd_reg_or_zero): Remove
	duplicate.
Index: gcc/config/aarch64/predicates.md
===================================================================
--- gcc/config/aarch64/predicates.md	(revision 191754)
+++ gcc/config/aarch64/predicates.md	(working copy)
@@ -295,9 +295,3 @@
 {
   return aarch64_simd_imm_zero_p (op, mode);
 })
-
-(define_predicate "aarch64_simd_reg_or_zero"
-  (and (match_code "reg,subreg,const_int,const_vector")
-       (ior (match_operand 0 "register_operand")
-	    (ior (match_test "op == const0_rtx")
-	    	  (match_test "aarch64_simd_imm_zero_p (op, mode)")))))

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