On Thu, Jan 16, 2014 at 5:44 AM, Zhenqiang Chen
<zhenqiang.c...@linaro.org> wrote:
> Thanks for comments.
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59837
>
> The patch with a test case is attached.


> +/* { dg-options " -Os -fno-omit-frame-pointer -mapcs -mabi=aapcs-linux -marm 
>  -mfloat-abi=softfp  -g " } */

Can you instead do ?

{ dg-options "-Os -fno-omit-frame-pointer -mapcs" }
{ dg-add-options arm_neon }

I don't like this as it as it stands because the test relies on the
compiler being configured for neon by default.


regards
Ramana


>
> ChangeLog:
> 2014-01-16  Zhenqiang Chen  <zhenqiang.c...@linaro.org>
>
>     PR target/59837
>     * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Do not add
>     REG_CFA_ADJUST_CFA NOTE if shrink-wrap is not enabled.
>
> testsuite/ChangeLog:
> 2014-01-16  Zhenqiang Chen  <zhenqiang.c...@linaro.org>
>
>     * gcc.target/arm/pr59837.c: New testcase.
>
> On 15 January 2014 19:56, Ramana Radhakrishnan
> <ramana.radhakrish...@arm.com> wrote:
>> Please also create a bugzilla entry for this and use the pr number here.
>>
>> Ramana
>>
>>
>> Sent from Samsung Mobile
>>
>>
>>
>> -------- Original message --------
>> From: Zhenqiang Chen <zhenqiang.c...@linaro.org>
>> Date:
>> To: gcc-patches@gcc.gnu.org
>> Cc: Richard Earnshaw <richard.earns...@arm.com>,Ramana Radhakrishnan
>> <ramana.radhakrish...@arm.com>
>> Subject: [PATCH, ARM] ICE when building kernel raid6 neon code
>>
>>
>> Hi,
>>
>> The patch fixes ICE when building kernel raid6 neon code.
>>
>> lib/raid6/neon4.c: In function 'raid6_
>>
>> neon4_gen_syndrome_real':
>> lib/raid6/neon4.c:113:1: internal compiler error: in
>> dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090
>>  }
>>
>> https://bugs.launchpad.net/gcc-linaro/+bug/1268893
>>
>> Root cause:
>> When expanding epilogue, REG_CFA_ADJUST_CFA NOTE is added to handle
>> dwarf info issue for shrink-wrap. But for TARGET_APCS_FRAME,
>> shrink-wrap is disabled. And not all dwarf info in
>> arm_expand_epilogue_apcs_frame are correctly updated.
>> arm_emit_vfp_multi_reg_pop is called by both
>> arm_expand_epilogue_apcs_frame and arm_expand_epilogue. So we should
>> not add the NOTE in arm_emit_vfp_multi_reg_pop if shrink-wrap is not
>> enabled.
>>
>> Boot strap and no make check regression on ARM Chromebook.
>>
>> OK for trunk?
>>
>> Thanks!
>> -Zhenqiang
>>
>> ChangeLog:
>> 2014-01-15  Zhenqiang Chen  <zhenqiang.c...@linaro.org>
>>
>>         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Do not add
>>         REG_CFA_ADJUST_CFA NOTE if shrink-wrap is not enabled.
>>
>> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
>> index 18196b3..1ccb796 100644
>> --- a/gcc/config/arm/arm.c
>> +++ b/gcc/config/arm/arm.c
>> @@ -19890,8 +19890,12 @@ arm_emit_vfp_multi_reg_pop (int first_reg,
>> int num_regs, rtx base_reg)
>>    par = emit_insn (par);
>>    REG_NOTES (par) = dwarf;
>>
>> -  arm_add_cfa_adjust_cfa_note (par, 2 * UNITS_PER_WORD * num_regs,
>> -                              base_reg, base_reg);
>> +  /* REG_CFA_ADJUST_CFA NOTE is added to handle dwarf info issue when
>> +     shrink-wrap is enabled.  So when shrink-wrap is not enabled, we should
>> +     not add the note.  */
>> +  if (flag_shrink_wrap)
>> +    arm_add_cfa_adjust_cfa_note (par, 2 * UNITS_PER_WORD * num_regs,
>> +                                base_reg, base_reg);
>>  }
>>
>>  /* Generate and emit a pattern that will be recognized as LDRD
>> pattern.  If even
>>
>>
>> -- IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose the
>> contents to any other person, use it for any purpose, or store or copy the
>> information in any medium. Thank you.
>>
>> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
>> Registered in England & Wales, Company No: 2557590
>> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
>> Registered in England & Wales, Company No: 2548782

Reply via email to