This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] Fix combine_givs


> When express_from_1 is called with say:
> a = (const:SI (plus:SI (symbol_ref:SI ("b")) (const_int 640 
> [0x280])))
> b = (const:SI (plus:SI (symbol_ref:SI ("b")) (const_int 640 
> [0x280])))
> mult = (const_int 1 [0x1])
> (as may happen in some gcc versions on the testcase below),
> the result is surprisingly not const0_rtx.
> This causes two different giv registers used for input and output > memory bases ...

Hmm, could it be this patch is responsible for the notable improvements
in performance on swim, applu, sixtrack and (less so) apsi, of the
SPECfp2000 runs reported by Andreas Jaeger ?

See: http://www.suse.de/~aj/SPEC/CFP/d-permanent/index.html

An explanation could be that the conflict you describe above also exists
for any read/modify/write loop of an array in COMMON (or just statically
allocated, i.e. with a compile time constant start address) ...

--
Toon Moene, KNMI, PO Box 201, 3730 AE De Bilt, The Netherlands.
Tel. +31302206443, Fax +31302210407,  e-mail moene@knmi.nl
URL: http://www.knmi.nl/hirlam


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]