Re: [RFC, LRA] Incorrect subreg resolution?

2014-04-22 Thread Tejas Belagod
Richard Sandiford wrote: Returning to this old thread... Richard Sandiford rdsandif...@googlemail.com writes: Tejas Belagod tbela...@arm.com writes: When I relaxed CANNOT_CHANGE_MODE_CLASS to undefined for AArch64, gcc.c-torture/execute/copysign1.c generates incorrect code because LRA cannot

Re: [RFC, LRA] Incorrect subreg resolution?

2014-03-11 Thread Richard Sandiford
Returning to this old thread... Richard Sandiford rdsandif...@googlemail.com writes: Tejas Belagod tbela...@arm.com writes: When I relaxed CANNOT_CHANGE_MODE_CLASS to undefined for AArch64, gcc.c-torture/execute/copysign1.c generates incorrect code because LRA cannot seem to handle

Re: [RFC, LRA] Incorrect subreg resolution?

2014-01-12 Thread Richard Sandiford
H.J. Lu hjl.to...@gmail.com writes: How about this patch http://gcc.gnu.org/git/?p=gcc.git;a=patch;h=23023006b946e06b6fd93786585f2f8cd4837956 I tested it on Linux/x86-64 without any regressions. I don't think we should key this off vectorness. It's a question of whether the class contains a

Re: [RFC, LRA] Incorrect subreg resolution?

2014-01-11 Thread Richard Sandiford
Tejas Belagod tbela...@arm.com writes: When I relaxed CANNOT_CHANGE_MODE_CLASS to undefined for AArch64, gcc.c-torture/execute/copysign1.c generates incorrect code because LRA cannot seem to handle subregs like (subreg:DI (reg:TF hard_reg) 8) on hard registers where the subreg byte

Re: [RFC, LRA] Incorrect subreg resolution?

2014-01-11 Thread H.J. Lu
On Sat, Jan 11, 2014 at 2:12 AM, Richard Sandiford rdsandif...@googlemail.com wrote: Tejas Belagod tbela...@arm.com writes: When I relaxed CANNOT_CHANGE_MODE_CLASS to undefined for AArch64, gcc.c-torture/execute/copysign1.c generates incorrect code because LRA cannot seem to handle subregs

[RFC, LRA] Incorrect subreg resolution?

2014-01-10 Thread Tejas Belagod
Hi, When I relaxed CANNOT_CHANGE_MODE_CLASS to undefined for AArch64, gcc.c-torture/execute/copysign1.c generates incorrect code because LRA cannot seem to handle subregs like (subreg:DI (reg:TF hard_reg) 8) on hard registers where the subreg byte offset is unaligned to a hard register