reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
; RUN: llvm-mc -triple aarch64-apple-ios -mattr=+lse %s | FileCheck %s

    ; CHECK: ldaddab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldaddah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldadda w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldadda x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldaddab w3, wzr, [x5]
    ldaddah w5, wzr, [x0]
    ldadda w7, wzr, [x5]
    ldadda x9, xzr, [sp]

    ; CHECK: ldaddalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldaddalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldaddal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldaddal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldaddalb w3, wzr, [x5]
    ldaddalh w5, wzr, [x0]
    ldaddal w7, wzr, [x5]
    ldaddal x9, xzr, [sp]

    ; CHECK: ldclrab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclrah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclra w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclra x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldclrab w3, wzr, [x5]
    ldclrah w5, wzr, [x0]
    ldclra w7, wzr, [x5]
    ldclra x9, xzr, [sp]

    ; CHECK: ldclralb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclralh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclral w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldclral x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldclralb w3, wzr, [x5]
    ldclralh w5, wzr, [x0]
    ldclral w7, wzr, [x5]
    ldclral x9, xzr, [sp]

    ; CHECK: ldeorab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeorah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeora w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeora x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldeorab w3, wzr, [x5]
    ldeorah w5, wzr, [x0]
    ldeora w7, wzr, [x5]
    ldeora x9, xzr, [sp]

    ; CHECK: ldeoralb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeoralh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeoral w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldeoral x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldeoralb w3, wzr, [x5]
    ldeoralh w5, wzr, [x0]
    ldeoral w7, wzr, [x5]
    ldeoral x9, xzr, [sp]

    ; CHECK: ldsetab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsetah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldseta w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldseta x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsetab w3, wzr, [x5]
    ldsetah w5, wzr, [x0]
    ldseta w7, wzr, [x5]
    ldseta x9, xzr, [sp]

    ; CHECK: ldsetalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsetalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsetal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsetal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsetalb w3, wzr, [x5]
    ldsetalh w5, wzr, [x0]
    ldsetal w7, wzr, [x5]
    ldsetal x9, xzr, [sp]

    ; CHECK: ldsmaxab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsmaxab w3, wzr, [x5]
    ldsmaxah w5, wzr, [x0]
    ldsmaxa w7, wzr, [x5]
    ldsmaxa x9, xzr, [sp]

    ; CHECK: ldsmaxalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmaxal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsmaxalb w3, wzr, [x5]
    ldsmaxalh w5, wzr, [x0]
    ldsmaxal w7, wzr, [x5]
    ldsmaxal x9, xzr, [sp]

    ; CHECK: ldsminab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsminah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmina w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsmina x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsminab w3, wzr, [x5]
    ldsminah w5, wzr, [x0]
    ldsmina w7, wzr, [x5]
    ldsmina x9, xzr, [sp]

    ; CHECK: ldsminalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsminalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsminal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldsminal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldsminalb w3, wzr, [x5]
    ldsminalh w5, wzr, [x0]
    ldsminal w7, wzr, [x5]
    ldsminal x9, xzr, [sp]

    ; CHECK: ldumaxab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldumaxab w3, wzr, [x5]
    ldumaxah w5, wzr, [x0]
    ldumaxa w7, wzr, [x5]
    ldumaxa x9, xzr, [sp]

    ; CHECK: ldumaxalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumaxal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    ldumaxalb w3, wzr, [x5]
    ldumaxalh w5, wzr, [x0]
    ldumaxal w7, wzr, [x5]
    ldumaxal x9, xzr, [sp]

    ; CHECK: lduminab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: lduminah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumina w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: ldumina x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    lduminab w3, wzr, [x5]
    lduminah w5, wzr, [x0]
    ldumina w7, wzr, [x5]
    ldumina x9, xzr, [sp]

    ; CHECK: lduminalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: lduminalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: lduminal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: lduminal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    lduminalb w3, wzr, [x5]
    lduminalh w5, wzr, [x0]
    lduminal w7, wzr, [x5]
    lduminal x9, xzr, [sp]

    ; CHECK: swpab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: swpah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: swpa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: swpa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    swpab w3, wzr, [x5]
    swpah w5, wzr, [x0]
    swpa w7, wzr, [x5]
    swpa x9, xzr, [sp]

    ; CHECK: swpalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: swpalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
    ; CHECK: swpal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
    ; CHECK: swpal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
    swpalb w3, wzr, [x5]
    swpalh w5, wzr, [x0]
    swpal w7, wzr, [x5]
    swpal x9, xzr, [sp]

    ; CHECK: ldaddal xzr, x3, [x0]{{$}}
    ; CHECK: ldeora wzr, w7, [x5]{{$}}
    ; CHECK: ldsminb w5, w9, [sp]{{$}}
    ldaddal xzr, x3, [x0]
    ldeora wzr, w7, [x5]
    ldsminb w5, w9, [sp]

    ; CAS instructions aren't affected.

    ; CHECK: casab w3, wzr, [x5]{{$}}
    ; CHECK: casah w5, wzr, [x0]{{$}}
    ; CHECK: casa w7, wzr, [x5]{{$}}
    ; CHECK: casa x9, xzr, [sp]{{$}}
    casab w3, wzr, [x5]
    casah w5, wzr, [x0]
    casa w7, wzr, [x5]
    casa x9, xzr, [sp]

    ; CHECK: casalb w3, wzr, [x5]{{$}}
    ; CHECK: casalh w5, wzr, [x0]{{$}}
    ; CHECK: casal w7, wzr, [x5]{{$}}
    ; CHECK: casal x9, xzr, [sp]{{$}}
    casalb w3, wzr, [x5]
    casalh w5, wzr, [x0]
    casal w7, wzr, [x5]
    casal x9, xzr, [sp]