[Bug target/83726] [8 Regression] ICE: in final_scan_insn, at final.c:3063

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 10 19:29:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83726

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Steve Ellcey from comment #7
> pr83081.f90 looks like a new test so it may not actually be a regression
> related to this patch, but the first two are.  pr79041-2 generates:
> 
> t:
> 	mov	x0, 0
> 	mov	x1, 65536
> 	ret
> 
> with the patch rather than:
> 
> t:
> 	adr	x0, .LC0
> 	ldp	x0, x1, [x0]
> 	ret
> 	.size	t, .-t
> 	.align	4
> .LC0:
> 	.xword	0
> 	.xword	65536

The first code generation is better than doing a load.  That is doing two mov
is better than doing an adr/ldp in terms of size and even ldp could miss the
cache  while the two mov are independent and can most likely be executed on the
same pipeline.


More information about the Gcc-bugs mailing list