--- old/src/hotspot/cpu/aarch64/aarch64.ad 2018-08-20 11:53:22.166380268 +0100 +++ new/src/hotspot/cpu/aarch64/aarch64.ad 2018-08-20 11:53:21.867379377 +0100 @@ -8925,6 +8925,44 @@ // ---------------- end of volatile loads and stores ---------------- +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