[PATCH] combine: Tweak change_zero_ext

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Wed Nov 30 10:09:00 GMT 2016


On 30/11/16 10:02, Bin.Cheng wrote:
> On Tue, Nov 29, 2016 at 9:14 PM, Christophe Lyon
> <christophe.lyon@linaro.org> wrote:
>> On 29 November 2016 at 20:38, Uros Bizjak <ubizjak@gmail.com> wrote:
>>>> 2016-11-26  Segher Boessenkool  <segher@kernel.crashing.org>
>>>>
>>>> * combine.c (change_zero_ext): Also handle extends from a subreg
>>>> to a mode bigger than that of the operand of the subreg.
>>> This patch introduced:
>>>
>>> FAIL: gcc.target/i386/pr44578.c (internal compiler error)
>>>
>>> on i686 (or x86_64 32bit multi-lib).
>>>
>>> ./cc1 -O2 -mtune=athlon64 -m32 -quiet pr44578.c
>>> pr44578.c: In function ‘test’:
>>> pr44578.c:18:1: internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:908
>>>   }
>>>   ^
>>> 0x81493b gen_rtx_SUBREG(machine_mode, rtx_def*, int)
>>>          /home/uros/gcc-svn/trunk/gcc/emit-rtl.c:908
>>> 0x122609f change_zero_ext
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:11260
>>> 0x1226207 recog_for_combine
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:11346
>>> 0x1236db3 try_combine
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:3501
>>> 0x123a3e0 combine_instructions
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:1265
>>> 0x123a3e0 rest_of_handle_combine
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:14581
>>> 0x123a3e0 execute
>>>          /home/uros/gcc-svn/trunk/gcc/combine.c:14626
>>>
>>> Uros.
>> Hi,
>>
>> I'm seeing a similar error on aarch64:
>> FAIL: gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c   -O1
>> (internal compiler error)
>> with the same backtrace.
> Hi,
> I also saw the same failure for below tests on aarch64.
>
> /tmp/.../src/gcc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vget_lane.c:
> In function 'exec_vget_lane':
> /tmp/.../src/gcc/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vget_lane.c:136:1:
> internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:908
> 0x7d9cd1 gen_rtx_SUBREG(machine_mode, rtx_def*, int)
>      /tmp/.../src/gcc/gcc/emit-rtl.c:908
> 0x7d9d25 gen_lowpart_SUBREG(machine_mode, rtx_def*)
>      /tmp/.../src/gcc/gcc/emit-rtl.c:924
> 0x1112562 change_zero_ext
>      /tmp/.../src/gcc/gcc/combine.c:11260
> 0x1112b47 recog_for_combine
>      /tmp/.../src/gcc/gcc/combine.c:11346

This is PR 78590 and Segher fixed it today.
Kyrill

> Thanks,
> bin
>> Christophe



More information about the Gcc-patches mailing list