--- old/src/hotspot/cpu/x86/x86_64.ad 2018-10-31 14:22:34.392959269 +0100 +++ new/src/hotspot/cpu/x86/x86_64.ad 2018-10-31 14:22:34.260959374 +0100 @@ -1,5 +1,5 @@ // -// Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This code is free software; you can redistribute it and/or modify it @@ -5802,6 +5802,27 @@ %} //----------Store Instructions------------------------------------------------- +// Store Bit +instruct storeZ0(memory mem, rRegI src) +%{ + match(Set mem (StoreZ0 mem src)); + + ins_cost(125); + format %{ "andb $mem, $src\t# byte" %} + opcode(0x20); + ins_encode(lock_prefix, REX_breg_mem(src, mem), OpcP, reg_mem(src, mem)); + ins_pipe(ialu_mem_reg); +%} + +instruct storeZ1(memory mem, rRegI src) +%{ + match(Set mem (StoreZ1 mem src)); + ins_cost(125); + format %{ "orb $mem, $src\t# byte" %} + opcode(0x08); + ins_encode(lock_prefix, REX_breg_mem(src, mem), OpcP, reg_mem(src, mem)); + ins_pipe(ialu_mem_reg); +%} // Store Byte instruct storeB(memory mem, rRegI src)