On Wed, Jul 07, 2021 at 11:23:48PM +0800, Hongtao Liu wrote: > On Wed, Jul 7, 2021 at 10:54 PM Segher Boessenkool > <seg...@kernel.crashing.org> wrote:
[ snip some old stuff ] > > Yeah. This stuff needs a rethink. > > > > What is wrong with just using an unspec and clobbers? > > > It's partial and **potential clobber**, All RTL "clobber" is always a potential clobber, it never guarantees the existing value does not survive. You can pass it through some unspec to make this more explicit. You will have to add some hook that CSE can use to figure out what bits are conserved by your target-specific construct, as you should have done in the first place. This will be much less work for you too, compared to actually checking if all existing GCC code needs too check "FAKE_CALL_P" or not (instead of just hoping it works now, as you do). Segher