Home | History | Annotate | Download | only in ARM
      1 @ New ARMv8 A32 encodings
      2 
      3 @ RUN: llvm-mc -triple armv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8
      4 @ RUN: not llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
      5 
      6 @ HLT
      7         hlt  #0
      8         hlt  #65535
      9 @ CHECK-V8: hlt  #0                       @ encoding: [0x70,0x00,0x00,0xe1]
     10 @ CHECK-V8: hlt  #65535                   @ encoding: [0x7f,0xff,0x0f,0xe1]
     11 @ CHECK-V7: error: instruction requires: armv8
     12 @ CHECK-V7: error: instruction requires: armv8
     13 
     14 @ AL condition code allowable
     15         hltal  #0
     16 @ CHECK-V8: hlt  #0                       @ encoding: [0x70,0x00,0x00,0xe1]
     17 @ CHECK-V7: error: instruction requires: armv8
     18 
     19 @------------------------------------------------------------------------------
     20 @ DMB (v8 barriers)
     21 @------------------------------------------------------------------------------
     22         dmb ishld
     23         dmb oshld
     24         dmb nshld
     25         dmb ld
     26 
     27 @ CHECK-V8: dmb ishld @ encoding: [0x59,0xf0,0x7f,0xf5]
     28 @ CHECK-V8: dmb oshld @ encoding: [0x51,0xf0,0x7f,0xf5]
     29 @ CHECK-V8: dmb nshld @ encoding: [0x55,0xf0,0x7f,0xf5]
     30 @ CHECK-V8: dmb ld @ encoding: [0x5d,0xf0,0x7f,0xf5]
     31 @ CHECK-V7: error: invalid operand for instruction
     32 @ CHECK-V7: error: invalid operand for instruction
     33 @ CHECK-V7: error: invalid operand for instruction
     34 @ CHECK-V7: error: invalid operand for instruction
     35 
     36 @------------------------------------------------------------------------------
     37 @ DSB (v8 barriers)
     38 @------------------------------------------------------------------------------
     39         dsb ishld
     40         dsb oshld
     41         dsb nshld
     42         dsb ld
     43 
     44 @ CHECK-V8: dsb ishld @ encoding: [0x49,0xf0,0x7f,0xf5]
     45 @ CHECK-V8: dsb oshld @ encoding: [0x41,0xf0,0x7f,0xf5]
     46 @ CHECK-V8: dsb nshld @ encoding: [0x45,0xf0,0x7f,0xf5]
     47 @ CHECK-V8: dsb ld @ encoding: [0x4d,0xf0,0x7f,0xf5]
     48 @ CHECK-V7: error: invalid operand for instruction
     49 @ CHECK-V7: error: invalid operand for instruction
     50 @ CHECK-V7: error: invalid operand for instruction
     51 @ CHECK-V7: error: invalid operand for instruction
     52 
     53 @------------------------------------------------------------------------------
     54 @ SEVL
     55 @------------------------------------------------------------------------------
     56         sevl
     57 
     58 @ CHECK-V8: sevl @ encoding: [0x05,0xf0,0x20,0xe3]
     59 @ CHECK-V7: error: instruction requires: armv8
     60