GCC Compiler Optimization ignores or mistreats MFENCE memory barrier related instruction
Vivek Kinhekar
vivek.kinhekar@blackfigtech.com
Fri Apr 13 14:32:00 GMT 2018
Oh! Thanks for the quick response, Jakub.
Regards,
Vivek Kinhekar
-----Original Message-----
From: Jakub Jelinek <jakub@redhat.com>
Sent: Friday, April 13, 2018 7:08 PM
To: Vivek Kinhekar <vivek.kinhekar@blackfigtech.com>
Cc: Alexander Monakov <amonakov@ispras.ru>; gcc@gcc.gnu.org
Subject: Re: GCC Compiler Optimization ignores or mistreats MFENCE memory barrier related instruction
On Fri, Apr 13, 2018 at 01:34:21PM +0000, Vivek Kinhekar wrote:
> Hello Alexander,
>
> In the given testcase, the generated fdivrs instruction performs the
> division of a symbol ref (memory value) by FPU Stack Register and
> stores the value in FPU Stack Register.
The stack registers are not memory.
> Please find the following RTL Dump of the fdivrs instruction generated.
> It clearly access the memory for read access!
That is a constant read, that doesn't count either. It is in memory only because the instruction doesn't support constant immediates, the memory is read-only.
Jakub
More information about the Gcc
mailing list