54 lines · plain
1// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a %s -o - | \2// RUN: FileCheck %s3 4// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+flagm %s -o - 2>&1 | \5// RUN: FileCheck %s6 7// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-v8.4a %s -o - 2>&1 | \8// RUN: FileCheck %s --check-prefix=ERROR9 10// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a,-flagm %s -o - 2>&1 | \11// RUN: FileCheck %s --check-prefix=ERROR12 13//------------------------------------------------------------------------------14// Armv8.4-A flag manipulation instructions15//------------------------------------------------------------------------------16 17 cfinv18 setf8 w119 setf8 wzr20 setf16 w121 setf16 wzr22 rmif x1, #63, #1523 rmif xzr, #63, #1524 25//CHECK: cfinv // encoding: [0x1f,0x40,0x00,0xd5]26//CHECK-NEXT: setf8 w1 // encoding: [0x2d,0x08,0x00,0x3a]27//CHECK-NEXT: setf8 wzr // encoding: [0xed,0x0b,0x00,0x3a]28//CHECK-NEXT: setf16 w1 // encoding: [0x2d,0x48,0x00,0x3a]29//CHECK-NEXT: setf16 wzr // encoding: [0xed,0x4b,0x00,0x3a]30//CHECK-NEXT: rmif x1, #63, #15 // encoding: [0x2f,0x84,0x1f,0xba]31//CHECK-NEXT: rmif xzr, #63, #15 // encoding: [0xef,0x87,0x1f,0xba]32 33//ERROR: error: instruction requires: flagm34//ERROR-NEXT: cfinv35//ERROR-NEXT: ^36//ERROR-NEXT: error: instruction requires: flagm37//ERROR-NEXT: setf8 w138//ERROR-NEXT: ^39//ERROR-NEXT: error: instruction requires: flagm40//ERROR-NEXT: setf8 wzr41//ERROR-NEXT: ^42//ERROR-NEXT: error: instruction requires: flagm43//ERROR-NEXT: setf16 w144//ERROR-NEXT: ^45//ERROR-NEXT: error: instruction requires: flagm46//ERROR-NEXT: setf16 wzr47//ERROR-NEXT: ^48//ERROR-NEXT: error: instruction requires: flagm49//ERROR-NEXT: rmif x1, #63, #1550//ERROR-NEXT: ^51//ERROR-NEXT: error: instruction requires: flagm52//ERROR-NEXT: rmif xzr, #63, #1553//ERROR-NEXT: ^54