116 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p1 < %s \6// RUN: | llvm-objdump --no-print-imm-hex -d --mattr=+sme2p1 - \7// RUN: | FileCheck %s --check-prefix=CHECK-INST8// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p1 < %s \9// RUN: | llvm-objdump --no-print-imm-hex -d --mattr=-sme2p1 - \10// RUN: | FileCheck %s --check-prefix=CHECK-UNKNOWN11// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %s \12// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \13// RUN: | llvm-mc -triple=aarch64 -mattr=+sme2p1 -disassemble -show-encoding \14// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST15 16 17luti2 {z0.h, z8.h}, zt0, z0[0] // 11000000-10011100-01010000-0000000018// CHECK-INST: luti2 { z0.h, z8.h }, zt0, z0[0]19// CHECK-ENCODING: [0x00,0x50,0x9c,0xc0]20// CHECK-ERROR: instruction requires: sme2p121// CHECK-UNKNOWN: c09c5000 <unknown>22 23luti2 {z21.h, z29.h}, zt0, z10[2] // 11000000-10011101-01010001-0101010124// CHECK-INST: luti2 { z21.h, z29.h }, zt0, z10[2]25// CHECK-ENCODING: [0x55,0x51,0x9d,0xc0]26// CHECK-ERROR: instruction requires: sme2p127// CHECK-UNKNOWN: c09d5155 <unknown>28 29luti2 {z23.h, z31.h}, zt0, z13[1] // 11000000-10011100-11010001-1011011130// CHECK-INST: luti2 { z23.h, z31.h }, zt0, z13[1]31// CHECK-ENCODING: [0xb7,0xd1,0x9c,0xc0]32// CHECK-ERROR: instruction requires: sme2p133// CHECK-UNKNOWN: c09cd1b7 <unknown>34 35luti2 {z23.h, z31.h}, zt0, z31[7] // 11000000-10011111-11010011-1111011136// CHECK-INST: luti2 { z23.h, z31.h }, zt0, z31[7]37// CHECK-ENCODING: [0xf7,0xd3,0x9f,0xc0]38// CHECK-ERROR: instruction requires: sme2p139// CHECK-UNKNOWN: c09fd3f7 <unknown>40 41 42luti2 {z0.b, z8.b}, zt0, z0[0] // 11000000-10011100-01000000-0000000043// CHECK-INST: luti2 { z0.b, z8.b }, zt0, z0[0]44// CHECK-ENCODING: [0x00,0x40,0x9c,0xc0]45// CHECK-ERROR: instruction requires: sme2p146// CHECK-UNKNOWN: c09c4000 <unknown>47 48luti2 {z21.b, z29.b}, zt0, z10[2] // 11000000-10011101-01000001-0101010149// CHECK-INST: luti2 { z21.b, z29.b }, zt0, z10[2]50// CHECK-ENCODING: [0x55,0x41,0x9d,0xc0]51// CHECK-ERROR: instruction requires: sme2p152// CHECK-UNKNOWN: c09d4155 <unknown>53 54luti2 {z23.b, z31.b}, zt0, z13[1] // 11000000-10011100-11000001-1011011155// CHECK-INST: luti2 { z23.b, z31.b }, zt0, z13[1]56// CHECK-ENCODING: [0xb7,0xc1,0x9c,0xc0]57// CHECK-ERROR: instruction requires: sme2p158// CHECK-UNKNOWN: c09cc1b7 <unknown>59 60luti2 {z23.b, z31.b}, zt0, z31[7] // 11000000-10011111-11000011-1111011161// CHECK-INST: luti2 { z23.b, z31.b }, zt0, z31[7]62// CHECK-ENCODING: [0xf7,0xc3,0x9f,0xc0]63// CHECK-ERROR: instruction requires: sme2p164// CHECK-UNKNOWN: c09fc3f7 <unknown>65 66 67luti2 {z0.h, z4.h, z8.h, z12.h}, zt0, z0[0] // 11000000-10011100-10010000-0000000068// CHECK-INST: luti2 { z0.h, z4.h, z8.h, z12.h }, zt0, z0[0]69// CHECK-ENCODING: [0x00,0x90,0x9c,0xc0]70// CHECK-ERROR: instruction requires: sme2p171// CHECK-UNKNOWN: c09c9000 <unknown>72 73luti2 {z17.h, z21.h, z25.h, z29.h}, zt0, z10[1] // 11000000-10011101-10010001-0101000174// CHECK-INST: luti2 { z17.h, z21.h, z25.h, z29.h }, zt0, z10[1]75// CHECK-ENCODING: [0x51,0x91,0x9d,0xc0]76// CHECK-ERROR: instruction requires: sme2p177// CHECK-UNKNOWN: c09d9151 <unknown>78 79luti2 {z19.h, z23.h, z27.h, z31.h}, zt0, z13[0] // 11000000-10011100-10010001-1011001180// CHECK-INST: luti2 { z19.h, z23.h, z27.h, z31.h }, zt0, z13[0]81// CHECK-ENCODING: [0xb3,0x91,0x9c,0xc0]82// CHECK-ERROR: instruction requires: sme2p183// CHECK-UNKNOWN: c09c91b3 <unknown>84 85luti2 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[3] // 11000000-10011111-10010011-1111001186// CHECK-INST: luti2 { z19.h, z23.h, z27.h, z31.h }, zt0, z31[3]87// CHECK-ENCODING: [0xf3,0x93,0x9f,0xc0]88// CHECK-ERROR: instruction requires: sme2p189// CHECK-UNKNOWN: c09f93f3 <unknown>90 91 92luti2 {z0.b, z4.b, z8.b, z12.b}, zt0, z0[0] // 11000000-10011100-10000000-0000000093// CHECK-INST: luti2 { z0.b, z4.b, z8.b, z12.b }, zt0, z0[0]94// CHECK-ENCODING: [0x00,0x80,0x9c,0xc0]95// CHECK-ERROR: instruction requires: sme2p196// CHECK-UNKNOWN: c09c8000 <unknown>97 98luti2 {z17.b, z21.b, z25.b, z29.b}, zt0, z10[1] // 11000000-10011101-10000001-0101000199// CHECK-INST: luti2 { z17.b, z21.b, z25.b, z29.b }, zt0, z10[1]100// CHECK-ENCODING: [0x51,0x81,0x9d,0xc0]101// CHECK-ERROR: instruction requires: sme2p1102// CHECK-UNKNOWN: c09d8151 <unknown>103 104luti2 {z19.b, z23.b, z27.b, z31.b}, zt0, z13[0] // 11000000-10011100-10000001-10110011105// CHECK-INST: luti2 { z19.b, z23.b, z27.b, z31.b }, zt0, z13[0]106// CHECK-ENCODING: [0xb3,0x81,0x9c,0xc0]107// CHECK-ERROR: instruction requires: sme2p1108// CHECK-UNKNOWN: c09c81b3 <unknown>109 110luti2 {z19.b, z23.b, z27.b, z31.b}, zt0, z31[3] // 11000000-10011111-10000011-11110011111// CHECK-INST: luti2 { z19.b, z23.b, z27.b, z31.b }, zt0, z31[3]112// CHECK-ENCODING: [0xf3,0x83,0x9f,0xc0]113// CHECK-ERROR: instruction requires: sme2p1114// CHECK-UNKNOWN: c09f83f3 <unknown>115 116