RE: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-25 Thread Ian Bolton
> Ok. Having dug a bit deeper I think the main problem is that you're > working against yourself by not handling this pattern right from the > beginning. You have split the address incorrectly to begin and are > now trying to recover after the fact. > > The following patch seems to do the trick

Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-10 Thread Richard Henderson
On 09/10/2012 09:09 AM, Ian Bolton wrote: >> Can you send me the test case you were looking at for this? > > See attached. (Most of it is superfluous, but the point is that > we are not using the address to do a memory access.) Ok. Having dug a bit deeper I think the main problem is that you're

RE: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-10 Thread Ian Bolton
> Can you send me the test case you were looking at for this? See attached. (Most of it is superfluous, but the point is that we are not using the address to do a memory access.) Cheers, Ian constant-test1.c Description: Binary data

Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-10 Thread Richard Henderson
On 09/06/2012 10:19 AM, Ian Bolton wrote: > Based on that, and assuming I remove the constraints on the > pattern, would you say the patch is worthy of commit? Can you send me the test case you were looking at for this? r~

RE: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-06 Thread Ian Bolton
> From: Richard Henderson [mailto:r...@redhat.com] > On 09/06/2012 08:06 AM, Ian Bolton wrote: > > If I don't use my split pattern, I could alter combine to remove the > > requirement that parent is a MEM. > > > > What do you think? > > I merely question the calling out of CONST as special. > > E

Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-06 Thread Richard Henderson
On 09/06/2012 08:06 AM, Ian Bolton wrote: > If I don't use my split pattern, I could alter combine to remove the > requirement that parent is a MEM. > > What do you think? I merely question the calling out of CONST as special. Either you've got some pattern that handles SYMBOL_REF the same way,

RE: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-09-06 Thread Ian Bolton
> On 2012-08-31 07:49, Ian Bolton wrote: > > +(define_split > > + [(set (match_operand:DI 0 "register_operand" "=r") > > + (const:DI (plus:DI (match_operand:DI 1 "aarch64_valid_symref" > "S") > > + (match_operand:DI 2 "const_int_operand" > "i"] > > + "" > > + [

Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-08-31 Thread Richard Henderson
On 2012-08-31 07:49, Ian Bolton wrote: > +(define_split > + [(set (match_operand:DI 0 "register_operand" "=r") > + (const:DI (plus:DI (match_operand:DI 1 "aarch64_valid_symref" "S") > + (match_operand:DI 2 "const_int_operand" "i"] > + "" > + [(set (match_dup 0)

[PATCH, AArch64] Allow symbol+offset even if not being used for memory access

2012-08-31 Thread Ian Bolton
Hi, This patch builds on a previous one that allowed symbol+offset as symbol references for memory accesses. It allows us to have symbol+offset even when no memory access is apparent. It reduces codesize for cases such as this one: int arr[100]; uint64_t foo (uint64_t a) { uint64_t con