src/hotspot/cpu/aarch64/assembler_aarch64.cpp
author chegar
Thu, 17 Oct 2019 20:54:25 +0100
branchdatagramsocketimpl-branch
changeset 58679 9c3209ff7550
parent 58678 9cf78a70fa4f
parent 57565 01bca26734bb
permissions -rw-r--r--
datagramsocketimpl-branch: merge with default
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     1
/*
44997
3f875168ce21 8179889: Fix typographic errors in copyright headers
ihse
parents: 32395
diff changeset
     2
 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     3
 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
44997
3f875168ce21 8179889: Fix typographic errors in copyright headers
ihse
parents: 32395
diff changeset
     4
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     5
 *
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     6
 * This code is free software; you can redistribute it and/or modify it
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     7
 * under the terms of the GNU General Public License version 2 only, as
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     8
 * published by the Free Software Foundation.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
     9
 *
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    10
 * This code is distributed in the hope that it will be useful, but WITHOUT
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    11
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    12
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    13
 * version 2 for more details (a copy is included in the LICENSE file that
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    14
 * accompanied this code).
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    15
 *
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    16
 * You should have received a copy of the GNU General Public License version
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    17
 * 2 along with this work; if not, write to the Free Software Foundation,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    18
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    19
 *
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    20
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    21
 * or visit www.oracle.com if you need additional information or have any
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    22
 * questions.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    23
 */
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    24
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    25
#include <stdio.h>
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    26
#include <sys/types.h>
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    27
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    28
#include "precompiled.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    29
#include "asm/assembler.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    30
#include "asm/assembler.inline.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    31
#include "interpreter/interpreter.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    32
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    33
#ifndef PRODUCT
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    34
const unsigned long Assembler::asm_bp = 0x00007fffee09ac88;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    35
#endif
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    36
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    37
#include "compiler/disassembler.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    38
#include "memory/resourceArea.hpp"
49449
ef5d5d343e2a 8199263: Split interfaceSupport.hpp to not require including .inline.hpp files
coleenp
parents: 47216
diff changeset
    39
