changeset 52922:91855ca077e3

8214961: AARCH64: wrong encoding for exclusive and atomic load/stores Reviewed-by: aph
author dpochepk
date Mon, 10 Dec 2018 17:31:16 +0300
parents f83b21839314
children 8790e9f9f984
files src/hotspot/cpu/aarch64/assembler_aarch64.hpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp	Mon Dec 10 14:54:04 2018 +0100
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp	Mon Dec 10 17:31:16 2018 +0300
@@ -1118,7 +1118,7 @@
     Register Rn, enum operand_size sz, int op, bool ordered) {
     starti;
     f(sz, 31, 30), f(0b001000, 29, 24), f(op, 23, 21);
-    rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), rf(Rn, 5), rf(Rt1, 0);
+    rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), srf(Rn, 5), rf(Rt1, 0);
   }
 
   void load_exclusive(Register dst, Register addr,
@@ -1247,7 +1247,7 @@
                   enum operand_size sz, int op1, int op2, bool a, bool r) {
     starti;
     f(sz, 31, 30), f(0b111000, 29, 24), f(a, 23), f(r, 22), f(1, 21);
-    rf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), rf(Rn, 5), zrf(Rt, 0);
+    rf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), srf(Rn, 5), zrf(Rt, 0);
   }
 
 #define INSN(NAME, NAME_A, NAME_L, NAME_AL, op1, op2)                   \