This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] partial register update for a bit mask operation on x86
- From: Eric Christopher <echristo at apple dot com>
- To: Hui-May Chang <hm dot chang at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 8 May 2007 15:47:31 -0700
- Subject: Re: [patch] partial register update for a bit mask operation on x86
- References: <D71D2A7D-EC41-4789-88A3-CB91253B4B55@apple.com>
+/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
So, this part is wrong :)
It should be:
/* { dg-do compiler { { target i?86-*-* x86_64-*-* } && ilp32 } } */
+; It is based on movstrictqi_xor where partial register update is
performed.
+; If optimize_size is not set, it is better to update the whole
register.
So, what's the size difference between this and movstrctqi_xor? Also
this
should probably read:
;; Like movstrctqi_xor, but avoids partial register stall if we're not
;; optimizing for size.
-eric