[AArch64/GCC] PR64304, miscompilation with -mgeneral-regs-only
Marcus Shawcroft
marcus.shawcroft@gmail.com
Mon Jan 19 13:47:00 GMT 2015
On 16 January 2015 at 11:17, Jiong Wang <jiong.wang@arm.com> wrote:
> exactly, thanks, we should use FAIL although DONE and FAIL work the same in
> this scenario.
>
> I checked their definition, FAIL always return the initial value of _val
> which is NULL,
> while DONE stop and return generated insns which for this pattern happen to
> be NULL also. that
> explain why it's not exposed by testing.
>
>
> #define FAIL return (end_sequence (), _val)
> #define DONE return (_val = get_insns (), end_sequence (), _val)
It seems rather odd to me that DONE behaves in this way. Your patch
is OK with DONE switched to FAIL. /Marcus
More information about the Gcc-patches
mailing list