diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64InstrInfo.td | 2 | ||||
| -rw-r--r-- | llvm/test/MC/AArch64/basic-a64-instructions.s | 4 | ||||
| -rw-r--r-- | llvm/test/MC/AArch64/speculation-barriers.s (renamed from llvm/test/MC/AArch64/csdb.s) | 7 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt | 2 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/AArch64/speculation-barriers.txt (renamed from llvm/test/MC/Disassembler/AArch64/csdb.txt) | 7 | 
5 files changed, 17 insertions, 5 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index f6b798724d3..f424fa27f2f 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -650,6 +650,8 @@ def SB : SimpleSystemI<0, (ins), "sb", "">, Sched<[]> {  def : InstAlias<"clrex", (CLREX 0xf)>;  def : InstAlias<"isb", (ISB 0xf)>; +def : InstAlias<"ssbb", (DSB 0)>; +def : InstAlias<"pssbb", (DSB 4)>;  def MRS    : MRSI;  def MSR    : MSRI; diff --git a/llvm/test/MC/AArch64/basic-a64-instructions.s b/llvm/test/MC/AArch64/basic-a64-instructions.s index 46b2397ec73..07afdba8c37 100644 --- a/llvm/test/MC/AArch64/basic-a64-instructions.s +++ b/llvm/test/MC/AArch64/basic-a64-instructions.s @@ -3482,6 +3482,7 @@ _func:  // CHECK: clrex                           // encoding: [0x5f,0x3f,0x03,0xd5]          dsb #0 +        dsb #4          dsb #12          dsb #15          dsb oshld @@ -3496,7 +3497,8 @@ _func:          dsb ld          dsb st          dsb sy -// CHECK: dsb     #0                      // encoding: [0x9f,0x30,0x03,0xd5] +// CHECK: ssbb                            // encoding: [0x9f,0x30,0x03,0xd5] +// CHECK: pssbb                           // encoding: [0x9f,0x34,0x03,0xd5]  // CHECK: dsb     #12                     // encoding: [0x9f,0x3c,0x03,0xd5]  // CHECK: dsb     sy                      // encoding: [0x9f,0x3f,0x03,0xd5]  // CHECK: dsb     oshld                   // encoding: [0x9f,0x31,0x03,0xd5] diff --git a/llvm/test/MC/AArch64/csdb.s b/llvm/test/MC/AArch64/speculation-barriers.s index bc52280ba85..0ab3fe7923e 100644 --- a/llvm/test/MC/AArch64/csdb.s +++ b/llvm/test/MC/AArch64/speculation-barriers.s @@ -1,4 +1,9 @@  // RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s | FileCheck %s -  csdb +csdb +ssbb +pssbb +  // CHECK: csdb   // encoding: [0x9f,0x22,0x03,0xd5] +// CHECK: ssbb   // encoding: [0x9f,0x30,0x03,0xd5] +// CHECK: pssbb  // encoding: [0x9f,0x34,0x03,0xd5] diff --git a/llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt b/llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt index 33b8d6b4de4..74edc4c4a54 100644 --- a/llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt +++ b/llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt @@ -3048,7 +3048,6 @@  0x5f 0x37 0x3 0xd5  0x5f 0x3f 0x3 0xd5 -# CHECK: dsb      #0  # CHECK: dsb      #12  # CHECK: dsb      sy  # CHECK: dsb      oshld @@ -3063,7 +3062,6 @@  # CHECK: dsb      ld  # CHECK: dsb      st  # CHECK: dsb      sy -0x9f 0x30 0x3 0xd5  0x9f 0x3c 0x3 0xd5  0x9f 0x3f 0x3 0xd5  0x9f 0x31 0x3 0xd5 diff --git a/llvm/test/MC/Disassembler/AArch64/csdb.txt b/llvm/test/MC/Disassembler/AArch64/speculation-barriers.txt index ca78f765122..19070a0217d 100644 --- a/llvm/test/MC/Disassembler/AArch64/csdb.txt +++ b/llvm/test/MC/Disassembler/AArch64/speculation-barriers.txt @@ -1,4 +1,9 @@  # RUN: llvm-mc -triple aarch64-none-linux-gnu --disassemble < %s | FileCheck %s  [0x9f,0x22,0x03,0xd5] -# CHECK: csdb +[0x9f,0x30,0x03,0xd5] +[0x9f,0x34,0x03,0xd5] + +# CHECK:      csdb +# CHECK-NEXT: ssbb +# CHECK-NEXT: pssbb  | 