#include "runtime/interfaceSupport.inline.hpp"
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    40
#include "runtime/sharedRuntime.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    41
#include "immediate_aarch64.hpp"
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    42
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    43
extern "C" void entry(CodeBuffer *cb);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    44
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    45
#define __ _masm.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    46
#ifdef PRODUCT
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    47
#define BLOCK_COMMENT(str) /* nothing */
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    48
#else
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    49
#define BLOCK_COMMENT(str) block_comment(str)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    50
#endif
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    51
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    52
#define BIND(label) bind(label); __ BLOCK_COMMENT(#label ":")
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    53
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    54
static float unpack(unsigned value);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    55
50640
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    56
short Assembler::SIMD_Size_in_bytes[] = {
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    57
  // T8B, T16B, T4H, T8H, T2S, T4S, T1D, T2D, T1Q
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    58
       8,   16,   8,  16,   8,  16,   8,  16,  16
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    59
};
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    60
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    61
#ifdef ASSERT
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    62
static void asm_check(const unsigned int *insns, const unsigned int *insns1, size_t len) {
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    63
    bool ok = true;
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    64
    for (unsigned int i = 0; i < len; i++) {
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    65
      if (insns[i] != insns1[i]) {
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    66
        ok = false;
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    67
        printf("Ours:\n");
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    68
        Disassembler::decode((address)&insns1[i], (address)&insns1[i+1]);
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    69
        printf("Theirs:\n");
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    70
        Disassembler::decode((address)&insns[i], (address)&insns[i+1]);
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    71
        printf("\n");
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    72
      }
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    73
    }
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    74
    assert(ok, "Assembler smoke test failed");
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    75
  }
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    76
#endif // ASSERT
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
    77
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    78
void entry(CodeBuffer *cb) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    79
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    80
  // {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    81
  //   for (int i = 0; i < 256; i+=16)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    82
  //     {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    83
  //    printf("\"%20.20g\", ", unpack(i));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    84
  //    printf("\"%20.20g\", ", unpack(i+1));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    85
  //     }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    86
  //   printf("\n");
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    87
  // }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    88
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    89
  Assembler _masm(cb);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    90
  address entry = __ pc();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    91
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    92
  // Smoke test for assembler
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    93
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    94
#ifdef ASSERT
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    95
// BEGIN  Generated code -- do not edit
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    96
// Generated by aarch64-asmtest.py
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    97
    Label back, forth;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    98
    __ bind(back);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
    99
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   100
// ArithOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   101
    __ add(r15, r12, r16, Assembler::LSR, 30);         //        add        x15, x12, x16, LSR #30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   102
    __ sub(r1, r15, r3, Assembler::LSR, 32);           //        sub        x1, x15, x3, LSR #32
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   103
    __ adds(r13, r25, r5, Assembler::LSL, 13);         //        adds        x13, x25, x5, LSL #13
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   104
    __ subs(r22, r28, r6, Assembler::ASR, 17);         //        subs        x22, x28, x6, ASR #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   105
    __ addw(r0, r9, r22, Assembler::ASR, 6);           //        add        w0, w9, w22, ASR #6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   106
    __ subw(r19, r3, r25, Assembler::LSL, 21);         //        sub        w19, w3, w25, LSL #21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   107
    __ addsw(r4, r19, r11, Assembler::LSL, 20);        //        adds        w4, w19, w11, LSL #20
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   108
    __ subsw(r24, r7, r19, Assembler::ASR, 0);         //        subs        w24, w7, w19, ASR #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   109
    __ andr(r30, r7, r11, Assembler::LSL, 48);         //        and        x30, x7, x11, LSL #48
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   110
    __ orr(r24, r8, r15, Assembler::LSL, 12);          //        orr        x24, x8, x15, LSL #12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   111
    __ eor(r17, r9, r23, Assembler::LSL, 1);           //        eor        x17, x9, x23, LSL #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   112
    __ ands(r14, r11, r4, Assembler::LSR, 55);         //        ands        x14, x11, x4, LSR #55
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   113
    __ andw(r19, r7, r12, Assembler::LSR, 17);         //        and        w19, w7, w12, LSR #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   114
    __ orrw(r19, r27, r11, Assembler::ASR, 28);        //        orr        w19, w27, w11, ASR #28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   115
    __ eorw(r30, r3, r22, Assembler::LSR, 31);         //        eor        w30, w3, w22, LSR #31
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   116
    __ andsw(r19, r26, r28, Assembler::ASR, 0);        //        ands        w19, w26, w28, ASR #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   117
    __ bic(r29, r6, r26, Assembler::LSL, 51);          //        bic        x29, x6, x26, LSL #51
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   118
    __ orn(r26, r27, r17, Assembler::LSL, 35);         //        orn        x26, x27, x17, LSL #35
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   119
    __ eon(r21, r4, r14, Assembler::LSL, 5);           //        eon        x21, x4, x14, LSL #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   120
    __ bics(r2, r15, r0, Assembler::ASR, 5);           //        bics        x2, x15, x0, ASR #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   121
    __ bicw(r2, r7, r2, Assembler::LSL, 29);           //        bic        w2, w7, w2, LSL #29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   122
    __ ornw(r24, r12, r21, Assembler::LSR, 5);         //        orn        w24, w12, w21, LSR #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   123
    __ eonw(r30, r15, r19, Assembler::LSL, 2);         //        eon        w30, w15, w19, LSL #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   124
    __ bicsw(r30, r23, r17, Assembler::ASR, 28);       //        bics        w30, w23, w17, ASR #28
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   125
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   126
// AddSubImmOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   127
    __ addw(r4, r20, 660u);                            //        add        w4, w20, #660
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   128
    __ addsw(r2, r10, 710u);                           //        adds        w2, w10, #710
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   129
    __ subw(r19, r26, 244u);                           //        sub        w19, w26, #244
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   130
    __ subsw(r28, r13, 73u);                           //        subs        w28, w13, #73
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   131
    __ add(r2, r30, 862u);                             //        add        x2, x30, #862
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   132
    __ adds(r27, r16, 574u);                           //        adds        x27, x16, #574
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   133
    __ sub(r22, r9, 589u);                             //        sub        x22, x9, #589
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   134
    __ subs(r4, r1, 698u);                             //        subs        x4, x1, #698
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   135
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   136
// LogicalImmOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   137
    __ andw(r28, r19, 4294709247ul);                   //        and        w28, w19, #0xfffc0fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   138
    __ orrw(r27, r5, 536870910ul);                     //        orr        w27, w5, #0x1ffffffe
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   139
    __ eorw(r30, r20, 4294840319ul);                   //        eor        w30, w20, #0xfffe0fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   140
    __ andsw(r22, r26, 4294959615ul);                  //        ands        w22, w26, #0xffffe1ff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   141
    __ andr(r5, r7, 4194300ul);                        //        and        x5, x7, #0x3ffffc
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   142
    __ orr(r13, r7, 18014398509481728ul);              //        orr        x13, x7, #0x3fffffffffff00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   143
    __ eor(r7, r9, 18442240474082197503ul);            //        eor        x7, x9, #0xfff0000000003fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   144
    __ ands(r3, r0, 18374686479671656447ul);           //        ands        x3, x0, #0xff00000000007fff
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   145
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   146
// AbsOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   147
    __ b(__ pc());                                     //        b        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   148
    __ b(back);                                        //        b        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   149
    __ b(forth);                                       //        b        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   150
    __ bl(__ pc());                                    //        bl        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   151
    __ bl(back);                                       //        bl        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   152
    __ bl(forth);                                      //        bl        forth
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   153
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   154
// RegAndAbsOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   155
    __ cbzw(r16, __ pc());                             //        cbz        w16, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   156
    __ cbzw(r16, back);                                //        cbz        w16, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   157
    __ cbzw(r16, forth);                               //        cbz        w16, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   158
    __ cbnzw(r19, __ pc());                            //        cbnz        w19, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   159
    __ cbnzw(r19, back);                               //        cbnz        w19, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   160
    __ cbnzw(r19, forth);                              //        cbnz        w19, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   161
    __ cbz(r5, __ pc());                               //        cbz        x5, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   162
    __ cbz(r5, back);                                  //        cbz        x5, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   163
    __ cbz(r5, forth);                                 //        cbz        x5, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   164
    __ cbnz(r4, __ pc());                              //        cbnz        x4, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   165
    __ cbnz(r4, back);                                 //        cbnz        x4, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   166
    __ cbnz(r4, forth);                                //        cbnz        x4, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   167
    __ adr(r27, __ pc());                              //        adr        x27, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   168
    __ adr(r27, back);                                 //        adr        x27, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   169
    __ adr(r27, forth);                                //        adr        x27, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   170
    __ _adrp(r16, __ pc());                            //        adrp        x16, .
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   171
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   172
// RegImmAbsOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   173
    __ tbz(r28, 8, __ pc());                           //        tbz        x28, #8, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   174
    __ tbz(r28, 8, back);                              //        tbz        x28, #8, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   175
    __ tbz(r28, 8, forth);                             //        tbz        x28, #8, forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   176
    __ tbnz(r1, 1, __ pc());                           //        tbnz        x1, #1, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   177
    __ tbnz(r1, 1, back);                              //        tbnz        x1, #1, back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   178
    __ tbnz(r1, 1, forth);                             //        tbnz        x1, #1, forth
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   179
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   180
// MoveWideImmOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   181
    __ movnw(r20, 8639, 16);                           //        movn        w20, #8639, lsl 16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   182
    __ movzw(r7, 25835, 0);                            //        movz        w7, #25835, lsl 0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   183
    __ movkw(r17, 7261, 0);                            //        movk        w17, #7261, lsl 0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   184
    __ movn(r14, 2097, 32);                            //        movn        x14, #2097, lsl 32
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   185
    __ movz(r9, 16082, 0);                             //        movz        x9, #16082, lsl 0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   186
    __ movk(r19, 13962, 16);                           //        movk        x19, #13962, lsl 16
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   187
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   188
// BitfieldOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   189
    __ sbfm(r9, r22, 6, 22);                           //        sbfm        x9, x22, #6, #22
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   190
    __ bfmw(r19, r0, 11, 0);                           //        bfm        w19, w0, #11, #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   191
    __ ubfmw(r10, r19, 11, 19);                        //        ubfm        w10, w19, #11, #19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   192
    __ sbfm(r4, r15, 5, 17);                           //        sbfm        x4, x15, #5, #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   193
    __ bfm(r3, r5, 19, 28);                            //        bfm        x3, x5, #19, #28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   194
    __ ubfm(r12, r28, 17, 2);                          //        ubfm        x12, x28, #17, #2
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   195
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   196
// ExtractOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   197
    __ extrw(r15, r0, r22, 3);                         //        extr        w15, w0, w22, #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   198
    __ extr(r6, r14, r14, 55);                         //        extr        x6, x14, x14, #55
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   199
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   200
// CondBranchOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   201
    __ br(Assembler::EQ, __ pc());                     //        b.EQ        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   202
    __ br(Assembler::EQ, back);                        //        b.EQ        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   203
    __ br(Assembler::EQ, forth);                       //        b.EQ        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   204
    __ br(Assembler::NE, __ pc());                     //        b.NE        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   205
    __ br(Assembler::NE, back);                        //        b.NE        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   206
    __ br(Assembler::NE, forth);                       //        b.NE        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   207
    __ br(Assembler::HS, __ pc());                     //        b.HS        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   208
    __ br(Assembler::HS, back);                        //        b.HS        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   209
    __ br(Assembler::HS, forth);                       //        b.HS        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   210
    __ br(Assembler::CS, __ pc());                     //        b.CS        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   211
    __ br(Assembler::CS, back);                        //        b.CS        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   212
    __ br(Assembler::CS, forth);                       //        b.CS        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   213
    __ br(Assembler::LO, __ pc());                     //        b.LO        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   214
    __ br(Assembler::LO, back);                        //        b.LO        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   215
    __ br(Assembler::LO, forth);                       //        b.LO        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   216
    __ br(Assembler::CC, __ pc());                     //        b.CC        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   217
    __ br(Assembler::CC, back);                        //        b.CC        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   218
    __ br(Assembler::CC, forth);                       //        b.CC        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   219
    __ br(Assembler::MI, __ pc());                     //        b.MI        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   220
    __ br(Assembler::MI, back);                        //        b.MI        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   221
    __ br(Assembler::MI, forth);                       //        b.MI        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   222
    __ br(Assembler::PL, __ pc());                     //        b.PL        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   223
    __ br(Assembler::PL, back);                        //        b.PL        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   224
    __ br(Assembler::PL, forth);                       //        b.PL        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   225
    __ br(Assembler::VS, __ pc());                     //        b.VS        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   226
    __ br(Assembler::VS, back);                        //        b.VS        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   227
    __ br(Assembler::VS, forth);                       //        b.VS        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   228
    __ br(Assembler::VC, __ pc());                     //        b.VC        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   229
    __ br(Assembler::VC, back);                        //        b.VC        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   230
    __ br(Assembler::VC, forth);                       //        b.VC        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   231
    __ br(Assembler::HI, __ pc());                     //        b.HI        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   232
    __ br(Assembler::HI, back);                        //        b.HI        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   233
    __ br(Assembler::HI, forth);                       //        b.HI        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   234
    __ br(Assembler::LS, __ pc());                     //        b.LS        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   235
    __ br(Assembler::LS, back);                        //        b.LS        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   236
    __ br(Assembler::LS, forth);                       //        b.LS        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   237
    __ br(Assembler::GE, __ pc());                     //        b.GE        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   238
    __ br(Assembler::GE, back);                        //        b.GE        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   239
    __ br(Assembler::GE, forth);                       //        b.GE        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   240
    __ br(Assembler::LT, __ pc());                     //        b.LT        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   241
    __ br(Assembler::LT, back);                        //        b.LT        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   242
    __ br(Assembler::LT, forth);                       //        b.LT        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   243
    __ br(Assembler::GT, __ pc());                     //        b.GT        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   244
    __ br(Assembler::GT, back);                        //        b.GT        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   245
    __ br(Assembler::GT, forth);                       //        b.GT        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   246
    __ br(Assembler::LE, __ pc());                     //        b.LE        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   247
    __ br(Assembler::LE, back);                        //        b.LE        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   248
    __ br(Assembler::LE, forth);                       //        b.LE        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   249
    __ br(Assembler::AL, __ pc());                     //        b.AL        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   250
    __ br(Assembler::AL, back);                        //        b.AL        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   251
    __ br(Assembler::AL, forth);                       //        b.AL        forth
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   252
    __ br(Assembler::NV, __ pc());                     //        b.NV        .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   253
    __ br(Assembler::NV, back);                        //        b.NV        back
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   254
    __ br(Assembler::NV, forth);                       //        b.NV        forth
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   255
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   256
// ImmOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   257
    __ svc(22064);                                     //        svc        #22064
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   258
    __ hvc(533);                                       //        hvc        #533
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   259
    __ smc(9942);                                      //        smc        #9942
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   260
    __ brk(4714);                                      //        brk        #4714
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   261
    __ hlt(4302);                                      //        hlt        #4302
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   262
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   263
// Op
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   264
    __ nop();                                          //        nop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   265
    __ eret();                                         //        eret
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   266
    __ drps();                                         //        drps
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   267
    __ isb();                                          //        isb
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   268
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   269
// SystemOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   270
    __ dsb(Assembler::OSH);                            //        dsb        OSH
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   271
    __ dmb(Assembler::NSHLD);                          //        dmb        NSHLD
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   272
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   273
// OneRegOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   274
    __ br(r20);                                        //        br        x20
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   275
    __ blr(r2);                                        //        blr        x2
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   276
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   277
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   278
    __ stxr(r18, r23, r0);                             //        stxr        w18, x23, [x0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   279
    __ stlxr(r30, r5, r22);                            //        stlxr        w30, x5, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   280
    __ ldxr(r5, r8);                                   //        ldxr        x5, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   281
    __ ldaxr(r20, r16);                                //        ldaxr        x20, [x16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   282
    __ stlr(r6, r11);                                  //        stlr        x6, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   283
    __ ldar(r6, r27);                                  //        ldar        x6, [x27]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   284
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   285
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   286
    __ stxrw(r10, r17, r5);                            //        stxr        w10, w17, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   287
    __ stlxrw(r22, r9, r12);                           //        stlxr        w22, w9, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   288
    __ ldxrw(r27, r8);                                 //        ldxr        w27, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   289
    __ ldaxrw(r23, r2);                                //        ldaxr        w23, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   290
    __ stlrw(r26, r29);                                //        stlr        w26, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   291
    __ ldarw(r13, r10);                                //        ldar        w13, [x10]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   292
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   293
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   294
    __ stxrh(r25, r28, r27);                           //        stxrh        w25, w28, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   295
    __ stlxrh(r29, r22, r12);                          //        stlxrh        w29, w22, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   296
    __ ldxrh(r22, r28);                                //        ldxrh        w22, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   297
    __ ldaxrh(r3, r30);                                //        ldaxrh        w3, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   298
    __ stlrh(r24, r15);                                //        stlrh        w24, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   299
    __ ldarh(r27, r26);                                //        ldarh        w27, [x26]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   300
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   301
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   302
    __ stxrb(r11, r10, r19);                           //        stxrb        w11, w10, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   303
    __ stlxrb(r23, r27, r22);                          //        stlxrb        w23, w27, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   304
    __ ldxrb(r24, r16);                                //        ldxrb        w24, [x16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   305
    __ ldaxrb(r24, r1);                                //        ldaxrb        w24, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   306
    __ stlrb(r5, r29);                                 //        stlrb        w5, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   307
    __ ldarb(r24, r16);                                //        ldarb        w24, [x16]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   308
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   309
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   310
    __ ldxp(r25, r24, r17);                            //        ldxp        x25, x24, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   311
    __ ldaxp(r22, r12, r19);                           //        ldaxp        x22, x12, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   312
    __ stxp(r0, r26, r21, r25);                        //        stxp        w0, x26, x21, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   313
    __ stlxp(r1, r6, r11, r5);                         //        stlxp        w1, x6, x11, [x5]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   314
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   315
// LoadStoreExclusiveOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   316
    __ ldxpw(r13, r14, r4);                            //        ldxp        w13, w14, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   317
    __ ldaxpw(r17, r2, r6);                            //        ldaxp        w17, w2, [x6]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   318
    __ stxpw(r15, r3, r9, r18);                        //        stxp        w15, w3, w9, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   319
    __ stlxpw(r18, r17, r4, r9);                       //        stlxp        w18, w17, w4, [x9]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   320
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   321
// base_plus_unscaled_offset
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   322
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   323
    __ str(r23, Address(r21, -49));                    //        str        x23, [x21, -49]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   324
    __ strw(r21, Address(r2, 63));                     //        str        w21, [x2, 63]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   325
    __ strb(r27, Address(r28, 11));                    //        strb        w27, [x28, 11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   326
    __ strh(r29, Address(r15, -13));                   //        strh        w29, [x15, -13]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   327
    __ ldr(r14, Address(r30, -45));                    //        ldr        x14, [x30, -45]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   328
    __ ldrw(r29, Address(r28, 53));                    //        ldr        w29, [x28, 53]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   329
    __ ldrb(r20, Address(r26, 7));                     //        ldrb        w20, [x26, 7]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   330
    __ ldrh(r25, Address(r2, -50));                    //        ldrh        w25, [x2, -50]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   331
    __ ldrsb(r3, Address(r10, -15));                   //        ldrsb        x3, [x10, -15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   332
    __ ldrsh(r14, Address(r15, 19));                   //        ldrsh        x14, [x15, 19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   333
    __ ldrshw(r29, Address(r11, -5));                  //        ldrsh        w29, [x11, -5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   334
    __ ldrsw(r15, Address(r5, -71));                   //        ldrsw        x15, [x5, -71]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   335
    __ ldrd(v19, Address(r12, 3));                     //        ldr        d19, [x12, 3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   336
    __ ldrs(v12, Address(r27, 42));                    //        ldr        s12, [x27, 42]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   337
    __ strd(v22, Address(r28, 125));                   //        str        d22, [x28, 125]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   338
    __ strs(v24, Address(r15, -20));                   //        str        s24, [x15, -20]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   339
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   340
// pre
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   341
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   342
    __ str(r8, Address(__ pre(r28, -24)));             //        str        x8, [x28, -24]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   343
    __ strw(r6, Address(__ pre(r15, 37)));             //        str        w6, [x15, 37]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   344
    __ strb(r7, Address(__ pre(r1, 7)));               //        strb        w7, [x1, 7]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   345
    __ strh(r0, Address(__ pre(r17, 30)));             //        strh        w0, [x17, 30]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   346
    __ ldr(r25, Address(__ pre(r29, 84)));             //        ldr        x25, [x29, 84]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   347
    __ ldrw(r26, Address(__ pre(r20, -52)));           //        ldr        w26, [x20, -52]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   348
    __ ldrb(r26, Address(__ pre(r29, -25)));           //        ldrb        w26, [x29, -25]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   349
    __ ldrh(r4, Address(__ pre(r25, 26)));             //        ldrh        w4, [x25, 26]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   350
    __ ldrsb(r28, Address(__ pre(r8, -21)));           //        ldrsb        x28, [x8, -21]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   351
    __ ldrsh(r17, Address(__ pre(r14, -6)));           //        ldrsh        x17, [x14, -6]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   352
    __ ldrshw(r28, Address(__ pre(r23, 10)));          //        ldrsh        w28, [x23, 10]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   353
    __ ldrsw(r30, Address(__ pre(r27, -64)));          //        ldrsw        x30, [x27, -64]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   354
    __ ldrd(v20, Address(__ pre(r30, -242)));          //        ldr        d20, [x30, -242]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   355
    __ ldrs(v17, Address(__ pre(r27, 20)));            //        ldr        s17, [x27, 20]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   356
    __ strd(v7, Address(__ pre(r3, 17)));              //        str        d7, [x3, 17]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   357
    __ strs(v13, Address(__ pre(r11, -16)));           //        str        s13, [x11, -16]!
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   358
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   359
// post
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   360
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   361
    __ str(r6, Address(__ post(r9, -61)));             //        str        x6, [x9], -61
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   362
    __ strw(r16, Address(__ post(r5, -29)));           //        str        w16, [x5], -29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   363
    __ strb(r29, Address(__ post(r29, 15)));           //        strb        w29, [x29], 15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   364
    __ strh(r4, Address(__ post(r20, 18)));            //        strh        w4, [x20], 18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   365
    __ ldr(r19, Address(__ post(r18, 46)));            //        ldr        x19, [x18], 46
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   366
    __ ldrw(r22, Address(__ post(r2, 23)));            //        ldr        w22, [x2], 23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   367
    __ ldrb(r7, Address(__ post(r3, -30)));            //        ldrb        w7, [x3], -30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   368
    __ ldrh(r11, Address(__ post(r12, -29)));          //        ldrh        w11, [x12], -29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   369
    __ ldrsb(r8, Address(__ post(r6, -29)));           //        ldrsb        x8, [x6], -29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   370
    __ ldrsh(r24, Address(__ post(r23, 4)));           //        ldrsh        x24, [x23], 4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   371
    __ ldrshw(r17, Address(__ post(r16, 0)));          //        ldrsh        w17, [x16], 0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   372
    __ ldrsw(r0, Address(__ post(r20, -8)));           //        ldrsw        x0, [x20], -8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   373
    __ ldrd(v20, Address(__ post(r2, -126)));          //        ldr        d20, [x2], -126
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   374
    __ ldrs(v19, Address(__ post(r30, -104)));         //        ldr        s19, [x30], -104
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   375
    __ strd(v4, Address(__ post(r17, 118)));           //        str        d4, [x17], 118
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   376
    __ strs(v21, Address(__ post(r19, -112)));         //        str        s21, [x19], -112
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   377
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   378
// base_plus_reg
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   379
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   380
    __ str(r26, Address(r2, r19, Address::lsl(3)));    //        str        x26, [x2, x19, lsl #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   381
    __ strw(r9, Address(r0, r15, Address::sxtw(2)));   //        str        w9, [x0, w15, sxtw #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   382
    __ strb(r26, Address(r12, r1, Address::lsl(0)));   //        strb        w26, [x12, x1, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   383
    __ strh(r21, Address(r11, r10, Address::lsl(1)));  //        strh        w21, [x11, x10, lsl #1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   384
    __ ldr(r16, Address(r23, r16, Address::sxtx(0)));  //        ldr        x16, [x23, x16, sxtx #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   385
    __ ldrw(r10, Address(r11, r17, Address::sxtw(2))); //        ldr        w10, [x11, w17, sxtw #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   386
    __ ldrb(r13, Address(r23, r11, Address::lsl(0)));  //        ldrb        w13, [x23, x11, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   387
    __ ldrh(r27, Address(r4, r21, Address::lsl(0)));   //        ldrh        w27, [x4, x21, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   388
    __ ldrsb(r26, Address(r8, r15, Address::sxtw(0))); //        ldrsb        x26, [x8, w15, sxtw #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   389
    __ ldrsh(r21, Address(r10, r2, Address::sxtw(0))); //        ldrsh        x21, [x10, w2, sxtw #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   390
    __ ldrshw(r8, Address(r30, r14, Address::lsl(0))); //        ldrsh        w8, [x30, x14, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   391
    __ ldrsw(r29, Address(r14, r20, Address::sxtx(2))); //        ldrsw        x29, [x14, x20, sxtx #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   392
    __ ldrd(v30, Address(r27, r22, Address::sxtx(0))); //        ldr        d30, [x27, x22, sxtx #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   393
    __ ldrs(v13, Address(r9, r22, Address::lsl(0)));   //        ldr        s13, [x9, x22, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   394
    __ strd(v8, Address(r25, r17, Address::sxtw(3)));  //        str        d8, [x25, w17, sxtw #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   395
    __ strs(v1, Address(r24, r5, Address::uxtw(2)));   //        str        s1, [x24, w5, uxtw #2]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   396
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   397
// base_plus_scaled_offset
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   398
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   399
    __ str(r10, Address(r21, 14496));                  //        str        x10, [x21, 14496]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   400
    __ strw(r18, Address(r29, 7228));                  //        str        w18, [x29, 7228]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   401
    __ strb(r23, Address(r3, 2018));                   //        strb        w23, [x3, 2018]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   402
    __ strh(r28, Address(r11, 3428));                  //        strh        w28, [x11, 3428]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   403
    __ ldr(r24, Address(r26, 14376));                  //        ldr        x24, [x26, 14376]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   404
    __ ldrw(r21, Address(r2, 6972));                   //        ldr        w21, [x2, 6972]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   405
    __ ldrb(r4, Address(r5, 1848));                    //        ldrb        w4, [x5, 1848]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   406
    __ ldrh(r14, Address(r14, 3112));                  //        ldrh        w14, [x14, 3112]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   407
    __ ldrsb(r4, Address(r27, 1959));                  //        ldrsb        x4, [x27, 1959]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   408
    __ ldrsh(r4, Address(r27, 3226));                  //        ldrsh        x4, [x27, 3226]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   409
    __ ldrshw(r10, Address(r28, 3286));                //        ldrsh        w10, [x28, 3286]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   410
    __ ldrsw(r10, Address(r17, 7912));                 //        ldrsw        x10, [x17, 7912]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   411
    __ ldrd(v13, Address(r28, 13400));                 //        ldr        d13, [x28, 13400]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   412
    __ ldrs(v24, Address(r3, 7596));                   //        ldr        s24, [x3, 7596]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   413
    __ strd(v2, Address(r12, 15360));                  //        str        d2, [x12, 15360]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   414
    __ strs(v17, Address(r1, 6492));                   //        str        s17, [x1, 6492]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   415
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   416
// pcrel
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   417
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   418
    __ ldr(r16, __ pc());                              //        ldr        x16, .
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   419
    __ ldrw(r13, __ pc());                             //        ldr        w13, .
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   420
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   421
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   422
    __ prfm(Address(r18, -127));                       //        prfm        PLDL1KEEP, [x18, -127]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   423
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   424
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   425
    __ prfm(back);                                     //        prfm        PLDL1KEEP, back
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   426
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   427
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   428
    __ prfm(Address(r20, r2, Address::lsl(3)));        //        prfm        PLDL1KEEP, [x20, x2, lsl #3]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   429
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   430
// LoadStoreOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   431
    __ prfm(Address(r9, 13808));                       //        prfm        PLDL1KEEP, [x9, 13808]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   432
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   433
// AddSubCarryOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   434
    __ adcw(r8, r23, r2);                              //        adc        w8, w23, w2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   435
    __ adcsw(r24, r3, r19);                            //        adcs        w24, w3, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   436
    __ sbcw(r22, r24, r29);                            //        sbc        w22, w24, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   437
    __ sbcsw(r12, r27, r3);                            //        sbcs        w12, w27, w3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   438
    __ adc(r11, r23, r1);                              //        adc        x11, x23, x1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   439
    __ adcs(r29, r5, r23);                             //        adcs        x29, x5, x23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   440
    __ sbc(r9, r25, r12);                              //        sbc        x9, x25, x12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   441
    __ sbcs(r12, r0, r22);                             //        sbcs        x12, x0, x22
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   442
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   443
// AddSubExtendedOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   444
    __ addw(r26, r12, r3, ext::uxtw, 1);               //        add        w26, w12, w3, uxtw #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   445
    __ addsw(r20, r16, r18, ext::sxtb, 2);             //        adds        w20, w16, w18, sxtb #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   446
    __ sub(r30, r30, r7, ext::uxtw, 2);                //        sub        x30, x30, x7, uxtw #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   447
    __ subsw(r11, r21, r2, ext::uxth, 3);              //        subs        w11, w21, w2, uxth #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   448
    __ add(r2, r26, r1, ext::uxtw, 2);                 //        add        x2, x26, x1, uxtw #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   449
    __ adds(r18, r29, r20, ext::sxth, 1);              //        adds        x18, x29, x20, sxth #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   450
    __ sub(r14, r16, r4, ext::uxtw, 4);                //        sub        x14, x16, x4, uxtw #4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   451
    __ subs(r0, r17, r23, ext::sxtb, 3);               //        subs        x0, x17, x23, sxtb #3
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   452
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   453
// ConditionalCompareOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   454
    __ ccmnw(r20, r22, 3u, Assembler::PL);             //        ccmn        w20, w22, #3, PL
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   455
    __ ccmpw(r25, r2, 1u, Assembler::EQ);              //        ccmp        w25, w2, #1, EQ
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   456
    __ ccmn(r18, r24, 7u, Assembler::GT);              //        ccmn        x18, x24, #7, GT
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   457
    __ ccmp(r8, r13, 6u, Assembler::PL);               //        ccmp        x8, x13, #6, PL
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   458
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   459
// ConditionalCompareImmedOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   460
    __ ccmnw(r9, 2, 4, Assembler::VS);                 //        ccmn        w9, #2, #4, VS
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   461
    __ ccmpw(r2, 27, 7, Assembler::EQ);                //        ccmp        w2, #27, #7, EQ
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   462
    __ ccmn(r16, 1, 2, Assembler::CC);                 //        ccmn        x16, #1, #2, CC
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   463
    __ ccmp(r17, 31, 3, Assembler::LT);                //        ccmp        x17, #31, #3, LT
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   464
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   465
// ConditionalSelectOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   466
    __ cselw(r23, r27, r23, Assembler::LS);            //        csel        w23, w27, w23, LS
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   467
    __ csincw(r10, r0, r6, Assembler::VS);             //        csinc        w10, w0, w6, VS
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   468
    __ csinvw(r11, r0, r9, Assembler::CC);             //        csinv        w11, w0, w9, CC
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   469
    __ csnegw(r17, r27, r18, Assembler::LO);           //        csneg        w17, w27, w18, LO
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   470
    __ csel(r12, r16, r11, Assembler::VC);             //        csel        x12, x16, x11, VC
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   471
    __ csinc(r6, r28, r6, Assembler::HI);              //        csinc        x6, x28, x6, HI
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   472
    __ csinv(r13, r27, r26, Assembler::VC);            //        csinv        x13, x27, x26, VC
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   473
    __ csneg(r29, r22, r18, Assembler::PL);            //        csneg        x29, x22, x18, PL
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   474
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   475
// TwoRegOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   476
    __ rbitw(r12, r19);                                //        rbit        w12, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   477
    __ rev16w(r23, r18);                               //        rev16        w23, w18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   478
    __ revw(r9, r28);                                  //        rev        w9, w28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   479
    __ clzw(r2, r19);                                  //        clz        w2, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   480
    __ clsw(r25, r29);                                 //        cls        w25, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   481
    __ rbit(r4, r23);                                  //        rbit        x4, x23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   482
    __ rev16(r29, r18);                                //        rev16        x29, x18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   483
    __ rev32(r7, r8);                                  //        rev32        x7, x8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   484
    __ rev(r13, r17);                                  //        rev        x13, x17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   485
    __ clz(r17, r0);                                   //        clz        x17, x0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   486
    __ cls(r18, r26);                                  //        cls        x18, x26
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   487
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   488
// ThreeRegOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   489
    __ udivw(r11, r12, r16);                           //        udiv        w11, w12, w16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   490
    __ sdivw(r4, r9, r7);                              //        sdiv        w4, w9, w7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   491
    __ lslvw(r12, r7, r16);                            //        lslv        w12, w7, w16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   492
    __ lsrvw(r19, r16, r23);                           //        lsrv        w19, w16, w23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   493
    __ asrvw(r7, r4, r6);                              //        asrv        w7, w4, w6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   494
    __ rorvw(r21, r20, r23);                           //        rorv        w21, w20, w23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   495
    __ udiv(r16, r12, r28);                            //        udiv        x16, x12, x28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   496
    __ sdiv(r4, r12, r13);                             //        sdiv        x4, x12, x13
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   497
    __ lslv(r9, r13, r7);                              //        lslv        x9, x13, x7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   498
    __ lsrv(r28, r27, r15);                            //        lsrv        x28, x27, x15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   499
    __ asrv(r20, r30, r14);                            //        asrv        x20, x30, x14
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   500
    __ rorv(r14, r18, r30);                            //        rorv        x14, x18, x30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   501
    __ umulh(r3, r11, r7);                             //        umulh        x3, x11, x7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   502
    __ smulh(r23, r20, r24);                           //        smulh        x23, x20, x24
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   503
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   504
// FourRegMulOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   505
    __ maddw(r2, r5, r21, r9);                         //        madd        w2, w5, w21, w9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   506
    __ msubw(r24, r24, r4, r8);                        //        msub        w24, w24, w4, w8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   507
    __ madd(r11, r12, r15, r19);                       //        madd        x11, x12, x15, x19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   508
    __ msub(r29, r25, r12, r25);                       //        msub        x29, x25, x12, x25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   509
    __ smaddl(r17, r11, r12, r22);                     //        smaddl        x17, w11, w12, x22
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   510
    __ smsubl(r28, r3, r20, r18);                      //        smsubl        x28, w3, w20, x18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   511
    __ umaddl(r7, r4, r28, r26);                       //        umaddl        x7, w4, w28, x26
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   512
    __ umsubl(r22, r10, r17, r5);                      //        umsubl        x22, w10, w17, x5
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   513
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   514
// ThreeRegFloatOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   515
    __ fmuls(v17, v3, v17);                            //        fmul        s17, s3, s17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   516
    __ fdivs(v11, v17, v6);                            //        fdiv        s11, s17, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   517
    __ fadds(v29, v7, v9);                             //        fadd        s29, s7, s9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   518
    __ fsubs(v7, v12, v19);                            //        fsub        s7, s12, s19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   519
    __ fmuls(v0, v23, v3);                             //        fmul        s0, s23, s3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   520
    __ fmuld(v26, v3, v21);                            //        fmul        d26, d3, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   521
    __ fdivd(v0, v19, v5);                             //        fdiv        d0, d19, d5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   522
    __ faddd(v0, v26, v9);                             //        fadd        d0, d26, d9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   523
    __ fsubd(v25, v21, v21);                           //        fsub        d25, d21, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   524
    __ fmuld(v16, v13, v19);                           //        fmul        d16, d13, d19
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   525
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   526
// FourRegFloatOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   527
    __ fmadds(v29, v18, v0, v16);                      //        fmadd        s29, s18, s0, s16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   528
    __ fmsubs(v23, v13, v29, v5);                      //        fmsub        s23, s13, s29, s5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   529
    __ fnmadds(v9, v7, v10, v14);                      //        fnmadd        s9, s7, s10, s14
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   530
    __ fnmadds(v25, v28, v15, v23);                    //        fnmadd        s25, s28, s15, s23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   531
    __ fmaddd(v6, v13, v21, v17);                      //        fmadd        d6, d13, d21, d17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   532
    __ fmsubd(v3, v21, v2, v7);                        //        fmsub        d3, d21, d2, d7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   533
    __ fnmaddd(v10, v25, v5, v17);                     //        fnmadd        d10, d25, d5, d17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   534
    __ fnmaddd(v14, v14, v20, v18);                    //        fnmadd        d14, d14, d20, d18
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   535
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   536
// TwoRegFloatOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   537
    __ fmovs(v15, v2);                                 //        fmov        s15, s2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   538
    __ fabss(v18, v7);                                 //        fabs        s18, s7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   539
    __ fnegs(v3, v6);                                  //        fneg        s3, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   540
    __ fsqrts(v12, v1);                                //        fsqrt        s12, s1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   541
    __ fcvts(v9, v0);                                  //        fcvt        d9, s0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   542
    __ fmovd(v4, v5);                                  //        fmov        d4, d5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   543
    __ fabsd(v3, v15);                                 //        fabs        d3, d15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   544
    __ fnegd(v17, v25);                                //        fneg        d17, d25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   545
    __ fsqrtd(v12, v24);                               //        fsqrt        d12, d24
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   546
    __ fcvtd(v21, v5);                                 //        fcvt        s21, d5
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   547
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   548
// FloatConvertOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   549
    __ fcvtzsw(r4, v21);                               //        fcvtzs        w4, s21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   550
    __ fcvtzs(r27, v3);                                //        fcvtzs        x27, s3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   551
    __ fcvtzdw(r29, v8);                               //        fcvtzs        w29, d8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   552
    __ fcvtzd(r9, v21);                                //        fcvtzs        x9, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   553
    __ scvtfws(v20, r29);                              //        scvtf        s20, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   554
    __ scvtfs(v7, r8);                                 //        scvtf        s7, x8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   555
    __ scvtfwd(v12, r21);                              //        scvtf        d12, w21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   556
    __ scvtfd(v16, r21);                               //        scvtf        d16, x21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   557
    __ fmovs(r18, v5);                                 //        fmov        w18, s5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   558
    __ fmovd(r25, v8);                                 //        fmov        x25, d8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   559
    __ fmovs(v18, r26);                                //        fmov        s18, w26
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   560
    __ fmovd(v0, r11);                                 //        fmov        d0, x11
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   561
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   562
// TwoRegFloatOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   563
    __ fcmps(v16, v6);                                 //        fcmp        s16, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   564
    __ fcmpd(v16, v29);                                //        fcmp        d16, d29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   565
    __ fcmps(v30, 0.0);                                //        fcmp        s30, #0.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   566
    __ fcmpd(v9, 0.0);                                 //        fcmp        d9, #0.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   567
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   568
// LoadStorePairOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   569
    __ stpw(r27, r4, Address(r12, -16));               //        stp        w27, w4, [x12, #-16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   570
    __ ldpw(r3, r9, Address(r10, 80));                 //        ldp        w3, w9, [x10, #80]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   571
    __ ldpsw(r16, r3, Address(r3, 64));                //        ldpsw        x16, x3, [x3, #64]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   572
    __ stp(r10, r28, Address(r19, -192));              //        stp        x10, x28, [x19, #-192]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   573
    __ ldp(r19, r18, Address(r7, -192));               //        ldp        x19, x18, [x7, #-192]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   574
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   575
// LoadStorePairOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   576
    __ stpw(r10, r16, Address(__ pre(r30, 16)));       //        stp        w10, w16, [x30, #16]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   577
    __ ldpw(r2, r4, Address(__ pre(r18, -240)));       //        ldp        w2, w4, [x18, #-240]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   578
    __ ldpsw(r24, r19, Address(__ pre(r13, 48)));      //        ldpsw        x24, x19, [x13, #48]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   579
    __ stp(r17, r0, Address(__ pre(r24, 0)));          //        stp        x17, x0, [x24, #0]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   580
    __ ldp(r14, r26, Address(__ pre(r3, -192)));       //        ldp        x14, x26, [x3, #-192]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   581
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   582
// LoadStorePairOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   583
    __ stpw(r22, r1, Address(__ post(r0, 80)));        //        stp        w22, w1, [x0], #80
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   584
    __ ldpw(r18, r10, Address(__ post(r0, -16)));      //        ldp        w18, w10, [x0], #-16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   585
    __ ldpsw(r24, r24, Address(__ post(r22, -16)));    //        ldpsw        x24, x24, [x22], #-16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   586
    __ stp(r12, r12, Address(__ post(r4, 80)));        //        stp        x12, x12, [x4], #80
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   587
    __ ldp(r4, r9, Address(__ post(r19, -240)));       //        ldp        x4, x9, [x19], #-240
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   588
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   589
// LoadStorePairOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   590
    __ stnpw(r18, r26, Address(r6, -224));             //        stnp        w18, w26, [x6, #-224]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   591
    __ ldnpw(r21, r20, Address(r1, 112));              //        ldnp        w21, w20, [x1, #112]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   592
    __ stnp(r25, r29, Address(r20, -224));             //        stnp        x25, x29, [x20, #-224]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   593
    __ ldnp(r1, r5, Address(r23, 112));                //        ldnp        x1, x5, [x23, #112]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   594
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   595
// LdStSIMDOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   596
    __ ld1(v4, __ T8B, Address(r20));                  //        ld1        {v4.8B}, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   597
    __ ld1(v24, v25, __ T16B, Address(__ post(r10, 32))); //        ld1        {v24.16B, v25.16B}, [x10], 32
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   598
    __ ld1(v24, v25, v26, __ T1D, Address(__ post(r6, r15))); //        ld1        {v24.1D, v25.1D, v26.1D}, [x6], x15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   599
    __ ld1(v3, v4, v5, v6, __ T8H, Address(__ post(r4, 64))); //        ld1        {v3.8H, v4.8H, v5.8H, v6.8H}, [x4], 64
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   600
    __ ld1r(v2, __ T8B, Address(r6));                  //        ld1r        {v2.8B}, [x6]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   601
    __ ld1r(v13, __ T4S, Address(__ post(r14, 4)));    //        ld1r        {v13.4S}, [x14], 4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   602
    __ ld1r(v15, __ T1D, Address(__ post(r21, r24)));  //        ld1r        {v15.1D}, [x21], x24
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   603
    __ ld2(v9, v10, __ T2D, Address(r21));             //        ld2        {v9.2D, v10.2D}, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   604
    __ ld2(v29, v30, __ T4H, Address(__ post(r21, 16))); //        ld2        {v29.4H, v30.4H}, [x21], 16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   605
    __ ld2r(v8, v9, __ T16B, Address(r14));            //        ld2r        {v8.16B, v9.16B}, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   606
    __ ld2r(v7, v8, __ T2S, Address(__ post(r20, 8))); //        ld2r        {v7.2S, v8.2S}, [x20], 8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   607
    __ ld2r(v28, v29, __ T2D, Address(__ post(r3, r3))); //        ld2r        {v28.2D, v29.2D}, [x3], x3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   608
    __ ld3(v27, v28, v29, __ T4S, Address(__ post(r11, r29))); //        ld3        {v27.4S, v28.4S, v29.4S}, [x11], x29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   609
    __ ld3(v16, v17, v18, __ T2S, Address(r10));       //        ld3        {v16.2S, v17.2S, v18.2S}, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   610
    __ ld3r(v21, v22, v23, __ T8H, Address(r12));      //        ld3r        {v21.8H, v22.8H, v23.8H}, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   611
    __ ld3r(v4, v5, v6, __ T4S, Address(__ post(r29, 12))); //        ld3r        {v4.4S, v5.4S, v6.4S}, [x29], 12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   612
    __ ld3r(v24, v25, v26, __ T1D, Address(__ post(r9, r19))); //        ld3r        {v24.1D, v25.1D, v26.1D}, [x9], x19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   613
    __ ld4(v10, v11, v12, v13, __ T8H, Address(__ post(r3, 64))); //        ld4        {v10.8H, v11.8H, v12.8H, v13.8H}, [x3], 64
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   614
    __ ld4(v27, v28, v29, v30, __ T8B, Address(__ post(r28, r9))); //        ld4        {v27.8B, v28.8B, v29.8B, v30.8B}, [x28], x9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   615
    __ ld4r(v21, v22, v23, v24, __ T8B, Address(r30)); //        ld4r        {v21.8B, v22.8B, v23.8B, v24.8B}, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   616
    __ ld4r(v23, v24, v25, v26, __ T4H, Address(__ post(r14, 8))); //        ld4r        {v23.4H, v24.4H, v25.4H, v26.4H}, [x14], 8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   617
    __ ld4r(v4, v5, v6, v7, __ T2S, Address(__ post(r13, r20))); //        ld4r        {v4.2S, v5.2S, v6.2S, v7.2S}, [x13], x20
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   618
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   619
// SpecialCases
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   620
    __ ccmn(zr, zr, 3u, Assembler::LE);                //        ccmn        xzr, xzr, #3, LE
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   621
    __ ccmnw(zr, zr, 5u, Assembler::EQ);               //        ccmn        wzr, wzr, #5, EQ
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   622
    __ ccmp(zr, 1, 4u, Assembler::NE);                 //        ccmp        xzr, 1, #4, NE
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   623
    __ ccmpw(zr, 2, 2, Assembler::GT);                 //        ccmp        wzr, 2, #2, GT
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   624
    __ extr(zr, zr, zr, 0);                            //        extr        xzr, xzr, xzr, 0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   625
    __ stlxp(r0, zr, zr, sp);                          //        stlxp        w0, xzr, xzr, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   626
    __ stlxpw(r2, zr, zr, r3);                         //        stlxp        w2, wzr, wzr, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   627
    __ stxp(r4, zr, zr, r5);                           //        stxp        w4, xzr, xzr, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   628
    __ stxpw(r6, zr, zr, sp);                          //        stxp        w6, wzr, wzr, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   629
    __ dup(v0, __ T16B, zr);                           //        dup        v0.16b, wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   630
    __ mov(v1, __ T1D, 0, zr);                         //        mov        v1.d[0], xzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   631
    __ mov(v1, __ T2S, 1, zr);                         //        mov        v1.s[1], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   632
    __ mov(v1, __ T4H, 2, zr);                         //        mov        v1.h[2], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   633
    __ mov(v1, __ T8B, 3, zr);                         //        mov        v1.b[3], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   634
    __ ld1(v31, v0, __ T2D, Address(__ post(r1, r0))); //        ld1        {v31.2d, v0.2d}, [x1], x0
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   635
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   636
// FloatImmediateOp
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   637
    __ fmovd(v0, 2.0);                                 //        fmov d0, #2.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   638
    __ fmovd(v0, 2.125);                               //        fmov d0, #2.125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   639
    __ fmovd(v0, 4.0);                                 //        fmov d0, #4.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   640
    __ fmovd(v0, 4.25);                                //        fmov d0, #4.25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   641
    __ fmovd(v0, 8.0);                                 //        fmov d0, #8.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   642
    __ fmovd(v0, 8.5);                                 //        fmov d0, #8.5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   643
    __ fmovd(v0, 16.0);                                //        fmov d0, #16.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   644
    __ fmovd(v0, 17.0);                                //        fmov d0, #17.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   645
    __ fmovd(v0, 0.125);                               //        fmov d0, #0.125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   646
    __ fmovd(v0, 0.1328125);                           //        fmov d0, #0.1328125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   647
    __ fmovd(v0, 0.25);                                //        fmov d0, #0.25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   648
    __ fmovd(v0, 0.265625);                            //        fmov d0, #0.265625
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   649
    __ fmovd(v0, 0.5);                                 //        fmov d0, #0.5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   650
    __ fmovd(v0, 0.53125);                             //        fmov d0, #0.53125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   651
    __ fmovd(v0, 1.0);                                 //        fmov d0, #1.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   652
    __ fmovd(v0, 1.0625);                              //        fmov d0, #1.0625
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   653
    __ fmovd(v0, -2.0);                                //        fmov d0, #-2.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   654
    __ fmovd(v0, -2.125);                              //        fmov d0, #-2.125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   655
    __ fmovd(v0, -4.0);                                //        fmov d0, #-4.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   656
    __ fmovd(v0, -4.25);                               //        fmov d0, #-4.25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   657
    __ fmovd(v0, -8.0);                                //        fmov d0, #-8.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   658
    __ fmovd(v0, -8.5);                                //        fmov d0, #-8.5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   659
    __ fmovd(v0, -16.0);                               //        fmov d0, #-16.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   660
    __ fmovd(v0, -17.0);                               //        fmov d0, #-17.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   661
    __ fmovd(v0, -0.125);                              //        fmov d0, #-0.125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   662
    __ fmovd(v0, -0.1328125);                          //        fmov d0, #-0.1328125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   663
    __ fmovd(v0, -0.25);                               //        fmov d0, #-0.25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   664
    __ fmovd(v0, -0.265625);                           //        fmov d0, #-0.265625
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   665
    __ fmovd(v0, -0.5);                                //        fmov d0, #-0.5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   666
    __ fmovd(v0, -0.53125);                            //        fmov d0, #-0.53125
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   667
    __ fmovd(v0, -1.0);                                //        fmov d0, #-1.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   668
    __ fmovd(v0, -1.0625);                             //        fmov d0, #-1.0625
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   669
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   670
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   671
    __ swp(Assembler::xword, r21, r5, r24);            //        swp        x21, x5, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   672
    __ ldadd(Assembler::xword, r13, r13, r15);         //        ldadd        x13, x13, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   673
    __ ldbic(Assembler::xword, r22, r19, r26);         //        ldclr        x22, x19, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   674
    __ ldeor(Assembler::xword, r25, r10, r26);         //        ldeor        x25, x10, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   675
    __ ldorr(Assembler::xword, r5, r27, r15);          //        ldset        x5, x27, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   676
    __ ldsmin(Assembler::xword, r19, r5, r11);         //        ldsmin        x19, x5, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   677
    __ ldsmax(Assembler::xword, r26, r0, r4);          //        ldsmax        x26, x0, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   678
    __ ldumin(Assembler::xword, r22, r23, r30);        //        ldumin        x22, x23, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   679
    __ ldumax(Assembler::xword, r18, r28, r8);         //        ldumax        x18, x28, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   680
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   681
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   682
    __ swpa(Assembler::xword, r13, r29, r27);          //        swpa        x13, x29, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   683
    __ ldadda(Assembler::xword, r11, r5, r13);         //        ldadda        x11, x5, [x13]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   684
    __ ldbica(Assembler::xword, r1, r24, r21);         //        ldclra        x1, x24, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   685
    __ ldeora(Assembler::xword, r27, r17, r24);        //        ldeora        x27, x17, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   686
    __ ldorra(Assembler::xword, r18, r30, r5);         //        ldseta        x18, x30, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   687
    __ ldsmina(Assembler::xword, r7, r22, r25);        //        ldsmina        x7, x22, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   688
    __ ldsmaxa(Assembler::xword, r4, r26, r19);        //        ldsmaxa        x4, x26, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   689
    __ ldumina(Assembler::xword, r6, r30, r3);         //        ldumina        x6, x30, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   690
    __ ldumaxa(Assembler::xword, r24, r23, r5);        //        ldumaxa        x24, x23, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   691
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   692
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   693
    __ swpal(Assembler::xword, r24, r18, r28);         //        swpal        x24, x18, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   694
    __ ldaddal(Assembler::xword, r19, zr, r7);         //        ldaddal        x19, xzr, [x7]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   695
    __ ldbical(Assembler::xword, r13, r6, r28);        //        ldclral        x13, x6, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   696
    __ ldeoral(Assembler::xword, r8, r15, r21);        //        ldeoral        x8, x15, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   697
    __ ldorral(Assembler::xword, r2, r13, r1);         //        ldsetal        x2, x13, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   698
    __ ldsminal(Assembler::xword, r17, r29, r25);      //        ldsminal        x17, x29, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   699
    __ ldsmaxal(Assembler::xword, r25, r18, r14);      //        ldsmaxal        x25, x18, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   700
    __ lduminal(Assembler::xword, zr, r6, r27);        //        lduminal        xzr, x6, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   701
    __ ldumaxal(Assembler::xword, r16, r5, r15);       //        ldumaxal        x16, x5, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   702
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   703
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   704
    __ swpl(Assembler::xword, r11, r18, r3);           //        swpl        x11, x18, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   705
    __ ldaddl(Assembler::xword, r26, r20, r2);         //        ldaddl        x26, x20, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   706
    __ ldbicl(Assembler::xword, r11, r4, r11);         //        ldclrl        x11, x4, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   707
    __ ldeorl(Assembler::xword, r30, r19, r23);        //        ldeorl        x30, x19, [x23]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   708
    __ ldorrl(Assembler::xword, r3, r15, r14);         //        ldsetl        x3, x15, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   709
    __ ldsminl(Assembler::xword, r30, r22, r20);       //        ldsminl        x30, x22, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   710
    __ ldsmaxl(Assembler::xword, r7, r5, r24);         //        ldsmaxl        x7, x5, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   711
    __ lduminl(Assembler::xword, r23, r16, r15);       //        lduminl        x23, x16, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   712
    __ ldumaxl(Assembler::xword, r11, r19, r0);        //        ldumaxl        x11, x19, [x0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   713
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   714
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   715
    __ swp(Assembler::word, r28, r28, r1);             //        swp        w28, w28, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   716
    __ ldadd(Assembler::word, r11, r21, r12);          //        ldadd        w11, w21, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   717
    __ ldbic(Assembler::word, r29, r0, r18);           //        ldclr        w29, w0, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   718
    __ ldeor(Assembler::word, r5, r0, r25);            //        ldeor        w5, w0, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   719
    __ ldorr(Assembler::word, r14, r0, r26);           //        ldset        w14, w0, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   720
    __ ldsmin(Assembler::word, r28, r18, r29);         //        ldsmin        w28, w18, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   721
    __ ldsmax(Assembler::word, r15, r1, r29);          //        ldsmax        w15, w1, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   722
    __ ldumin(Assembler::word, r8, r26, r28);          //        ldumin        w8, w26, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   723
    __ ldumax(Assembler::word, r17, r14, r4);          //        ldumax        w17, w14, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   724
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   725
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   726
    __ swpa(Assembler::word, r24, r25, r1);            //        swpa        w24, w25, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   727
    __ ldadda(Assembler::word, r10, r17, r17);         //        ldadda        w10, w17, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   728
    __ ldbica(Assembler::word, r29, r20, r21);         //        ldclra        w29, w20, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   729
    __ ldeora(Assembler::word, r29, r9, r12);          //        ldeora        w29, w9, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   730
    __ ldorra(Assembler::word, r11, r6, r5);           //        ldseta        w11, w6, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   731
    __ ldsmina(Assembler::word, r21, r7, r21);         //        ldsmina        w21, w7, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   732
    __ ldsmaxa(Assembler::word, r10, r23, r12);        //        ldsmaxa        w10, w23, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   733
    __ ldumina(Assembler::word, r21, r5, r10);         //        ldumina        w21, w5, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   734
    __ ldumaxa(Assembler::word, r30, r20, r18);        //        ldumaxa        w30, w20, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   735
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   736
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   737
    __ swpal(Assembler::word, r13, r23, r5);           //        swpal        w13, w23, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   738
    __ ldaddal(Assembler::word, r15, r24, r5);         //        ldaddal        w15, w24, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   739
    __ ldbical(Assembler::word, r9, r10, r25);         //        ldclral        w9, w10, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   740
    __ ldeoral(Assembler::word, r20, r17, r17);        //        ldeoral        w20, w17, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   741
    __ ldorral(Assembler::word, r12, r18, r30);        //        ldsetal        w12, w18, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   742
    __ ldsminal(Assembler::word, r3, r3, r25);         //        ldsminal        w3, w3, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   743
    __ ldsmaxal(Assembler::word, r26, r25, r10);       //        ldsmaxal        w26, w25, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   744
    __ lduminal(Assembler::word, r2, r11, sp);         //        lduminal        w2, w11, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   745
    __ ldumaxal(Assembler::word, r7, r2, r5);          //        ldumaxal        w7, w2, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   746
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   747
// LSEOp
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   748
    __ swpl(Assembler::word, r0, r7, r20);             //        swpl        w0, w7, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   749
    __ ldaddl(Assembler::word, r5, zr, r2);            //        ldaddl        w5, wzr, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   750
    __ ldbicl(Assembler::word, r27, r25, r27);         //        ldclrl        w27, w25, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   751
    __ ldeorl(Assembler::word, r30, r24, r26);         //        ldeorl        w30, w24, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   752
    __ ldorrl(Assembler::word, r15, r2, r22);          //        ldsetl        w15, w2, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   753
    __ ldsminl(Assembler::word, r0, r3, sp);           //        ldsminl        w0, w3, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   754
    __ ldsmaxl(Assembler::word, r15, r20, r10);        //        ldsmaxl        w15, w20, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   755
    __ lduminl(Assembler::word, r22, r21, r14);        //        lduminl        w22, w21, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   756
    __ ldumaxl(Assembler::word, r6, r30, r2);          //        ldumaxl        w6, w30, [x2]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   757
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   758
    __ bind(forth);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   759
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   760
/*
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   761
aarch64ops.o:     file format elf64-littleaarch64
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   762
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   763
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   764
Disassembly of section .text:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   765
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
   766
0000000000000000 <back>:
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   767
   0:        8b50798f         add        x15, x12, x16, lsr #30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   768
   4:        cb4381e1         sub        x1, x15, x3, lsr #32
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   769
   8:        ab05372d         adds        x13, x25, x5, lsl #13
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   770
   c:        eb864796         subs        x22, x28, x6, asr #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   771
  10:        0b961920         add        w0, w9, w22, asr #6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   772
  14:        4b195473         sub        w19, w3, w25, lsl #21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   773
  18:        2b0b5264         adds        w4, w19, w11, lsl #20
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   774
  1c:        6b9300f8         subs        w24, w7, w19, asr #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   775
  20:        8a0bc0fe         and        x30, x7, x11, lsl #48
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   776
  24:        aa0f3118         orr        x24, x8, x15, lsl #12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   777
  28:        ca170531         eor        x17, x9, x23, lsl #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   778
  2c:        ea44dd6e         ands        x14, x11, x4, lsr #55
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   779
  30:        0a4c44f3         and        w19, w7, w12, lsr #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   780
  34:        2a8b7373         orr        w19, w27, w11, asr #28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   781
  38:        4a567c7e         eor        w30, w3, w22, lsr #31
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   782
  3c:        6a9c0353         ands        w19, w26, w28, asr #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   783
  40:        8a3accdd         bic        x29, x6, x26, lsl #51
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   784
  44:        aa318f7a         orn        x26, x27, x17, lsl #35
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   785
  48:        ca2e1495         eon        x21, x4, x14, lsl #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   786
  4c:        eaa015e2         bics        x2, x15, x0, asr #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   787
  50:        0a2274e2         bic        w2, w7, w2, lsl #29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   788
  54:        2a751598         orn        w24, w12, w21, lsr #5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   789
  58:        4a3309fe         eon        w30, w15, w19, lsl #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   790
  5c:        6ab172fe         bics        w30, w23, w17, asr #28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   791
  60:        110a5284         add        w4, w20, #0x294
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   792
  64:        310b1942         adds        w2, w10, #0x2c6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   793
  68:        5103d353         sub        w19, w26, #0xf4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   794
  6c:        710125bc         subs        w28, w13, #0x49
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   795
  70:        910d7bc2         add        x2, x30, #0x35e
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   796
  74:        b108fa1b         adds        x27, x16, #0x23e
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   797
  78:        d1093536         sub        x22, x9, #0x24d
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   798
  7c:        f10ae824         subs        x4, x1, #0x2ba
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   799
  80:        120e667c         and        w28, w19, #0xfffc0fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   800
  84:        321f6cbb         orr        w27, w5, #0x1ffffffe
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   801
  88:        520f6a9e         eor        w30, w20, #0xfffe0fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   802
  8c:        72136f56         ands        w22, w26, #0xffffe1ff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   803
  90:        927e4ce5         and        x5, x7, #0x3ffffc
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   804
  94:        b278b4ed         orr        x13, x7, #0x3fffffffffff00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   805
  98:        d24c6527         eor        x7, x9, #0xfff0000000003fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   806
  9c:        f2485803         ands        x3, x0, #0xff00000000007fff
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   807
  a0:        14000000         b        a0 <back+0xa0>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   808
  a4:        17ffffd7         b        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   809
  a8:        140001ee         b        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   810
  ac:        94000000         bl        ac <back+0xac>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   811
  b0:        97ffffd4         bl        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   812
  b4:        940001eb         bl        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   813
  b8:        34000010         cbz        w16, b8 <back+0xb8>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   814
  bc:        34fffa30         cbz        w16, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   815
  c0:        34003d10         cbz        w16, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   816
  c4:        35000013         cbnz        w19, c4 <back+0xc4>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   817
  c8:        35fff9d3         cbnz        w19, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   818
  cc:        35003cb3         cbnz        w19, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   819
  d0:        b4000005         cbz        x5, d0 <back+0xd0>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   820
  d4:        b4fff965         cbz        x5, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   821
  d8:        b4003c45         cbz        x5, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   822
  dc:        b5000004         cbnz        x4, dc <back+0xdc>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   823
  e0:        b5fff904         cbnz        x4, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   824
  e4:        b5003be4         cbnz        x4, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   825
  e8:        1000001b         adr        x27, e8 <back+0xe8>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   826
  ec:        10fff8bb         adr        x27, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   827
  f0:        10003b9b         adr        x27, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   828
  f4:        90000010         adrp        x16, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   829
  f8:        3640001c         tbz        w28, #8, f8 <back+0xf8>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   830
  fc:        3647f83c         tbz        w28, #8, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   831
 100:        36403b1c         tbz        w28, #8, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   832
 104:        37080001         tbnz        w1, #1, 104 <back+0x104>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   833
 108:        370ff7c1         tbnz        w1, #1, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   834
 10c:        37083aa1         tbnz        w1, #1, 860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   835
 110:        12a437f4         mov        w20, #0xde40ffff                    // #-566165505
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   836
 114:        528c9d67         mov        w7, #0x64eb                        // #25835
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   837
 118:        72838bb1         movk        w17, #0x1c5d
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   838
 11c:        92c1062e         mov        x14, #0xfffff7ceffffffff            // #-9006546419713
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   839
 120:        d287da49         mov        x9, #0x3ed2                        // #16082
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   840
 124:        f2a6d153         movk        x19, #0x368a, lsl #16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   841
 128:        93465ac9         sbfx        x9, x22, #6, #17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   842
 12c:        330b0013         bfi        w19, w0, #21, #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   843
 130:        530b4e6a         ubfx        w10, w19, #11, #9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   844
 134:        934545e4         sbfx        x4, x15, #5, #13
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   845
 138:        b35370a3         bfxil        x3, x5, #19, #10
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   846
 13c:        d3510b8c         ubfiz        x12, x28, #47, #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   847
 140:        13960c0f         extr        w15, w0, w22, #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   848
 144:        93ceddc6         ror        x6, x14, #55
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   849
 148:        54000000         b.eq        148 <back+0x148>  // b.none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   850
 14c:        54fff5a0         b.eq        0 <back>  // b.none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   851
 150:        54003880         b.eq        860 <forth>  // b.none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   852
 154:        54000001         b.ne        154 <back+0x154>  // b.any
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   853
 158:        54fff541         b.ne        0 <back>  // b.any
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   854
 15c:        54003821         b.ne        860 <forth>  // b.any
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   855
 160:        54000002         b.cs        160 <back+0x160>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   856
 164:        54fff4e2         b.cs        0 <back>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   857
 168:        540037c2         b.cs        860 <forth>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   858
 16c:        54000002         b.cs        16c <back+0x16c>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   859
 170:        54fff482         b.cs        0 <back>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   860
 174:        54003762         b.cs        860 <forth>  // b.hs, b.nlast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   861
 178:        54000003         b.cc        178 <back+0x178>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   862
 17c:        54fff423         b.cc        0 <back>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   863
 180:        54003703         b.cc        860 <forth>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   864
 184:        54000003         b.cc        184 <back+0x184>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   865
 188:        54fff3c3         b.cc        0 <back>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   866
 18c:        540036a3         b.cc        860 <forth>  // b.lo, b.ul, b.last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   867
 190:        54000004         b.mi        190 <back+0x190>  // b.first
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   868
 194:        54fff364         b.mi        0 <back>  // b.first
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   869
 198:        54003644         b.mi        860 <forth>  // b.first
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   870
 19c:        54000005         b.pl        19c <back+0x19c>  // b.nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   871
 1a0:        54fff305         b.pl        0 <back>  // b.nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   872
 1a4:        540035e5         b.pl        860 <forth>  // b.nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   873
 1a8:        54000006         b.vs        1a8 <back+0x1a8>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   874
 1ac:        54fff2a6         b.vs        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   875
 1b0:        54003586         b.vs        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   876
 1b4:        54000007         b.vc        1b4 <back+0x1b4>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   877
 1b8:        54fff247         b.vc        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   878
 1bc:        54003527         b.vc        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   879
 1c0:        54000008         b.hi        1c0 <back+0x1c0>  // b.pmore
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   880
 1c4:        54fff1e8         b.hi        0 <back>  // b.pmore
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   881
 1c8:        540034c8         b.hi        860 <forth>  // b.pmore
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   882
 1cc:        54000009         b.ls        1cc <back+0x1cc>  // b.plast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   883
 1d0:        54fff189         b.ls        0 <back>  // b.plast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   884
 1d4:        54003469         b.ls        860 <forth>  // b.plast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   885
 1d8:        5400000a         b.ge        1d8 <back+0x1d8>  // b.tcont
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   886
 1dc:        54fff12a         b.ge        0 <back>  // b.tcont
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   887
 1e0:        5400340a         b.ge        860 <forth>  // b.tcont
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   888
 1e4:        5400000b         b.lt        1e4 <back+0x1e4>  // b.tstop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   889
 1e8:        54fff0cb         b.lt        0 <back>  // b.tstop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   890
 1ec:        540033ab         b.lt        860 <forth>  // b.tstop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   891
 1f0:        5400000c         b.gt        1f0 <back+0x1f0>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   892
 1f4:        54fff06c         b.gt        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   893
 1f8:        5400334c         b.gt        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   894
 1fc:        5400000d         b.le        1fc <back+0x1fc>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   895
 200:        54fff00d         b.le        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   896
 204:        540032ed         b.le        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   897
 208:        5400000e         b.al        208 <back+0x208>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   898
 20c:        54ffefae         b.al        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   899
 210:        5400328e         b.al        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   900
 214:        5400000f         b.nv        214 <back+0x214>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   901
 218:        54ffef4f         b.nv        0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   902
 21c:        5400322f         b.nv        860 <forth>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   903
 220:        d40ac601         svc        #0x5630
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   904
 224:        d40042a2         hvc        #0x215
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   905
 228:        d404dac3         smc        #0x26d6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   906
 22c:        d4224d40         brk        #0x126a
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   907
 230:        d44219c0         hlt        #0x10ce
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   908
 234:        d503201f         nop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   909
 238:        d69f03e0         eret
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   910
 23c:        d6bf03e0         drps
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   911
 240:        d5033fdf         isb
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   912
 244:        d503339f         dsb        osh
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   913
 248:        d50335bf         dmb        nshld
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   914
 24c:        d61f0280         br        x20
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   915
 250:        d63f0040         blr        x2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   916
 254:        c8127c17         stxr        w18, x23, [x0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   917
 258:        c81efec5         stlxr        w30, x5, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   918
 25c:        c85f7d05         ldxr        x5, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   919
 260:        c85ffe14         ldaxr        x20, [x16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   920
 264:        c89ffd66         stlr        x6, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   921
 268:        c8dfff66         ldar        x6, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   922
 26c:        880a7cb1         stxr        w10, w17, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   923
 270:        8816fd89         stlxr        w22, w9, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   924
 274:        885f7d1b         ldxr        w27, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   925
 278:        885ffc57         ldaxr        w23, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   926
 27c:        889fffba         stlr        w26, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   927
 280:        88dffd4d         ldar        w13, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   928
 284:        48197f7c         stxrh        w25, w28, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   929
 288:        481dfd96         stlxrh        w29, w22, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   930
 28c:        485f7f96         ldxrh        w22, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   931
 290:        485fffc3         ldaxrh        w3, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   932
 294:        489ffdf8         stlrh        w24, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   933
 298:        48dfff5b         ldarh        w27, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   934
 29c:        080b7e6a         stxrb        w11, w10, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   935
 2a0:        0817fedb         stlxrb        w23, w27, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   936
 2a4:        085f7e18         ldxrb        w24, [x16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   937
 2a8:        085ffc38         ldaxrb        w24, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   938
 2ac:        089fffa5         stlrb        w5, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   939
 2b0:        08dffe18         ldarb        w24, [x16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   940
 2b4:        c87f6239         ldxp        x25, x24, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   941
 2b8:        c87fb276         ldaxp        x22, x12, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   942
 2bc:        c820573a         stxp        w0, x26, x21, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   943
 2c0:        c821aca6         stlxp        w1, x6, x11, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   944
 2c4:        887f388d         ldxp        w13, w14, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   945
 2c8:        887f88d1         ldaxp        w17, w2, [x6]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   946
 2cc:        882f2643         stxp        w15, w3, w9, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   947
 2d0:        88329131         stlxp        w18, w17, w4, [x9]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   948
 2d4:        f81cf2b7         stur        x23, [x21, #-49]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   949
 2d8:        b803f055         stur        w21, [x2, #63]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   950
 2dc:        39002f9b         strb        w27, [x28, #11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   951
 2e0:        781f31fd         sturh        w29, [x15, #-13]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   952
 2e4:        f85d33ce         ldur        x14, [x30, #-45]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   953
 2e8:        b843539d         ldur        w29, [x28, #53]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   954
 2ec:        39401f54         ldrb        w20, [x26, #7]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   955
 2f0:        785ce059         ldurh        w25, [x2, #-50]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   956
 2f4:        389f1143         ldursb        x3, [x10, #-15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   957
 2f8:        788131ee         ldursh        x14, [x15, #19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   958
 2fc:        78dfb17d         ldursh        w29, [x11, #-5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   959
 300:        b89b90af         ldursw        x15, [x5, #-71]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   960
 304:        fc403193         ldur        d19, [x12, #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   961
 308:        bc42a36c         ldur        s12, [x27, #42]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   962
 30c:        fc07d396         stur        d22, [x28, #125]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   963
 310:        bc1ec1f8         stur        s24, [x15, #-20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   964
 314:        f81e8f88         str        x8, [x28, #-24]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   965
 318:        b8025de6         str        w6, [x15, #37]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   966
 31c:        38007c27         strb        w7, [x1, #7]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   967
 320:        7801ee20         strh        w0, [x17, #30]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   968
 324:        f8454fb9         ldr        x25, [x29, #84]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   969
 328:        b85cce9a         ldr        w26, [x20, #-52]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   970
 32c:        385e7fba         ldrb        w26, [x29, #-25]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   971
 330:        7841af24         ldrh        w4, [x25, #26]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   972
 334:        389ebd1c         ldrsb        x28, [x8, #-21]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   973
 338:        789fadd1         ldrsh        x17, [x14, #-6]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   974
 33c:        78c0aefc         ldrsh        w28, [x23, #10]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   975
 340:        b89c0f7e         ldrsw        x30, [x27, #-64]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   976
 344:        fc50efd4         ldr        d20, [x30, #-242]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   977
 348:        bc414f71         ldr        s17, [x27, #20]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   978
 34c:        fc011c67         str        d7, [x3, #17]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   979
 350:        bc1f0d6d         str        s13, [x11, #-16]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   980
 354:        f81c3526         str        x6, [x9], #-61
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   981
 358:        b81e34b0         str        w16, [x5], #-29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   982
 35c:        3800f7bd         strb        w29, [x29], #15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   983
 360:        78012684         strh        w4, [x20], #18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   984
 364:        f842e653         ldr        x19, [x18], #46
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   985
 368:        b8417456         ldr        w22, [x2], #23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   986
 36c:        385e2467         ldrb        w7, [x3], #-30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   987
 370:        785e358b         ldrh        w11, [x12], #-29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   988
 374:        389e34c8         ldrsb        x8, [x6], #-29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   989
 378:        788046f8         ldrsh        x24, [x23], #4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   990
 37c:        78c00611         ldrsh        w17, [x16], #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   991
 380:        b89f8680         ldrsw        x0, [x20], #-8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   992
 384:        fc582454         ldr        d20, [x2], #-126
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   993
 388:        bc5987d3         ldr        s19, [x30], #-104
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   994
 38c:        fc076624         str        d4, [x17], #118
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   995
 390:        bc190675         str        s21, [x19], #-112
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   996
 394:        f833785a         str        x26, [x2, x19, lsl #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   997
 398:        b82fd809         str        w9, [x0, w15, sxtw #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   998
 39c:        3821799a         strb        w26, [x12, x1, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
   999
 3a0:        782a7975         strh        w21, [x11, x10, lsl #1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1000
 3a4:        f870eaf0         ldr        x16, [x23, x16, sxtx]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1001
 3a8:        b871d96a         ldr        w10, [x11, w17, sxtw #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1002
 3ac:        386b7aed         ldrb        w13, [x23, x11, lsl #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1003
 3b0:        7875689b         ldrh        w27, [x4, x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1004
 3b4:        38afd91a         ldrsb        x26, [x8, w15, sxtw #0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1005
 3b8:        78a2c955         ldrsh        x21, [x10, w2, sxtw]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1006
 3bc:        78ee6bc8         ldrsh        w8, [x30, x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1007
 3c0:        b8b4f9dd         ldrsw        x29, [x14, x20, sxtx #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1008
 3c4:        fc76eb7e         ldr        d30, [x27, x22, sxtx]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1009
 3c8:        bc76692d         ldr        s13, [x9, x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1010
 3cc:        fc31db28         str        d8, [x25, w17, sxtw #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1011
 3d0:        bc255b01         str        s1, [x24, w5, uxtw #2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1012
 3d4:        f91c52aa         str        x10, [x21, #14496]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1013
 3d8:        b91c3fb2         str        w18, [x29, #7228]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1014
 3dc:        391f8877         strb        w23, [x3, #2018]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1015
 3e0:        791ac97c         strh        w28, [x11, #3428]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1016
 3e4:        f95c1758         ldr        x24, [x26, #14376]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1017
 3e8:        b95b3c55         ldr        w21, [x2, #6972]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1018
 3ec:        395ce0a4         ldrb        w4, [x5, #1848]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1019
 3f0:        795851ce         ldrh        w14, [x14, #3112]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1020
 3f4:        399e9f64         ldrsb        x4, [x27, #1959]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1021
 3f8:        79993764         ldrsh        x4, [x27, #3226]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1022
 3fc:        79d9af8a         ldrsh        w10, [x28, #3286]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1023
 400:        b99eea2a         ldrsw        x10, [x17, #7912]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1024
 404:        fd5a2f8d         ldr        d13, [x28, #13400]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1025
 408:        bd5dac78         ldr        s24, [x3, #7596]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1026
 40c:        fd1e0182         str        d2, [x12, #15360]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1027
 410:        bd195c31         str        s17, [x1, #6492]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1028
 414:        58000010         ldr        x16, 414 <back+0x414>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1029
 418:        1800000d         ldr        w13, 418 <back+0x418>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1030
 41c:        f8981240         prfum        pldl1keep, [x18, #-127]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1031
 420:        d8ffdf00         prfm        pldl1keep, 0 <back>
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1032
 424:        f8a27a80         prfm        pldl1keep, [x20, x2, lsl #3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1033
 428:        f99af920         prfm        pldl1keep, [x9, #13808]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1034
 42c:        1a0202e8         adc        w8, w23, w2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1035
 430:        3a130078         adcs        w24, w3, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1036
 434:        5a1d0316         sbc        w22, w24, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1037
 438:        7a03036c         sbcs        w12, w27, w3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1038
 43c:        9a0102eb         adc        x11, x23, x1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1039
 440:        ba1700bd         adcs        x29, x5, x23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1040
 444:        da0c0329         sbc        x9, x25, x12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1041
 448:        fa16000c         sbcs        x12, x0, x22
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1042
 44c:        0b23459a         add        w26, w12, w3, uxtw #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1043
 450:        2b328a14         adds        w20, w16, w18, sxtb #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1044
 454:        cb274bde         sub        x30, x30, w7, uxtw #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1045
 458:        6b222eab         subs        w11, w21, w2, uxth #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1046
 45c:        8b214b42         add        x2, x26, w1, uxtw #2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1047
 460:        ab34a7b2         adds        x18, x29, w20, sxth #1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1048
 464:        cb24520e         sub        x14, x16, w4, uxtw #4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1049
 468:        eb378e20         subs        x0, x17, w23, sxtb #3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1050
 46c:        3a565283         ccmn        w20, w22, #0x3, pl  // pl = nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1051
 470:        7a420321         ccmp        w25, w2, #0x1, eq  // eq = none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1052
 474:        ba58c247         ccmn        x18, x24, #0x7, gt
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1053
 478:        fa4d5106         ccmp        x8, x13, #0x6, pl  // pl = nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1054
 47c:        3a426924         ccmn        w9, #0x2, #0x4, vs
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1055
 480:        7a5b0847         ccmp        w2, #0x1b, #0x7, eq  // eq = none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1056
 484:        ba413a02         ccmn        x16, #0x1, #0x2, cc  // cc = lo, ul, last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1057
 488:        fa5fba23         ccmp        x17, #0x1f, #0x3, lt  // lt = tstop
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1058
 48c:        1a979377         csel        w23, w27, w23, ls  // ls = plast
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1059
 490:        1a86640a         csinc        w10, w0, w6, vs
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1060
 494:        5a89300b         csinv        w11, w0, w9, cc  // cc = lo, ul, last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1061
 498:        5a923771         csneg        w17, w27, w18, cc  // cc = lo, ul, last
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1062
 49c:        9a8b720c         csel        x12, x16, x11, vc
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1063
 4a0:        9a868786         csinc        x6, x28, x6, hi  // hi = pmore
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1064
 4a4:        da9a736d         csinv        x13, x27, x26, vc
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1065
 4a8:        da9256dd         csneg        x29, x22, x18, pl  // pl = nfrst
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1066
 4ac:        5ac0026c         rbit        w12, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1067
 4b0:        5ac00657         rev16        w23, w18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1068
 4b4:        5ac00b89         rev        w9, w28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1069
 4b8:        5ac01262         clz        w2, w19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1070
 4bc:        5ac017b9         cls        w25, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1071
 4c0:        dac002e4         rbit        x4, x23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1072
 4c4:        dac0065d         rev16        x29, x18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1073
 4c8:        dac00907         rev32        x7, x8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1074
 4cc:        dac00e2d         rev        x13, x17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1075
 4d0:        dac01011         clz        x17, x0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1076
 4d4:        dac01752         cls        x18, x26
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1077
 4d8:        1ad0098b         udiv        w11, w12, w16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1078
 4dc:        1ac70d24         sdiv        w4, w9, w7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1079
 4e0:        1ad020ec         lsl        w12, w7, w16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1080
 4e4:        1ad72613         lsr        w19, w16, w23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1081
 4e8:        1ac62887         asr        w7, w4, w6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1082
 4ec:        1ad72e95         ror        w21, w20, w23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1083
 4f0:        9adc0990         udiv        x16, x12, x28
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1084
 4f4:        9acd0d84         sdiv        x4, x12, x13
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1085
 4f8:        9ac721a9         lsl        x9, x13, x7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1086
 4fc:        9acf277c         lsr        x28, x27, x15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1087
 500:        9ace2bd4         asr        x20, x30, x14
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1088
 504:        9ade2e4e         ror        x14, x18, x30
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1089
 508:        9bc77d63         umulh        x3, x11, x7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1090
 50c:        9b587e97         smulh        x23, x20, x24
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1091
 510:        1b1524a2         madd        w2, w5, w21, w9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1092
 514:        1b04a318         msub        w24, w24, w4, w8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1093
 518:        9b0f4d8b         madd        x11, x12, x15, x19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1094
 51c:        9b0ce73d         msub        x29, x25, x12, x25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1095
 520:        9b2c5971         smaddl        x17, w11, w12, x22
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1096
 524:        9b34c87c         smsubl        x28, w3, w20, x18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1097
 528:        9bbc6887         umaddl        x7, w4, w28, x26
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1098
 52c:        9bb19556         umsubl        x22, w10, w17, x5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1099
 530:        1e310871         fmul        s17, s3, s17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1100
 534:        1e261a2b         fdiv        s11, s17, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1101
 538:        1e2928fd         fadd        s29, s7, s9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1102
 53c:        1e333987         fsub        s7, s12, s19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1103
 540:        1e230ae0         fmul        s0, s23, s3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1104
 544:        1e75087a         fmul        d26, d3, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1105
 548:        1e651a60         fdiv        d0, d19, d5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1106
 54c:        1e692b40         fadd        d0, d26, d9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1107
 550:        1e753ab9         fsub        d25, d21, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1108
 554:        1e7309b0         fmul        d16, d13, d19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1109
 558:        1f00425d         fmadd        s29, s18, s0, s16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1110
 55c:        1f1d95b7         fmsub        s23, s13, s29, s5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1111
 560:        1f2a38e9         fnmadd        s9, s7, s10, s14
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1112
 564:        1f2f5f99         fnmadd        s25, s28, s15, s23
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1113
 568:        1f5545a6         fmadd        d6, d13, d21, d17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1114
 56c:        1f429ea3         fmsub        d3, d21, d2, d7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1115
 570:        1f65472a         fnmadd        d10, d25, d5, d17
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1116
 574:        1f7449ce         fnmadd        d14, d14, d20, d18
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1117
 578:        1e20404f         fmov        s15, s2
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1118
 57c:        1e20c0f2         fabs        s18, s7
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1119
 580:        1e2140c3         fneg        s3, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1120
 584:        1e21c02c         fsqrt        s12, s1
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1121
 588:        1e22c009         fcvt        d9, s0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1122
 58c:        1e6040a4         fmov        d4, d5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1123
 590:        1e60c1e3         fabs        d3, d15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1124
 594:        1e614331         fneg        d17, d25
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1125
 598:        1e61c30c         fsqrt        d12, d24
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1126
 59c:        1e6240b5         fcvt        s21, d5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1127
 5a0:        1e3802a4         fcvtzs        w4, s21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1128
 5a4:        9e38007b         fcvtzs        x27, s3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1129
 5a8:        1e78011d         fcvtzs        w29, d8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1130
 5ac:        9e7802a9         fcvtzs        x9, d21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1131
 5b0:        1e2203b4         scvtf        s20, w29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1132
 5b4:        9e220107         scvtf        s7, x8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1133
 5b8:        1e6202ac         scvtf        d12, w21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1134
 5bc:        9e6202b0         scvtf        d16, x21
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1135
 5c0:        1e2600b2         fmov        w18, s5
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1136
 5c4:        9e660119         fmov        x25, d8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1137
 5c8:        1e270352         fmov        s18, w26
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1138
 5cc:        9e670160         fmov        d0, x11
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1139
 5d0:        1e262200         fcmp        s16, s6
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1140
 5d4:        1e7d2200         fcmp        d16, d29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1141
 5d8:        1e2023c8         fcmp        s30, #0.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1142
 5dc:        1e602128         fcmp        d9, #0.0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1143
 5e0:        293e119b         stp        w27, w4, [x12, #-16]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1144
 5e4:        294a2543         ldp        w3, w9, [x10, #80]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1145
 5e8:        69480c70         ldpsw        x16, x3, [x3, #64]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1146
 5ec:        a934726a         stp        x10, x28, [x19, #-192]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1147
 5f0:        a97448f3         ldp        x19, x18, [x7, #-192]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1148
 5f4:        298243ca         stp        w10, w16, [x30, #16]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1149
 5f8:        29e21242         ldp        w2, w4, [x18, #-240]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1150
 5fc:        69c64db8         ldpsw        x24, x19, [x13, #48]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1151
 600:        a9800311         stp        x17, x0, [x24, #0]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1152
 604:        a9f4686e         ldp        x14, x26, [x3, #-192]!
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1153
 608:        288a0416         stp        w22, w1, [x0], #80
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1154
 60c:        28fe2812         ldp        w18, w10, [x0], #-16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1155
 610:        68fe62d8         .inst        0x68fe62d8 ; undefined
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1156
 614:        a885308c         stp        x12, x12, [x4], #80
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1157
 618:        a8f12664         ldp        x4, x9, [x19], #-240
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1158
 61c:        282468d2         stnp        w18, w26, [x6, #-224]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1159
 620:        284e5035         ldnp        w21, w20, [x1, #112]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1160
 624:        a8327699         stnp        x25, x29, [x20, #-224]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1161
 628:        a84716e1         ldnp        x1, x5, [x23, #112]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1162
 62c:        0c407284         ld1        {v4.8b}, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1163
 630:        4cdfa158         ld1        {v24.16b, v25.16b}, [x10], #32
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1164
 634:        0ccf6cd8         ld1        {v24.1d-v26.1d}, [x6], x15
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1165
 638:        4cdf2483         ld1        {v3.8h-v6.8h}, [x4], #64
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1166
 63c:        0d40c0c2         ld1r        {v2.8b}, [x6]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1167
 640:        4ddfc9cd         ld1r        {v13.4s}, [x14], #4
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1168
 644:        0dd8ceaf         ld1r        {v15.1d}, [x21], x24
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1169
 648:        4c408ea9         ld2        {v9.2d, v10.2d}, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1170
 64c:        0cdf86bd         ld2        {v29.4h, v30.4h}, [x21], #16
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1171
 650:        4d60c1c8         ld2r        {v8.16b, v9.16b}, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1172
 654:        0dffca87         ld2r        {v7.2s, v8.2s}, [x20], #8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1173
 658:        4de3cc7c         ld2r        {v28.2d, v29.2d}, [x3], x3
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1174
 65c:        4cdd497b         ld3        {v27.4s-v29.4s}, [x11], x29
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1175
 660:        0c404950         ld3        {v16.2s-v18.2s}, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1176
 664:        4d40e595         ld3r        {v21.8h-v23.8h}, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1177
 668:        4ddfeba4         ld3r        {v4.4s-v6.4s}, [x29], #12
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1178
 66c:        0dd3ed38         ld3r        {v24.1d-v26.1d}, [x9], x19
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1179
 670:        4cdf046a         ld4        {v10.8h-v13.8h}, [x3], #64
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1180
 674:        0cc9039b         ld4        {v27.8b-v30.8b}, [x28], x9
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1181
 678:        0d60e3d5         ld4r        {v21.8b-v24.8b}, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1182
 67c:        0dffe5d7         ld4r        {v23.4h-v26.4h}, [x14], #8
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1183
 680:        0df4e9a4         ld4r        {v4.2s-v7.2s}, [x13], x20
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1184
 684:        ba5fd3e3         ccmn        xzr, xzr, #0x3, le
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1185
 688:        3a5f03e5         ccmn        wzr, wzr, #0x5, eq  // eq = none
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1186
 68c:        fa411be4         ccmp        xzr, #0x1, #0x4, ne  // ne = any
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1187
 690:        7a42cbe2         ccmp        wzr, #0x2, #0x2, gt
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1188
 694:        93df03ff         ror        xzr, xzr, #0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1189
 698:        c820ffff         stlxp        w0, xzr, xzr, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1190
 69c:        8822fc7f         stlxp        w2, wzr, wzr, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1191
 6a0:        c8247cbf         stxp        w4, xzr, xzr, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1192
 6a4:        88267fff         stxp        w6, wzr, wzr, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1193
 6a8:        4e010fe0         dup        v0.16b, wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1194
 6ac:        4e081fe1         mov        v1.d[0], xzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1195
 6b0:        4e0c1fe1         mov        v1.s[1], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1196
 6b4:        4e0a1fe1         mov        v1.h[2], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1197
 6b8:        4e071fe1         mov        v1.b[3], wzr
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1198
 6bc:        4cc0ac3f         ld1        {v31.2d, v0.2d}, [x1], x0
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1199
 6c0:        1e601000         fmov        d0, #2.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1200
 6c4:        1e603000         fmov        d0, #2.125000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1201
 6c8:        1e621000         fmov        d0, #4.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1202
 6cc:        1e623000         fmov        d0, #4.250000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1203
 6d0:        1e641000         fmov        d0, #8.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1204
 6d4:        1e643000         fmov        d0, #8.500000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1205
 6d8:        1e661000         fmov        d0, #1.600000000000000000e+01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1206
 6dc:        1e663000         fmov        d0, #1.700000000000000000e+01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1207
 6e0:        1e681000         fmov        d0, #1.250000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1208
 6e4:        1e683000         fmov        d0, #1.328125000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1209
 6e8:        1e6a1000         fmov        d0, #2.500000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1210
 6ec:        1e6a3000         fmov        d0, #2.656250000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1211
 6f0:        1e6c1000         fmov        d0, #5.000000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1212
 6f4:        1e6c3000         fmov        d0, #5.312500000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1213
 6f8:        1e6e1000         fmov        d0, #1.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1214
 6fc:        1e6e3000         fmov        d0, #1.062500000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1215
 700:        1e701000         fmov        d0, #-2.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1216
 704:        1e703000         fmov        d0, #-2.125000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1217
 708:        1e721000         fmov        d0, #-4.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1218
 70c:        1e723000         fmov        d0, #-4.250000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1219
 710:        1e741000         fmov        d0, #-8.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1220
 714:        1e743000         fmov        d0, #-8.500000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1221
 718:        1e761000         fmov        d0, #-1.600000000000000000e+01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1222
 71c:        1e763000         fmov        d0, #-1.700000000000000000e+01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1223
 720:        1e781000         fmov        d0, #-1.250000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1224
 724:        1e783000         fmov        d0, #-1.328125000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1225
 728:        1e7a1000         fmov        d0, #-2.500000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1226
 72c:        1e7a3000         fmov        d0, #-2.656250000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1227
 730:        1e7c1000         fmov        d0, #-5.000000000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1228
 734:        1e7c3000         fmov        d0, #-5.312500000000000000e-01
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1229
 738:        1e7e1000         fmov        d0, #-1.000000000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1230
 73c:        1e7e3000         fmov        d0, #-1.062500000000000000e+00
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1231
 740:        f8358305         swp        x21, x5, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1232
 744:        f82d01ed         ldadd        x13, x13, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1233
 748:        f8361353         ldclr        x22, x19, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1234
 74c:        f839234a         ldeor        x25, x10, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1235
 750:        f82531fb         ldset        x5, x27, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1236
 754:        f8335165         ldsmin        x19, x5, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1237
 758:        f83a4080         ldsmax        x26, x0, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1238
 75c:        f83673d7         ldumin        x22, x23, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1239
 760:        f832611c         ldumax        x18, x28, [x8]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1240
 764:        f8ad837d         swpa        x13, x29, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1241
 768:        f8ab01a5         ldadda        x11, x5, [x13]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1242
 76c:        f8a112b8         ldclra        x1, x24, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1243
 770:        f8bb2311         ldeora        x27, x17, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1244
 774:        f8b230be         ldseta        x18, x30, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1245
 778:        f8a75336         ldsmina        x7, x22, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1246
 77c:        f8a4427a         ldsmaxa        x4, x26, [x19]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1247
 780:        f8a6707e         ldumina        x6, x30, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1248
 784:        f8b860b7         ldumaxa        x24, x23, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1249
 788:        f8f88392         swpal        x24, x18, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1250
 78c:        f8f300ff         ldaddal        x19, xzr, [x7]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1251
 790:        f8ed1386         ldclral        x13, x6, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1252
 794:        f8e822af         ldeoral        x8, x15, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1253
 798:        f8e2302d         ldsetal        x2, x13, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1254
 79c:        f8f1533d         ldsminal        x17, x29, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1255
 7a0:        f8f941d2         ldsmaxal        x25, x18, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1256
 7a4:        f8ff7366         lduminal        xzr, x6, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1257
 7a8:        f8f061e5         ldumaxal        x16, x5, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1258
 7ac:        f86b8072         swpl        x11, x18, [x3]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1259
 7b0:        f87a0054         ldaddl        x26, x20, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1260
 7b4:        f86b1164         ldclrl        x11, x4, [x11]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1261
 7b8:        f87e22f3         ldeorl        x30, x19, [x23]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1262
 7bc:        f86331cf         ldsetl        x3, x15, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1263
 7c0:        f87e5296         ldsminl        x30, x22, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1264
 7c4:        f8674305         ldsmaxl        x7, x5, [x24]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1265
 7c8:        f87771f0         lduminl        x23, x16, [x15]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1266
 7cc:        f86b6013         ldumaxl        x11, x19, [x0]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1267
 7d0:        b83c803c         swp        w28, w28, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1268
 7d4:        b82b0195         ldadd        w11, w21, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1269
 7d8:        b83d1240         ldclr        w29, w0, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1270
 7dc:        b8252320         ldeor        w5, w0, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1271
 7e0:        b82e3340         ldset        w14, w0, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1272
 7e4:        b83c53b2         ldsmin        w28, w18, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1273
 7e8:        b82f43a1         ldsmax        w15, w1, [x29]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1274
 7ec:        b828739a         ldumin        w8, w26, [x28]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1275
 7f0:        b831608e         ldumax        w17, w14, [x4]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1276
 7f4:        b8b88039         swpa        w24, w25, [x1]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1277
 7f8:        b8aa0231         ldadda        w10, w17, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1278
 7fc:        b8bd12b4         ldclra        w29, w20, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1279
 800:        b8bd2189         ldeora        w29, w9, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1280
 804:        b8ab30a6         ldseta        w11, w6, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1281
 808:        b8b552a7         ldsmina        w21, w7, [x21]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1282
 80c:        b8aa4197         ldsmaxa        w10, w23, [x12]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1283
 810:        b8b57145         ldumina        w21, w5, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1284
 814:        b8be6254         ldumaxa        w30, w20, [x18]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1285
 818:        b8ed80b7         swpal        w13, w23, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1286
 81c:        b8ef00b8         ldaddal        w15, w24, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1287
 820:        b8e9132a         ldclral        w9, w10, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1288
 824:        b8f42231         ldeoral        w20, w17, [x17]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1289
 828:        b8ec33d2         ldsetal        w12, w18, [x30]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1290
 82c:        b8e35323         ldsminal        w3, w3, [x25]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1291
 830:        b8fa4159         ldsmaxal        w26, w25, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1292
 834:        b8e273eb         lduminal        w2, w11, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1293
 838:        b8e760a2         ldumaxal        w7, w2, [x5]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1294
 83c:        b8608287         swpl        w0, w7, [x20]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1295
 840:        b865005f         staddl        w5, [x2]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1296
 844:        b87b1379         ldclrl        w27, w25, [x27]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1297
 848:        b87e2358         ldeorl        w30, w24, [x26]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1298
 84c:        b86f32c2         ldsetl        w15, w2, [x22]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1299
 850:        b86053e3         ldsminl        w0, w3, [sp]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1300
 854:        b86f4154         ldsmaxl        w15, w20, [x10]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1301
 858:        b87671d5         lduminl        w22, w21, [x14]
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1302
 85c:        b866605e         ldumaxl        w6, w30, [x2]
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1303
 */
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1304
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1305
  static const unsigned int insns[] =
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1306
  {
55314
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1307
    0x8b50798f,     0xcb4381e1,     0xab05372d,     0xeb864796,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1308
    0x0b961920,     0x4b195473,     0x2b0b5264,     0x6b9300f8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1309
    0x8a0bc0fe,     0xaa0f3118,     0xca170531,     0xea44dd6e,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1310
    0x0a4c44f3,     0x2a8b7373,     0x4a567c7e,     0x6a9c0353,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1311
    0x8a3accdd,     0xaa318f7a,     0xca2e1495,     0xeaa015e2,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1312
    0x0a2274e2,     0x2a751598,     0x4a3309fe,     0x6ab172fe,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1313
    0x110a5284,     0x310b1942,     0x5103d353,     0x710125bc,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1314
    0x910d7bc2,     0xb108fa1b,     0xd1093536,     0xf10ae824,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1315
    0x120e667c,     0x321f6cbb,     0x520f6a9e,     0x72136f56,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1316
    0x927e4ce5,     0xb278b4ed,     0xd24c6527,     0xf2485803,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1317
    0x14000000,     0x17ffffd7,     0x140001ee,     0x94000000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1318
    0x97ffffd4,     0x940001eb,     0x34000010,     0x34fffa30,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1319
    0x34003d10,     0x35000013,     0x35fff9d3,     0x35003cb3,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1320
    0xb4000005,     0xb4fff965,     0xb4003c45,     0xb5000004,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1321
    0xb5fff904,     0xb5003be4,     0x1000001b,     0x10fff8bb,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1322
    0x10003b9b,     0x90000010,     0x3640001c,     0x3647f83c,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1323
    0x36403b1c,     0x37080001,     0x370ff7c1,     0x37083aa1,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1324
    0x12a437f4,     0x528c9d67,     0x72838bb1,     0x92c1062e,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1325
    0xd287da49,     0xf2a6d153,     0x93465ac9,     0x330b0013,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1326
    0x530b4e6a,     0x934545e4,     0xb35370a3,     0xd3510b8c,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1327
    0x13960c0f,     0x93ceddc6,     0x54000000,     0x54fff5a0,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1328
    0x54003880,     0x54000001,     0x54fff541,     0x54003821,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1329
    0x54000002,     0x54fff4e2,     0x540037c2,     0x54000002,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1330
    0x54fff482,     0x54003762,     0x54000003,     0x54fff423,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1331
    0x54003703,     0x54000003,     0x54fff3c3,     0x540036a3,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1332
    0x54000004,     0x54fff364,     0x54003644,     0x54000005,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1333
    0x54fff305,     0x540035e5,     0x54000006,     0x54fff2a6,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1334
    0x54003586,     0x54000007,     0x54fff247,     0x54003527,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1335
    0x54000008,     0x54fff1e8,     0x540034c8,     0x54000009,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1336
    0x54fff189,     0x54003469,     0x5400000a,     0x54fff12a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1337
    0x5400340a,     0x5400000b,     0x54fff0cb,     0x540033ab,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1338
    0x5400000c,     0x54fff06c,     0x5400334c,     0x5400000d,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1339
    0x54fff00d,     0x540032ed,     0x5400000e,     0x54ffefae,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1340
    0x5400328e,     0x5400000f,     0x54ffef4f,     0x5400322f,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1341
    0xd40ac601,     0xd40042a2,     0xd404dac3,     0xd4224d40,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1342
    0xd44219c0,     0xd503201f,     0xd69f03e0,     0xd6bf03e0,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1343
    0xd5033fdf,     0xd503339f,     0xd50335bf,     0xd61f0280,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1344
    0xd63f0040,     0xc8127c17,     0xc81efec5,     0xc85f7d05,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1345
    0xc85ffe14,     0xc89ffd66,     0xc8dfff66,     0x880a7cb1,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1346
    0x8816fd89,     0x885f7d1b,     0x885ffc57,     0x889fffba,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1347
    0x88dffd4d,     0x48197f7c,     0x481dfd96,     0x485f7f96,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1348
    0x485fffc3,     0x489ffdf8,     0x48dfff5b,     0x080b7e6a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1349
    0x0817fedb,     0x085f7e18,     0x085ffc38,     0x089fffa5,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1350
    0x08dffe18,     0xc87f6239,     0xc87fb276,     0xc820573a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1351
    0xc821aca6,     0x887f388d,     0x887f88d1,     0x882f2643,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1352
    0x88329131,     0xf81cf2b7,     0xb803f055,     0x39002f9b,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1353
    0x781f31fd,     0xf85d33ce,     0xb843539d,     0x39401f54,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1354
    0x785ce059,     0x389f1143,     0x788131ee,     0x78dfb17d,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1355
    0xb89b90af,     0xfc403193,     0xbc42a36c,     0xfc07d396,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1356
    0xbc1ec1f8,     0xf81e8f88,     0xb8025de6,     0x38007c27,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1357
    0x7801ee20,     0xf8454fb9,     0xb85cce9a,     0x385e7fba,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1358
    0x7841af24,     0x389ebd1c,     0x789fadd1,     0x78c0aefc,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1359
    0xb89c0f7e,     0xfc50efd4,     0xbc414f71,     0xfc011c67,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1360
    0xbc1f0d6d,     0xf81c3526,     0xb81e34b0,     0x3800f7bd,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1361
    0x78012684,     0xf842e653,     0xb8417456,     0x385e2467,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1362
    0x785e358b,     0x389e34c8,     0x788046f8,     0x78c00611,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1363
    0xb89f8680,     0xfc582454,     0xbc5987d3,     0xfc076624,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1364
    0xbc190675,     0xf833785a,     0xb82fd809,     0x3821799a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1365
    0x782a7975,     0xf870eaf0,     0xb871d96a,     0x386b7aed,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1366
    0x7875689b,     0x38afd91a,     0x78a2c955,     0x78ee6bc8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1367
    0xb8b4f9dd,     0xfc76eb7e,     0xbc76692d,     0xfc31db28,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1368
    0xbc255b01,     0xf91c52aa,     0xb91c3fb2,     0x391f8877,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1369
    0x791ac97c,     0xf95c1758,     0xb95b3c55,     0x395ce0a4,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1370
    0x795851ce,     0x399e9f64,     0x79993764,     0x79d9af8a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1371
    0xb99eea2a,     0xfd5a2f8d,     0xbd5dac78,     0xfd1e0182,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1372
    0xbd195c31,     0x58000010,     0x1800000d,     0xf8981240,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1373
    0xd8ffdf00,     0xf8a27a80,     0xf99af920,     0x1a0202e8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1374
    0x3a130078,     0x5a1d0316,     0x7a03036c,     0x9a0102eb,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1375
    0xba1700bd,     0xda0c0329,     0xfa16000c,     0x0b23459a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1376
    0x2b328a14,     0xcb274bde,     0x6b222eab,     0x8b214b42,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1377
    0xab34a7b2,     0xcb24520e,     0xeb378e20,     0x3a565283,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1378
    0x7a420321,     0xba58c247,     0xfa4d5106,     0x3a426924,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1379
    0x7a5b0847,     0xba413a02,     0xfa5fba23,     0x1a979377,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1380
    0x1a86640a,     0x5a89300b,     0x5a923771,     0x9a8b720c,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1381
    0x9a868786,     0xda9a736d,     0xda9256dd,     0x5ac0026c,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1382
    0x5ac00657,     0x5ac00b89,     0x5ac01262,     0x5ac017b9,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1383
    0xdac002e4,     0xdac0065d,     0xdac00907,     0xdac00e2d,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1384
    0xdac01011,     0xdac01752,     0x1ad0098b,     0x1ac70d24,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1385
    0x1ad020ec,     0x1ad72613,     0x1ac62887,     0x1ad72e95,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1386
    0x9adc0990,     0x9acd0d84,     0x9ac721a9,     0x9acf277c,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1387
    0x9ace2bd4,     0x9ade2e4e,     0x9bc77d63,     0x9b587e97,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1388
    0x1b1524a2,     0x1b04a318,     0x9b0f4d8b,     0x9b0ce73d,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1389
    0x9b2c5971,     0x9b34c87c,     0x9bbc6887,     0x9bb19556,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1390
    0x1e310871,     0x1e261a2b,     0x1e2928fd,     0x1e333987,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1391
    0x1e230ae0,     0x1e75087a,     0x1e651a60,     0x1e692b40,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1392
    0x1e753ab9,     0x1e7309b0,     0x1f00425d,     0x1f1d95b7,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1393
    0x1f2a38e9,     0x1f2f5f99,     0x1f5545a6,     0x1f429ea3,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1394
    0x1f65472a,     0x1f7449ce,     0x1e20404f,     0x1e20c0f2,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1395
    0x1e2140c3,     0x1e21c02c,     0x1e22c009,     0x1e6040a4,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1396
    0x1e60c1e3,     0x1e614331,     0x1e61c30c,     0x1e6240b5,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1397
    0x1e3802a4,     0x9e38007b,     0x1e78011d,     0x9e7802a9,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1398
    0x1e2203b4,     0x9e220107,     0x1e6202ac,     0x9e6202b0,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1399
    0x1e2600b2,     0x9e660119,     0x1e270352,     0x9e670160,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1400
    0x1e262200,     0x1e7d2200,     0x1e2023c8,     0x1e602128,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1401
    0x293e119b,     0x294a2543,     0x69480c70,     0xa934726a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1402
    0xa97448f3,     0x298243ca,     0x29e21242,     0x69c64db8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1403
    0xa9800311,     0xa9f4686e,     0x288a0416,     0x28fe2812,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1404
    0x68fe62d8,     0xa885308c,     0xa8f12664,     0x282468d2,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1405
    0x284e5035,     0xa8327699,     0xa84716e1,     0x0c407284,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1406
    0x4cdfa158,     0x0ccf6cd8,     0x4cdf2483,     0x0d40c0c2,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1407
    0x4ddfc9cd,     0x0dd8ceaf,     0x4c408ea9,     0x0cdf86bd,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1408
    0x4d60c1c8,     0x0dffca87,     0x4de3cc7c,     0x4cdd497b,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1409
    0x0c404950,     0x4d40e595,     0x4ddfeba4,     0x0dd3ed38,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1410
    0x4cdf046a,     0x0cc9039b,     0x0d60e3d5,     0x0dffe5d7,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1411
    0x0df4e9a4,     0xba5fd3e3,     0x3a5f03e5,     0xfa411be4,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1412
    0x7a42cbe2,     0x93df03ff,     0xc820ffff,     0x8822fc7f,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1413
    0xc8247cbf,     0x88267fff,     0x4e010fe0,     0x4e081fe1,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1414
    0x4e0c1fe1,     0x4e0a1fe1,     0x4e071fe1,     0x4cc0ac3f,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1415
    0x1e601000,     0x1e603000,     0x1e621000,     0x1e623000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1416
    0x1e641000,     0x1e643000,     0x1e661000,     0x1e663000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1417
    0x1e681000,     0x1e683000,     0x1e6a1000,     0x1e6a3000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1418
    0x1e6c1000,     0x1e6c3000,     0x1e6e1000,     0x1e6e3000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1419
    0x1e701000,     0x1e703000,     0x1e721000,     0x1e723000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1420
    0x1e741000,     0x1e743000,     0x1e761000,     0x1e763000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1421
    0x1e781000,     0x1e783000,     0x1e7a1000,     0x1e7a3000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1422
    0x1e7c1000,     0x1e7c3000,     0x1e7e1000,     0x1e7e3000,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1423
    0xf8358305,     0xf82d01ed,     0xf8361353,     0xf839234a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1424
    0xf82531fb,     0xf8335165,     0xf83a4080,     0xf83673d7,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1425
    0xf832611c,     0xf8ad837d,     0xf8ab01a5,     0xf8a112b8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1426
    0xf8bb2311,     0xf8b230be,     0xf8a75336,     0xf8a4427a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1427
    0xf8a6707e,     0xf8b860b7,     0xf8f88392,     0xf8f300ff,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1428
    0xf8ed1386,     0xf8e822af,     0xf8e2302d,     0xf8f1533d,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1429
    0xf8f941d2,     0xf8ff7366,     0xf8f061e5,     0xf86b8072,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1430
    0xf87a0054,     0xf86b1164,     0xf87e22f3,     0xf86331cf,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1431
    0xf87e5296,     0xf8674305,     0xf87771f0,     0xf86b6013,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1432
    0xb83c803c,     0xb82b0195,     0xb83d1240,     0xb8252320,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1433
    0xb82e3340,     0xb83c53b2,     0xb82f43a1,     0xb828739a,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1434
    0xb831608e,     0xb8b88039,     0xb8aa0231,     0xb8bd12b4,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1435
    0xb8bd2189,     0xb8ab30a6,     0xb8b552a7,     0xb8aa4197,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1436
    0xb8b57145,     0xb8be6254,     0xb8ed80b7,     0xb8ef00b8,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1437
    0xb8e9132a,     0xb8f42231,     0xb8ec33d2,     0xb8e35323,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1438
    0xb8fa4159,     0xb8e273eb,     0xb8e760a2,     0xb8608287,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1439
    0xb865005f,     0xb87b1379,     0xb87e2358,     0xb86f32c2,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1440
    0xb86053e3,     0xb86f4154,     0xb87671d5,     0xb866605e,
811df7c64724 8222412: AARCH64: multiple instructions encoding issues
dpochepk
parents: 50640
diff changeset
  1441
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1442
  };
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1443
// END  Generated code -- do not edit
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1444
50640
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1445
  asm_check((unsigned int *)entry, insns, sizeof insns / sizeof insns[0]);
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1446
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1447
  {
50640
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1448
    address PC = __ pc();
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1449
    __ ld1(v0, __ T16B, Address(r16));      // No offset
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1450
    __ ld1(v0, __ T8H, __ post(r16, 16));   // Post-index
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1451
    __ ld2(v0, v1, __ T8H, __ post(r24, 16 * 2));   // Post-index
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1452
    __ ld1(v0, __ T16B, __ post(r16, r17)); // Register post-index
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1453
    static const unsigned int vector_insns[] = {
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1454
       0x4c407200, // ld1   {v0.16b}, [x16]
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1455
       0x4cdf7600, // ld1   {v0.8h}, [x16], #16
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1456
       0x4cdf8700, // ld2   {v0.8h, v1.8h}, [x24], #32
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1457
       0x4cd17200, // ld1   {v0.16b}, [x16], x17
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1458
      };
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1459
    asm_check((unsigned int *)PC, vector_insns,
a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly
dpochepk
parents: 49449
diff changeset
  1460
              sizeof vector_insns / sizeof vector_insns[0]);
29183
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1461
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1462
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1463
#endif // ASSERT
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1464
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1465
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1466
#undef __
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1467
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1468
void Assembler::emit_data64(jlong data,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1469
                            relocInfo::relocType rtype,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1470
                            int format) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1471
  if (rtype == relocInfo::none) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1472
    emit_int64(data);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1473
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1474
    emit_data64(data, Relocation::spec_simple(rtype), format);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1475
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1476
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1477
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1478
void Assembler::emit_data64(jlong data,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1479
                            RelocationHolder const& rspec,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1480
                            int format) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1481
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1482
  assert(inst_mark() != NULL, "must be inside InstructionMark");
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1483
  // Do not use AbstractAssembler::relocate, which is not intended for
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1484
  // embedded words.  Instead, relocate to the enclosing instruction.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1485
  code_section()->relocate(inst_mark(), rspec, format);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1486
  emit_int64(data);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1487
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1488
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1489
extern "C" {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1490
  void das(uint64_t start, int len) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1491
    ResourceMark rm;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1492
    len <<= 2;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1493
    if (len < 0)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1494
      Disassembler::decode((address)start + len, (address)start);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1495
    else
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1496
      Disassembler::decode((address)start, (address)start + len);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1497
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1498
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1499
  JNIEXPORT void das1(unsigned long insn) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1500
    das(insn, 1);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1501
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1502
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1503
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1504
#define gas_assert(ARG1) assert(ARG1, #ARG1)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1505
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1506
#define __ as->
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1507
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1508
void Address::lea(MacroAssembler *as, Register r) const {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1509
  Relocation* reloc = _rspec.reloc();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1510
  relocInfo::relocType rtype = (relocInfo::relocType) reloc->type();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1511
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1512
  switch(_mode) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1513
  case base_plus_offset: {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1514
    if (_offset == 0 && _base == r) // it's a nop
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1515
      break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1516
    if (_offset > 0)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1517
      __ add(r, _base, _offset);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1518
    else
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1519
      __ sub(r, _base, -_offset);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1520
      break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1521
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1522
  case base_plus_offset_reg: {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1523
    __ add(r, _base, _index, _ext.op(), MAX(_ext.shift(), 0));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1524
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1525
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1526
  case literal: {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1527
    if (rtype == relocInfo::none)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1528
      __ mov(r, target());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1529
    else
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1530
      __ movptr(r, (uint64_t)target());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1531
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1532
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1533
  default:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1534
    ShouldNotReachHere();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1535
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1536
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1537
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1538
void Assembler::adrp(Register reg1, const Address &dest, unsigned long &byte_offset) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1539
  ShouldNotReachHere();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1540
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1541
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1542
#undef __
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1543
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1544
#define starti Instruction_aarch64 do_not_use(this); set_current(&do_not_use)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1545
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1546
  void Assembler::adr(Register Rd, address adr) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1547
    long offset = adr - pc();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1548
    int offset_lo = offset & 3;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1549
    offset >>= 2;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1550
    starti;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1551
    f(0, 31), f(offset_lo, 30, 29), f(0b10000, 28, 24), sf(offset, 23, 5);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1552
    rf(Rd, 0);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1553
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1554
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1555
  void Assembler::_adrp(Register Rd, address adr) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1556
    uint64_t pc_page = (uint64_t)pc() >> 12;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1557
    uint64_t adr_page = (uint64_t)adr >> 12;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1558
    long offset = adr_page - pc_page;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1559
    int offset_lo = offset & 3;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1560
    offset >>= 2;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1561
    starti;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1562
    f(1, 31), f(offset_lo, 30, 29), f(0b10000, 28, 24), sf(offset, 23, 5);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1563
    rf(Rd, 0);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1564
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1565
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1566
#undef starti
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1567
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1568
Address::Address(address target, relocInfo::relocType rtype) : _mode(literal){
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1569
  _is_lval = false;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1570
  _target = target;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1571
  switch (rtype) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1572
  case relocInfo::oop_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1573
  case relocInfo::metadata_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1574
    // Oops are a special case. Normally they would be their own section
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1575
    // but in cases like icBuffer they are literals in the code stream that
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1576
    // we don't have a section for. We use none so that we get a literal address
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1577
    // which is always patchable.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1578
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1579
  case relocInfo::external_word_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1580
    _rspec = external_word_Relocation::spec(target);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1581
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1582
  case relocInfo::internal_word_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1583
    _rspec = internal_word_Relocation::spec(target);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1584
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1585
  case relocInfo::opt_virtual_call_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1586
    _rspec = opt_virtual_call_Relocation::spec();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1587
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1588
  case relocInfo::static_call_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1589
    _rspec = static_call_Relocation::spec();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1590
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1591
  case relocInfo::runtime_call_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1592
    _rspec = runtime_call_Relocation::spec();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1593
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1594
  case relocInfo::poll_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1595
  case relocInfo::poll_return_type:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1596
    _rspec = Relocation::spec_simple(rtype);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1597
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1598
  case relocInfo::none:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1599
    _rspec = RelocationHolder::none;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1600
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1601
  default:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1602
    ShouldNotReachHere();
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1603
    break;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1604
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1605
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1606
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1607
void Assembler::b(const Address &dest) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1608
  code_section()->relocate(pc(), dest.rspec());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1609
  b(dest.target());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1610
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1611
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1612
void Assembler::bl(const Address &dest) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1613
  code_section()->relocate(pc(), dest.rspec());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1614
  bl(dest.target());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1615
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1616
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1617
void Assembler::adr(Register r, const Address &dest) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1618
  code_section()->relocate(pc(), dest.rspec());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1619
  adr(r, dest.target());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1620
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1621
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1622
void Assembler::br(Condition cc, Label &L) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1623
  if (L.is_bound()) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1624
    br(cc, target(L));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1625
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1626
    L.add_patch_at(code(), locator());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1627
    br(cc, pc());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1628
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1629
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1630
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1631
void Assembler::wrap_label(Label &L,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1632
                                 Assembler::uncond_branch_insn insn) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1633
  if (L.is_bound()) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1634
    (this->*insn)(target(L));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1635
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1636
    L.add_patch_at(code(), locator());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1637
    (this->*insn)(pc());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1638
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1639
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1640
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1641
void Assembler::wrap_label(Register r, Label &L,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1642
                                 compare_and_branch_insn insn) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1643
  if (L.is_bound()) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1644
    (this->*insn)(r, target(L));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1645
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1646
    L.add_patch_at(code(), locator());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1647
    (this->*insn)(r, pc());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1648
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1649
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1650
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1651
void Assembler::wrap_label(Register r, int bitpos, Label &L,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1652
                                 test_and_branch_insn insn) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1653
  if (L.is_bound()) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1654
    (this->*insn)(r, bitpos, target(L));
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1655
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1656
    L.add_patch_at(code(), locator());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1657
    (this->*insn)(r, bitpos, pc());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1658
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1659
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1660
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1661
void Assembler::wrap_label(Label &L, prfop op, prefetch_insn insn) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1662
  if (L.is_bound()) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1663
    (this->*insn)(target(L), op);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1664
  } else {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1665
    L.add_patch_at(code(), locator());
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1666
    (this->*insn)(pc(), op);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1667
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1668
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1669
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1670
// An "all-purpose" add/subtract immediate, per ARM documentation:
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1671
// A "programmer-friendly" assembler may accept a negative immediate
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1672
// between -(2^24 -1) and -1 inclusive, causing it to convert a
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1673
// requested ADD operation to a SUB, or vice versa, and then encode
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1674
// the absolute value of the immediate as for uimm24.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1675
void Assembler::add_sub_immediate(Register Rd, Register Rn, unsigned uimm, int op,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1676
                                  int negated_op) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1677
  bool sets_flags = op & 1;   // this op sets flags
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1678
  union {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1679
    unsigned u;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1680
    int imm;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1681
  };
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1682
  u = uimm;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1683
  bool shift = false;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1684
  bool neg = imm < 0;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1685
  if (neg) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1686
    imm = -imm;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1687
    op = negated_op;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1688
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1689
  assert(Rd != sp || imm % 16 == 0, "misaligned stack");
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1690
  if (imm >= (1 << 11)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1691
      && ((imm >> 12) << 12 == imm)) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1692
    imm >>= 12;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1693
    shift = true;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1694
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1695
  f(op, 31, 29), f(0b10001, 28, 24), f(shift, 23, 22), f(imm, 21, 10);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1696
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1697
  // add/subtract immediate ops with the S bit set treat r31 as zr;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1698
  // with S unset they use sp.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1699
  if (sets_flags)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1700
    zrf(Rd, 0);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1701
  else
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1702
    srf(Rd, 0);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1703
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1704
  srf(Rn, 5);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1705
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1706
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1707
bool Assembler::operand_valid_for_add_sub_immediate(long imm) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1708
  bool shift = false;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1709
  unsigned long uimm = uabs(imm);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1710
  if (uimm < (1 << 12))
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1711
    return true;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1712
  if (uimm < (1 << 24)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1713
      && ((uimm >> 12) << 12 == uimm)) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1714
    return true;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1715
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1716
  return false;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1717
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1718
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1719
bool Assembler::operand_valid_for_logical_immediate(bool is32, uint64_t imm) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1720
  return encode_logical_immediate(is32, imm) != 0xffffffff;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1721
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1722
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1723
static uint64_t doubleTo64Bits(jdouble d) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1724
  union {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1725
    jdouble double_value;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1726
    uint64_t double_bits;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1727
  };
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1728
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1729
  double_value = d;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1730
  return double_bits;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1731
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1732
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1733
bool Assembler::operand_valid_for_float_immediate(double imm) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1734
  // If imm is all zero bits we can use ZR as the source of a
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1735
  // floating-point value.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1736
  if (doubleTo64Bits(imm) == 0)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1737
    return true;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1738
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1739
  // Otherwise try to encode imm then convert the encoded value back
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1740
  // and make sure it's the exact same bit pattern.
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1741
  unsigned result = encoding_for_fp_immediate(imm);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1742
  return doubleTo64Bits(imm) == fp_immediate_for_encoding(result, true);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1743
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1744
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1745
int AbstractAssembler::code_fill_byte() {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1746
  return 0;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1747
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1748
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1749
// n.b. this is implemented in subclass MacroAssembler
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1750
void Assembler::bang_stack_with_offset(int offset) { Unimplemented(); }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1751
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1752
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1753
// and now the routines called by the assembler which encapsulate the
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1754
// above encode and decode functions
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1755
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1756
uint32_t
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1757
asm_util::encode_logical_immediate(bool is32, uint64_t imm)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1758
{
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1759
  if (is32) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1760
    /* Allow all zeros or all ones in top 32-bits, so that
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1761
       constant expressions like ~1 are permitted. */
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1762
    if (imm >> 32 != 0 && imm >> 32 != 0xffffffff)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1763
      return 0xffffffff;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1764
    /* Replicate the 32 lower bits to the 32 upper bits.  */
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1765
    imm &= 0xffffffff;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1766
    imm |= imm << 32;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1767
  }
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1768
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1769
  return encoding_for_logical_immediate(imm);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1770
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1771
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1772
unsigned Assembler::pack(double value) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1773
  float val = (float)value;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1774
  unsigned result = encoding_for_fp_immediate(val);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1775
  guarantee(unpack(result) == value,
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1776
            "Invalid floating-point immediate operand");
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1777
  return result;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1778
}
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1779
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1780
// Packed operands for  Floating-point Move (immediate)
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1781
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1782
static float unpack(unsigned value) {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1783
  union {
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1784
    unsigned ival;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1785
    float val;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1786
  };
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1787
  ival = fp_immediate_for_encoding(value, 0);
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1788
  return val;
0cc8699f7372 8068054: AARCH64: Assembler interpreter, shared runtime
aph
parents:
diff changeset
  1789
}