// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.8a,+mte < %s \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ // RUN: | FileCheck %s --check-prefixes=CHECK-ERROR // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \ // RUN: | llvm-objdump -d --mattr=+mops,+mte - | FileCheck %s --check-prefix=CHECK-INST // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \ // RUN: | llvm-objdump -d --mattr=-mops,-mte - | FileCheck %s --check-prefix=CHECK-UNKNOWN // Disassemble encoding and check the re-encoding (-show-encoding) matches. // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \ // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ // RUN: | llvm-mc -triple=aarch64 -mattr=+mops,+mte -disassemble -show-encoding \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST cpyfp [x0]!, [x1]!, x2! // CHECK-INST: cpyfp [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19010440 cpyfpwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfpwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19014440 cpyfprn [x0]!, [x1]!, x2! // CHECK-INST: cpyfprn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19018440 cpyfpn [x0]!, [x1]!, x2! // CHECK-INST: cpyfpn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901c440 cpyfpwt [x0]!, [x1]!, x2! // CHECK-INST: cpyfpwt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19011440 cpyfpwtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfpwtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19015440 cpyfpwtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfpwtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19019440 cpyfpwtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfpwtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901d440 cpyfprt [x0]!, [x1]!, x2! // CHECK-INST: cpyfprt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19012440 cpyfprtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfprtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19016440 cpyfprtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfprtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901a440 cpyfprtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfprtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901e440 cpyfpt [x0]!, [x1]!, x2! // CHECK-INST: cpyfpt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19013440 cpyfptwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfptwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19017440 cpyfptrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfptrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901b440 cpyfptn [x0]!, [x1]!, x2! // CHECK-INST: cpyfptn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1901f440 cpyfm [x0]!, [x1]!, x2! // CHECK-INST: cpyfm [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19410440 cpyfmwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19414440 cpyfmrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19418440 cpyfmn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941c440 cpyfmwt [x0]!, [x1]!, x2! // CHECK-INST: cpyfmwt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19411440 cpyfmwtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmwtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19415440 cpyfmwtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmwtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19419440 cpyfmwtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmwtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941d440 cpyfmrt [x0]!, [x1]!, x2! // CHECK-INST: cpyfmrt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19412440 cpyfmrtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmrtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19416440 cpyfmrtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmrtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941a440 cpyfmrtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmrtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941e440 cpyfmt [x0]!, [x1]!, x2! // CHECK-INST: cpyfmt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19413440 cpyfmtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19417440 cpyfmtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941b440 cpyfmtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfmtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1941f440 cpyfe [x0]!, [x1]!, x2! // CHECK-INST: cpyfe [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19810440 cpyfewn [x0]!, [x1]!, x2! // CHECK-INST: cpyfewn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19814440 cpyfern [x0]!, [x1]!, x2! // CHECK-INST: cpyfern [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19818440 cpyfen [x0]!, [x1]!, x2! // CHECK-INST: cpyfen [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981c440 cpyfewt [x0]!, [x1]!, x2! // CHECK-INST: cpyfewt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19811440 cpyfewtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfewtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19815440 cpyfewtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfewtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19819440 cpyfewtn [x0]!, [x1]!, x2! // CHECK-INST: cpyfewtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981d440 cpyfert [x0]!, [x1]!, x2! // CHECK-INST: cpyfert [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19812440 cpyfertwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfertwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19816440 cpyfertrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfertrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981a440 cpyfertn [x0]!, [x1]!, x2! // CHECK-INST: cpyfertn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981e440 cpyfet [x0]!, [x1]!, x2! // CHECK-INST: cpyfet [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19813440 cpyfetwn [x0]!, [x1]!, x2! // CHECK-INST: cpyfetwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19817440 cpyfetrn [x0]!, [x1]!, x2! // CHECK-INST: cpyfetrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981b440 cpyfetn [x0]!, [x1]!, x2! // CHECK-INST: cpyfetn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1981f440 cpyp [x0]!, [x1]!, x2! // CHECK-INST: cpyp [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d010440 cpypwn [x0]!, [x1]!, x2! // CHECK-INST: cpypwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d014440 cpyprn [x0]!, [x1]!, x2! // CHECK-INST: cpyprn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d018440 cpypn [x0]!, [x1]!, x2! // CHECK-INST: cpypn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01c440 cpypwt [x0]!, [x1]!, x2! // CHECK-INST: cpypwt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d011440 cpypwtwn [x0]!, [x1]!, x2! // CHECK-INST: cpypwtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d015440 cpypwtrn [x0]!, [x1]!, x2! // CHECK-INST: cpypwtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d019440 cpypwtn [x0]!, [x1]!, x2! // CHECK-INST: cpypwtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01d440 cpyprt [x0]!, [x1]!, x2! // CHECK-INST: cpyprt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d012440 cpyprtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyprtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d016440 cpyprtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyprtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01a440 cpyprtn [x0]!, [x1]!, x2! // CHECK-INST: cpyprtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01e440 cpypt [x0]!, [x1]!, x2! // CHECK-INST: cpypt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d013440 cpyptwn [x0]!, [x1]!, x2! // CHECK-INST: cpyptwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d017440 cpyptrn [x0]!, [x1]!, x2! // CHECK-INST: cpyptrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01b440 cpyptn [x0]!, [x1]!, x2! // CHECK-INST: cpyptn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d01f440 cpym [x0]!, [x1]!, x2! // CHECK-INST: cpym [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d410440 cpymwn [x0]!, [x1]!, x2! // CHECK-INST: cpymwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d414440 cpymrn [x0]!, [x1]!, x2! // CHECK-INST: cpymrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d418440 cpymn [x0]!, [x1]!, x2! // CHECK-INST: cpymn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41c440 cpymwt [x0]!, [x1]!, x2! // CHECK-INST: cpymwt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d411440 cpymwtwn [x0]!, [x1]!, x2! // CHECK-INST: cpymwtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d415440 cpymwtrn [x0]!, [x1]!, x2! // CHECK-INST: cpymwtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d419440 cpymwtn [x0]!, [x1]!, x2! // CHECK-INST: cpymwtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41d440 cpymrt [x0]!, [x1]!, x2! // CHECK-INST: cpymrt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d412440 cpymrtwn [x0]!, [x1]!, x2! // CHECK-INST: cpymrtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d416440 cpymrtrn [x0]!, [x1]!, x2! // CHECK-INST: cpymrtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41a440 cpymrtn [x0]!, [x1]!, x2! // CHECK-INST: cpymrtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41e440 cpymt [x0]!, [x1]!, x2! // CHECK-INST: cpymt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d413440 cpymtwn [x0]!, [x1]!, x2! // CHECK-INST: cpymtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d417440 cpymtrn [x0]!, [x1]!, x2! // CHECK-INST: cpymtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41b440 cpymtn [x0]!, [x1]!, x2! // CHECK-INST: cpymtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d41f440 cpye [x0]!, [x1]!, x2! // CHECK-INST: cpye [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d810440 cpyewn [x0]!, [x1]!, x2! // CHECK-INST: cpyewn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d814440 cpyern [x0]!, [x1]!, x2! // CHECK-INST: cpyern [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d818440 cpyen [x0]!, [x1]!, x2! // CHECK-INST: cpyen [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81c440 cpyewt [x0]!, [x1]!, x2! // CHECK-INST: cpyewt [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d811440 cpyewtwn [x0]!, [x1]!, x2! // CHECK-INST: cpyewtwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d815440 cpyewtrn [x0]!, [x1]!, x2! // CHECK-INST: cpyewtrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d819440 cpyewtn [x0]!, [x1]!, x2! // CHECK-INST: cpyewtn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81d440 cpyert [x0]!, [x1]!, x2! // CHECK-INST: cpyert [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d812440 cpyertwn [x0]!, [x1]!, x2! // CHECK-INST: cpyertwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d816440 cpyertrn [x0]!, [x1]!, x2! // CHECK-INST: cpyertrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81a440 cpyertn [x0]!, [x1]!, x2! // CHECK-INST: cpyertn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81e440 cpyet [x0]!, [x1]!, x2! // CHECK-INST: cpyet [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d813440 cpyetwn [x0]!, [x1]!, x2! // CHECK-INST: cpyetwn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d817440 cpyetrn [x0]!, [x1]!, x2! // CHECK-INST: cpyetrn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81b440 cpyetn [x0]!, [x1]!, x2! // CHECK-INST: cpyetn [x0]!, [x1]!, x2! // CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d81f440 setp [x0]!, x1!, x2 // CHECK-INST: setp [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c20420 setpt [x0]!, x1!, x2 // CHECK-INST: setpt [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c21420 setpn [x0]!, x1!, x2 // CHECK-INST: setpn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c22420 setptn [x0]!, x1!, x2 // CHECK-INST: setptn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c23420 setm [x0]!, x1!, x2 // CHECK-INST: setm [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c24420 setmt [x0]!, x1!, x2 // CHECK-INST: setmt [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c25420 setmn [x0]!, x1!, x2 // CHECK-INST: setmn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c26420 setmtn [x0]!, x1!, x2 // CHECK-INST: setmtn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c27420 sete [x0]!, x1!, x2 // CHECK-INST: sete [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c28420 setet [x0]!, x1!, x2 // CHECK-INST: setet [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c29420 seten [x0]!, x1!, x2 // CHECK-INST: seten [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c2a420 setetn [x0]!, x1!, x2 // CHECK-INST: setetn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c2b420 setgp [x0]!, x1!, x2 // CHECK-INST: setgp [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc20420 setgpt [x0]!, x1!, x2 // CHECK-INST: setgpt [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc21420 setgpn [x0]!, x1!, x2 // CHECK-INST: setgpn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc22420 setgptn [x0]!, x1!, x2 // CHECK-INST: setgptn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc23420 setgm [x0]!, x1!, x2 // CHECK-INST: setgm [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc24420 setgmt [x0]!, x1!, x2 // CHECK-INST: setgmt [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc25420 setgmn [x0]!, x1!, x2 // CHECK-INST: setgmn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc26420 setgmtn [x0]!, x1!, x2 // CHECK-INST: setgmtn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc27420 setge [x0]!, x1!, x2 // CHECK-INST: setge [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc28420 setget [x0]!, x1!, x2 // CHECK-INST: setget [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc29420 setgen [x0]!, x1!, x2 // CHECK-INST: setgen [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc2a420 setgetn [x0]!, x1!, x2 // CHECK-INST: setgetn [x0]!, x1!, x2 // CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops mte // CHECK-UNKNOWN: 1dc2b420 // XZR can only be used at: // - the size operand in CPY. // - the size or source operands in SET. cpyfp [x0]!, [x1]!, xzr! // CHECK-INST: cpyfp [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 190107e0 cpyfm [x0]!, [x1]!, xzr! // CHECK-INST: cpyfm [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 194107e0 cpyfe [x0]!, [x1]!, xzr! // CHECK-INST: cpyfe [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 198107e0 cpyp [x0]!, [x1]!, xzr! // CHECK-INST: cpyp [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d0107e0 cpym [x0]!, [x1]!, xzr! // CHECK-INST: cpym [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d4107e0 cpye [x0]!, [x1]!, xzr! // CHECK-INST: cpye [x0]!, [x1]!, xzr! // CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1d8107e0 setp [x0]!, xzr!, x2 // CHECK-INST: setp [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c207e0 setp [x0]!, x1!, xzr // CHECK-INST: setp [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19df0420 setm [x0]!, xzr!, x2 // CHECK-INST: setm [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c247e0 setm [x0]!, x1!, xzr // CHECK-INST: setm [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19df4420 sete [x0]!, xzr!, x2 // CHECK-INST: sete [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19c287e0 sete [x0]!, x1!, xzr // CHECK-INST: sete [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x19] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 19df8420 setgp [x0]!, xzr!, x2 // CHECK-INST: setgp [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1dc207e0 setgp [x0]!, x1!, xzr // CHECK-INST: setgp [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1ddf0420 setgm [x0]!, xzr!, x2 // CHECK-INST: setgm [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1dc247e0 setgm [x0]!, x1!, xzr // CHECK-INST: setgm [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1ddf4420 setge [x0]!, xzr!, x2 // CHECK-INST: setge [x0]!, xzr!, x2 // CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1dc287e0 setge [x0]!, x1!, xzr // CHECK-INST: setge [x0]!, x1!, xzr // CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x1d] // CHECK-ERROR: error: instruction requires: mops // CHECK-UNKNOWN: 1ddf8420