// RUN: llvm-mc -triple=aarch64-none-linux-gnu < %s | FileCheck %s // RUN: not llvm-mc -mattr=+no-neg-immediates -triple=aarch64-none-linux-gnu < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-NEG-IMM // CHECK: and x0, x1, #0xfffffffffffffffd // CHECK: and x0, x1, #0xfffffffffffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates and x0, x1, #~2 bic x0, x1, #2 // CHECK: and w0, w1, #0xfffffffd // CHECK: and w0, w1, #0xfffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates and w0, w1, #~2 bic w0, w1, #2 // CHECK: ands x0, x1, #0xfffffffffffffffd // CHECK: ands x0, x1, #0xfffffffffffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates ands x0, x1, #~2 bics x0, x1, #2 // CHECK: ands w0, w1, #0xfffffffd // CHECK: ands w0, w1, #0xfffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates ands w0, w1, #~2 bics w0, w1, #2 // CHECK: orr x0, x1, #0xfffffffffffffffd // CHECK: orr x0, x1, #0xfffffffffffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates orr x0, x1, #~2 orn x0, x1, #2 // CHECK: orr w2, w1, #0xfffffffc // CHECK: orr w2, w1, #0xfffffffc // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates orr w2, w1, #~3 orn w2, w1, #3 // CHECK: eor x0, x1, #0xfffffffffffffffd // CHECK: eor x0, x1, #0xfffffffffffffffd // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates eor x0, x1, #~2 eon x0, x1, #2 // CHECK: eor w2, w1, #0xfffffffc // CHECK: eor w2, w1, #0xfffffffc // CHECK-NO-NEG-IMM: instruction requires: NegativeImmediates eor w2, w1, #~3 eon w2, w1, #3