--- old/src/hotspot/cpu/x86/x86_64.ad 2018-08-20 11:53:32.474410976 +0100 +++ new/src/hotspot/cpu/x86/x86_64.ad 2018-08-20 11:53:32.190410130 +0100 @@ -6237,6 +6237,44 @@ ins_pipe(pipe_slow); // XXX %} +instruct cacheWB(indirect addr) +%{ + match(CacheWB addr); + + ins_cost(100); + format %{"cache wb $addr" %} + ins_encode %{ + assert($addr->index_position() < 0, "should be"); + assert($addr$$disp == 0, "should be"); + __ cache_wb(Address($addr$$base$$Register, 0)); + %} + ins_pipe(pipe_slow); // XXX +%} + +instruct cacheWBPreSync() +%{ + match(CacheWBPreSync); + + ins_cost(100); + format %{"cache wb presync" %} + ins_encode %{ + __ cache_wbsync(true); + %} + ins_pipe(pipe_slow); // XXX +%} + +instruct cacheWBPostSync() +%{ + match(CacheWBPostSync); + + ins_cost(100); + format %{"cache wb postsync" %} + ins_encode %{ + __ cache_wbsync(false); + %} + ins_pipe(pipe_slow); // XXX +%} + //----------BSWAP Instructions------------------------------------------------- instruct bytes_reverse_int(rRegI dst) %{ match(Set dst (ReverseBytesI dst));