< prev index next >

src/hotspot/cpu/x86/x86_64.ad

Print this page

        

@@ -1,7 +1,7 @@
 //
-// 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
 // under the terms of the GNU General Public License version 2 only, as
 // published by the Free Software Foundation.

@@ -5800,10 +5800,31 @@
   %}
   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 >