1// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a < %s | FileCheck %s 2// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.8a < %s 2>&1 | FileCheck --check-prefix=NO-CSSC-ERR %s 3// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a < %s | FileCheck %s 4// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.3a < %s 2>&1 | FileCheck --check-prefix=NO-CSSC-ERR %s 5 6 abs x0, x1 7// CHECK: abs x0, x1 // encoding: [0x20,0x20,0xc0,0xda] 8// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 9 abs w0, w1 10// CHECK: abs w0, w1 // encoding: [0x20,0x20,0xc0,0x5a] 11// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 12 cnt x0, x1 13// CHECK: cnt x0, x1 // encoding: [0x20,0x1c,0xc0,0xda] 14// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 15 cnt w0, w1 16// CHECK: cnt w0, w1 // encoding: [0x20,0x1c,0xc0,0x5a] 17// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 18 ctz x0, x1 19// CHECK: ctz x0, x1 // encoding: [0x20,0x18,0xc0,0xda] 20// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 21 ctz w0, w1 22// CHECK: ctz w0, w1 // encoding: [0x20,0x18,0xc0,0x5a] 23// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 24 25 smax x1, x2, x3 26// CHECK: smax x1, x2, x3 // encoding: [0x41,0x60,0xc3,0x9a] 27// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 28 smax x1, x2, #3 29// CHECK: smax x1, x2, #3 // encoding: [0x41,0x0c,0xc0,0x91] 30// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 31 smax w1, w2, w3 32// CHECK: smax w1, w2, w3 // encoding: [0x41,0x60,0xc3,0x1a] 33// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 34 smax w1, w2, #3 35// CHECK: smax w1, w2, #3 // encoding: [0x41,0x0c,0xc0,0x11] 36// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 37 smin x1, x2, x3 38// CHECK: smin x1, x2, x3 // encoding: [0x41,0x68,0xc3,0x9a] 39// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 40 smin x1, x2, #3 41// CHECK: smin x1, x2, #3 // encoding: [0x41,0x0c,0xc8,0x91] 42// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 43 smin w1, w2, w3 44// CHECK: smin w1, w2, w3 // encoding: [0x41,0x68,0xc3,0x1a] 45// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 46 smin w1, w2, #3 47// CHECK: smin w1, w2, #3 // encoding: [0x41,0x0c,0xc8,0x11] 48// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 49 umax x1, x2, x3 50// CHECK: umax x1, x2, x3 // encoding: [0x41,0x64,0xc3,0x9a] 51// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 52 umax x1, x2, #3 53// CHECK: umax x1, x2, #3 // encoding: [0x41,0x0c,0xc4,0x91] 54// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 55 umax w1, w2, w3 56// CHECK: umax w1, w2, w3 // encoding: [0x41,0x64,0xc3,0x1a] 57// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 58 umax w1, w2, #3 59// CHECK: umax w1, w2, #3 // encoding: [0x41,0x0c,0xc4,0x11] 60// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 61 umin x1, x2, x3 62// CHECK: umin x1, x2, x3 // encoding: [0x41,0x6c,0xc3,0x9a] 63// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 64 umin x1, x2, #3 65// CHECK: umin x1, x2, #3 // encoding: [0x41,0x0c,0xcc,0x91] 66// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 67 umin w1, w2, w3 68// CHECK: umin w1, w2, w3 // encoding: [0x41,0x6c,0xc3,0x1a] 69// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 70 umin w1, w2, #3 71// CHECK: umin w1, w2, #3 // encoding: [0x41,0x0c,0xcc,0x11] 72// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 73 74 75 umax wzr, wzr, #255 76// CHECK: umax wzr, wzr, #255 // encoding: [0xff,0xff,0xc7,0x11] 77// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 78 umax xzr, xzr, #255 79// CHECK: umax xzr, xzr, #255 // encoding: [0xff,0xff,0xc7,0x91] 80// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 81 umin xzr, xzr, #255 82// CHECK: umin xzr, xzr, #255 // encoding: [0xff,0xff,0xcf,0x91] 83// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 84 umin wzr, wzr, #255 85// CHECK: umin wzr, wzr, #255 // encoding: [0xff,0xff,0xcf,0x11] 86// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 87 smax xzr, xzr, #-1 88// CHECK: smax xzr, xzr, #-1 // encoding: [0xff,0xff,0xc3,0x91] 89// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 90 smax wzr, wzr, #-1 91// CHECK: smax wzr, wzr, #-1 // encoding: [0xff,0xff,0xc3,0x11] 92// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 93 smin xzr, xzr, #-1 94// CHECK: smin xzr, xzr, #-1 // encoding: [0xff,0xff,0xcb,0x91] 95// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 96 smin wzr, wzr, #-1 97// CHECK: smin wzr, wzr, #-1 // encoding: [0xff,0xff,0xcb,0x11] 98// NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc 99