80 lines · plain
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.1a < %s 2>%t | FileCheck %s2// RUN: FileCheck --check-prefix=CHECK-ERROR %s <%t3 4 5//------------------------------------------------------------------------------6// Load acquire / store release7//------------------------------------------------------------------------------8 ldlarb w0,[x1]9 ldlarh w0,[x1]10 ldlar w0,[x1]11 ldlar x0,[x1]12// CHECK: ldlarb w0, [x1] // encoding: [0x20,0x7c,0xdf,0x08]13// CHECK: ldlarh w0, [x1] // encoding: [0x20,0x7c,0xdf,0x48]14// CHECK: ldlar w0, [x1] // encoding: [0x20,0x7c,0xdf,0x88]15// CHECK: ldlar x0, [x1] // encoding: [0x20,0x7c,0xdf,0xc8]16 stllrb w0,[x1]17 stllrh w0,[x1]18 stllr w0,[x1]19 stllr x0,[x1]20// CHECK: stllrb w0, [x1] // encoding: [0x20,0x7c,0x9f,0x08]21// CHECK: stllrh w0, [x1] // encoding: [0x20,0x7c,0x9f,0x48]22// CHECK: stllr w0, [x1] // encoding: [0x20,0x7c,0x9f,0x88]23// CHECK: stllr x0, [x1] // encoding: [0x20,0x7c,0x9f,0xc8]24 25 msr LORSA_EL1, x026 msr LOREA_EL1, x027 msr LORN_EL1, x028 msr LORC_EL1, x029 mrs x0, LORID_EL130// CHECK: msr LORSA_EL1, x0 // encoding: [0x00,0xa4,0x18,0xd5]31// CHECK: msr LOREA_EL1, x0 // encoding: [0x20,0xa4,0x18,0xd5]32// CHECK: msr LORN_EL1, x0 // encoding: [0x40,0xa4,0x18,0xd5]33// CHECK: msr LORC_EL1, x0 // encoding: [0x60,0xa4,0x18,0xd5]34// CHECK: mrs x0, LORID_EL1 // encoding: [0xe0,0xa4,0x38,0xd5]35 36 ldlarb w0,[w1]37 ldlarh x0,[x1]38 stllrb w0,[w1]39 stllrh x0,[x1]40 stllr w0,[w1]41 msr LORSA_EL1, #042 msr LOREA_EL1, #043 msr LORN_EL1, #044 msr LORC_EL1, #045 msr LORID_EL1, x046 mrs LORID_EL1, #047// CHECK-ERROR: error: invalid operand for instruction48// CHECK-ERROR: ldlarb w0,[w1]49// CHECK-ERROR: ^50// CHECK-ERROR: error: invalid operand for instruction51// CHECK-ERROR: ldlarh x0,[x1]52// CHECK-ERROR: ^53// CHECK-ERROR: error: invalid operand for instruction54// CHECK-ERROR: stllrb w0,[w1]55// CHECK-ERROR: ^56// CHECK-ERROR: error: invalid operand for instruction57// CHECK-ERROR: stllrh x0,[x1]58// CHECK-ERROR: ^59// CHECK-ERROR: error: invalid operand for instruction60// CHECK-ERROR: stllr w0,[w1]61// CHECK-ERROR: ^62// CHECK-ERROR: error: invalid operand for instruction63// CHECK-ERROR: msr LORSA_EL1, #064// CHECK-ERROR: ^65// CHECK-ERROR: error: invalid operand for instruction66// CHECK-ERROR: msr LOREA_EL1, #067// CHECK-ERROR: ^68// CHECK-ERROR: error: invalid operand for instruction69// CHECK-ERROR: msr LORN_EL1, #070// CHECK-ERROR: ^71// CHECK-ERROR: error: invalid operand for instruction72// CHECK-ERROR: msr LORC_EL1, #073// CHECK-ERROR: ^74// CHECK-ERROR: error: expected writable system register or pstate75// CHECK-ERROR: msr LORID_EL1, x076// CHECK-ERROR: ^77// CHECK-ERROR: error: invalid operand for instruction78// CHECK-ERROR: mrs LORID_EL1, #079// CHECK-ERROR: ^80