; 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]