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