| // RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a < %s      | FileCheck %s | 
 | // RUN: not llvm-mc -triple aarch64-none-linux-gnu                -mattr=+v8.8a < %s 2>&1 | FileCheck --check-prefix=NO-CSSC-ERR %s | 
 | // RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a < %s      | FileCheck %s | 
 | // RUN: not llvm-mc -triple aarch64-none-linux-gnu                -mattr=+v9.3a < %s 2>&1 | FileCheck --check-prefix=NO-CSSC-ERR %s | 
 |  | 
 |             abs     x0, x1 | 
 | // CHECK:   abs     x0, x1       // encoding: [0x20,0x20,0xc0,0xda] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             abs     w0, w1 | 
 | // CHECK:   abs     w0, w1       // encoding: [0x20,0x20,0xc0,0x5a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             cnt     x0, x1 | 
 | // CHECK:   cnt     x0, x1       // encoding: [0x20,0x1c,0xc0,0xda] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             cnt     w0, w1 | 
 | // CHECK:   cnt     w0, w1       // encoding: [0x20,0x1c,0xc0,0x5a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             ctz     x0, x1 | 
 | // CHECK:   ctz     x0, x1       // encoding: [0x20,0x18,0xc0,0xda] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             ctz     w0, w1 | 
 | // CHECK:   ctz     w0, w1       // encoding: [0x20,0x18,0xc0,0x5a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |  | 
 |             smax    x1, x2, x3 | 
 | // CHECK:   smax    x1, x2, x3   // encoding: [0x41,0x60,0xc3,0x9a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smax    x1, x2, #3 | 
 | // CHECK:   smax    x1, x2, #3   // encoding: [0x41,0x0c,0xc0,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smax    w1, w2, w3 | 
 | // CHECK:   smax    w1, w2, w3   // encoding: [0x41,0x60,0xc3,0x1a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smax    w1, w2, #3 | 
 | // CHECK:   smax    w1, w2, #3   // encoding: [0x41,0x0c,0xc0,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    x1, x2, x3 | 
 | // CHECK:   smin    x1, x2, x3   // encoding: [0x41,0x68,0xc3,0x9a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    x1, x2, #3 | 
 | // CHECK:   smin    x1, x2, #3   // encoding: [0x41,0x0c,0xc8,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    w1, w2, w3 | 
 | // CHECK:   smin    w1, w2, w3   // encoding: [0x41,0x68,0xc3,0x1a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    w1, w2, #3 | 
 | // CHECK:   smin    w1, w2, #3   // encoding: [0x41,0x0c,0xc8,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umax    x1, x2, x3 | 
 | // CHECK:   umax    x1, x2, x3   // encoding: [0x41,0x64,0xc3,0x9a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umax    x1, x2, #3 | 
 | // CHECK:   umax    x1, x2, #3   // encoding: [0x41,0x0c,0xc4,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umax    w1, w2, w3 | 
 | // CHECK:   umax    w1, w2, w3   // encoding: [0x41,0x64,0xc3,0x1a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umax    w1, w2, #3 | 
 | // CHECK:   umax    w1, w2, #3   // encoding: [0x41,0x0c,0xc4,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    x1, x2, x3 | 
 | // CHECK:   umin    x1, x2, x3   // encoding: [0x41,0x6c,0xc3,0x9a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    x1, x2, #3 | 
 | // CHECK:   umin    x1, x2, #3   // encoding: [0x41,0x0c,0xcc,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    w1, w2, w3 | 
 | // CHECK:   umin    w1, w2, w3   // encoding: [0x41,0x6c,0xc3,0x1a] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    w1, w2, #3 | 
 | // CHECK:   umin    w1, w2, #3   // encoding: [0x41,0x0c,0xcc,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |  | 
 |  | 
 |             umax    wzr, wzr, #255 | 
 | // CHECK:   umax    wzr, wzr, #255    // encoding: [0xff,0xff,0xc7,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umax    xzr, xzr, #255 | 
 | // CHECK:   umax    xzr, xzr, #255    // encoding: [0xff,0xff,0xc7,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    xzr, xzr, #255 | 
 | // CHECK:   umin    xzr, xzr, #255     // encoding: [0xff,0xff,0xcf,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             umin    wzr, wzr, #255 | 
 | // CHECK:   umin    wzr, wzr, #255    // encoding: [0xff,0xff,0xcf,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smax    xzr, xzr, #-1 | 
 | // CHECK:   smax    xzr, xzr, #-1     // encoding: [0xff,0xff,0xc3,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smax    wzr, wzr, #-1 | 
 | // CHECK:   smax    wzr, wzr, #-1     // encoding: [0xff,0xff,0xc3,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    xzr, xzr, #-1 | 
 | // CHECK:   smin    xzr, xzr, #-1     // encoding: [0xff,0xff,0xcb,0x91] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc | 
 |             smin    wzr, wzr, #-1 | 
 | // CHECK:   smin    wzr, wzr, #-1   // encoding: [0xff,0xff,0xcb,0x11] | 
 | // NO-CSSC-ERR: [[@LINE-2]]:13: error: instruction requires: cssc |