Ping.
Thanks,
Kyrill
On 09/05/16 12:13, Kyrill Tkachov wrote:
Hi all,
This seems to have fallen through the cracks.
Ping.
https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00558.html
Thanks,
Kyrill
On 09/03/16 12:56, Kyrill Tkachov wrote:
Hi all,
I notice that the output code for our store exclusive patterns accesses
unallocated memory.
It wants to output an strexd instruction with a pair of consecutive registers
corresponding
to a DImode value. For that it creates the SImode top half of the DImode
register and puts it
into operands[3]. But the pattern only defines entries only up to operands[2],
with no match_dup 3
or like that, so operands[3] should technically be out of bounds.
We already have a mechanism for printing the top half of a DImode register,
that's the 'H' output modifier.
So this patch changes those patterns to use that, eliminating the out of bounds
access and making
the code a bit simpler as well.
Bootstrapped and tested on arm-none-linux-gnueabihf.
Ok for trunk?
Thanks,
Kyrill
2016-03-09 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
* config/arm/sync.md (arm_store_exclusive<mode>):
Use 'H' output modifier on operands[2] rather than creating a new
entry in out-of-bounds memory of the operands array.
(arm_store_release_exclusivedi): Likewise.