Home | History | Annotate | Download | only in AArch64
      1 // RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
      2 
      3 // Check that the assembler can handle the documented syntax for AArch64
      4 
      5 //------------------------------------------------------------------------------
      6 // Vector And
      7 //------------------------------------------------------------------------------
      8          and v0.8b, v1.8b, v2.8b
      9          and v0.16b, v1.16b, v2.16b
     10 
     11 // CHECK: and v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x0e]
     12 // CHECK: and v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x4e]
     13 
     14 
     15 //------------------------------------------------------------------------------
     16 // Vector Orr
     17 //------------------------------------------------------------------------------
     18          orr v0.8b, v1.8b, v2.8b
     19          orr v0.16b, v1.16b, v2.16b
     20 
     21 // CHECK: orr v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x0e]
     22 // CHECK: orr v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x4e]
     23 
     24 
     25 //------------------------------------------------------------------------------
     26 // Vector Eor
     27 //------------------------------------------------------------------------------
     28          eor v0.8b, v1.8b, v2.8b
     29          eor v0.16b, v1.16b, v2.16b
     30 
     31 // CHECK: eor v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x2e]
     32 // CHECK: eor v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x6e]
     33 
     34 
     35 //----------------------------------------------------------------------
     36 // Vector Bitwise
     37 //----------------------------------------------------------------------
     38 
     39          bit v0.8b, v1.8b, v2.8b
     40          bit v0.16b, v1.16b, v2.16b
     41          bif v0.8b, v1.8b, v2.8b
     42          bif v0.16b, v1.16b, v2.16b
     43          bsl v0.8b, v1.8b, v2.8b
     44          bsl v0.16b, v1.16b, v2.16b
     45          orn v0.8b, v1.8b, v2.8b
     46          orn v0.16b, v1.16b, v2.16b
     47          bic v0.8b, v1.8b, v2.8b
     48          bic v0.16b, v1.16b, v2.16b
     49 
     50 // CHECK: bit v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x2e]
     51 // CHECK: bit v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x6e]
     52 // CHECK: bif v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x2e]
     53 // CHECK: bif v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x6e]
     54 // CHECK: bsl v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x2e]
     55 // CHECK: bsl v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x6e]
     56 // CHECK: orn v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x0e]
     57 // CHECK: orn v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x4e]
     58 // CHECK: bic v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x0e]
     59 // CHECK: bic v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x4e]
     60 
     61