< prev index next >

src/hotspot/cpu/x86/x86_64.ad

Print this page

        

*** 1,7 **** // ! // Copyright (c) 2003, 2017, 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 // under the terms of the GNU General Public License version 2 only, as // published by the Free Software Foundation. --- 1,7 ---- // ! // 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 // under the terms of the GNU General Public License version 2 only, as // published by the Free Software Foundation.
*** 5800,5809 **** --- 5800,5830 ---- %} ins_pipe(ialu_mem); %} //----------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) %{ match(Set mem (StoreB mem src));
< prev index next >