Home | History | Annotate | Download | only in AArch64
      1 // RUN: llvm-mc -triple=aarch64-none-linux-gnu < %s | FileCheck %s
      2 // RUN: not llvm-mc -mattr=+no-neg-immediates -triple=aarch64-none-linux-gnu < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-NEG-IMM
      3 
      4 // CHECK: and x0, x1, #0xfffffffffffffffd
      5 // CHECK: and x0, x1, #0xfffffffffffffffd
      6 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
      7         and x0, x1, #~2
      8         bic x0, x1, #2
      9 
     10 // CHECK: and w0, w1, #0xfffffffd
     11 // CHECK: and w0, w1, #0xfffffffd
     12 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     13         and w0, w1, #~2
     14         bic w0, w1, #2
     15 
     16 // CHECK: ands x0, x1, #0xfffffffffffffffd
     17 // CHECK: ands x0, x1, #0xfffffffffffffffd
     18 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     19         ands x0, x1, #~2
     20         bics x0, x1, #2
     21 
     22 // CHECK: ands w0, w1, #0xfffffffd
     23 // CHECK: ands w0, w1, #0xfffffffd
     24 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     25         ands w0, w1, #~2
     26         bics w0, w1, #2
     27 
     28 // CHECK: orr x0, x1, #0xfffffffffffffffd
     29 // CHECK: orr x0, x1, #0xfffffffffffffffd
     30 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     31         orr x0, x1, #~2
     32         orn x0, x1, #2
     33 
     34 // CHECK: orr w2, w1, #0xfffffffc
     35 // CHECK: orr w2, w1, #0xfffffffc
     36 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     37         orr w2, w1, #~3
     38         orn w2, w1, #3
     39 
     40 // CHECK: eor x0, x1, #0xfffffffffffffffd
     41 // CHECK: eor x0, x1, #0xfffffffffffffffd
     42 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     43         eor x0, x1, #~2
     44         eon x0, x1, #2
     45 
     46 // CHECK: eor w2, w1, #0xfffffffc
     47 // CHECK: eor w2, w1, #0xfffffffc
     48 // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates
     49         eor w2, w1, #~3
     50         eon w2, w1, #3
     51