brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · 01021b3 Raw
174 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p3 < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p3 < %s \4// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST5// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \6// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2p3 < %s \8// RUN:        | llvm-objdump -d --mattr=+sve2p3 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2p3 < %s \10// RUN:        | llvm-objdump -d --mattr=-sve2p3 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN11// Disassemble encoding and check the re-encoding (-show-encoding) matches.12// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p3 < %s \13// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \14// RUN:        | llvm-mc -triple=aarch64 -mattr=+sve2p3 -disassemble -show-encoding \15// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST16 17sdot z0.h, z0.b, z0.b18// CHECK-INST: sdot z0.h, z0.b, z0.b19// CHECK-ENCODING: encoding: [0x00,0x00,0x40,0x44]20// CHECK-ERROR: instruction requires: sme2p3 or sve2p321// CHECK-UNKNOWN: 44400000 <unknown>22 23sdot z10.h, z10.b, z10.b24// CHECK-INST: sdot z10.h, z10.b, z10.b25// CHECK-ENCODING: encoding: [0x4a,0x01,0x4a,0x44]26// CHECK-ERROR: instruction requires: sme2p3 or sve2p327// CHECK-UNKNOWN: 444a014a <unknown>28 29sdot z21.h, z21.b, z21.b30// CHECK-INST: sdot z21.h, z21.b, z21.b31// CHECK-ENCODING: encoding: [0xb5,0x02,0x55,0x44]32// CHECK-ERROR: instruction requires: sme2p3 or sve2p333// CHECK-UNKNOWN: 445502b5 <unknown>34 35sdot z31.h, z31.b, z31.b36// CHECK-INST: sdot z31.h, z31.b, z31.b37// CHECK-ENCODING: encoding: [0xff,0x03,0x5f,0x44]38// CHECK-ERROR: instruction requires: sme2p3 or sve2p339// CHECK-UNKNOWN: 445f03ff <unknown>40 41movprfx z0, z742sdot z0.h, z1.b, z2.b43// CHECK-INST: movprfx z0, z744// CHECK-INST: sdot z0.h, z1.b, z2.b45// CHECK-ENCODING: encoding: [0x20,0x00,0x42,0x44]46// CHECK-ERROR: instruction requires: sme2p3 or sve2p347// CHECK-UNKNOWN: 44420020 <unknown>48 49// sdot indexed50 51sdot z0.h, z0.b, z0.b[0]52// CHECK-INST: sdot z0.h, z0.b, z0.b[0]53// CHECK-ENCODING: encoding: [0x00,0x00,0x20,0x44]54// CHECK-ERROR: instruction requires: sme2p3 or sve2p355// CHECK-UNKNOWN: 44200000 <unknown>56 57sdot z31.h, z31.b, z7.b[0]58// CHECK-INST: sdot z31.h, z31.b, z7.b[0]59// CHECK-ENCODING: encoding: [0xff,0x03,0x27,0x44]60// CHECK-ERROR: instruction requires: sme2p3 or sve2p361// CHECK-UNKNOWN: 442703ff <unknown>62 63sdot z0.h, z0.b, z0.b[1]64// CHECK-INST: sdot z0.h, z0.b, z0.b[1]65// CHECK-ENCODING: encoding: [0x00,0x00,0x28,0x44]66// CHECK-ERROR: instruction requires: sme2p3 or sve2p367// CHECK-UNKNOWN: 44280000 <unknown>68 69sdot z31.h, z31.b, z7.b[1]70// CHECK-INST: sdot z31.h, z31.b, z7.b[1]71// CHECK-ENCODING: encoding: [0xff,0x03,0x2f,0x44]72// CHECK-ERROR: instruction requires: sme2p3 or sve2p373// CHECK-UNKNOWN: 442f03ff <unknown>74 75sdot z0.h, z0.b, z0.b[7]76// CHECK-INST: sdot z0.h, z0.b, z0.b[7]77// CHECK-ENCODING: encoding: [0x00,0x00,0x78,0x44]78// CHECK-ERROR: instruction requires: sme2p3 or sve2p379// CHECK-UNKNOWN: 44780000 <unknown>80 81sdot z31.h, z31.b, z7.b[7]82// CHECK-INST: sdot z31.h, z31.b, z7.b[7]83// CHECK-ENCODING: encoding: [0xff,0x03,0x7f,0x44]84// CHECK-ERROR: instruction requires: sme2p3 or sve2p385// CHECK-UNKNOWN: 447f03ff <unknown>86 87movprfx z0, z788sdot z0.h, z1.b, z2.b[0]89// CHECK-INST: movprfx z0, z790// CHECK-INST: sdot z0.h, z1.b, z2.b[0]91// CHECK-ENCODING: encoding: [0x20,0x00,0x22,0x44]92// CHECK-ERROR: instruction requires: sme2p3 or sve2p393// CHECK-UNKNOWN: 44220020 <unknown>94 95// udot96 97udot z0.h, z0.b, z0.b98// CHECK-INST: udot z0.h, z0.b, z0.b99// CHECK-ENCODING: encoding: [0x00,0x04,0x40,0x44]100// CHECK-ERROR: instruction requires: sme2p3 or sve2p3101// CHECK-UNKNOWN: 44400400 <unknown>102 103udot z10.h, z10.b, z10.b104// CHECK-INST: udot z10.h, z10.b, z10.b105// CHECK-ENCODING: encoding: [0x4a,0x05,0x4a,0x44]106// CHECK-ERROR: instruction requires: sme2p3 or sve2p3107// CHECK-UNKNOWN: 444a054a <unknown>108 109udot z21.h, z21.b, z21.b110// CHECK-INST: udot z21.h, z21.b, z21.b111// CHECK-ENCODING: encoding: [0xb5,0x06,0x55,0x44]112// CHECK-ERROR: instruction requires: sme2p3 or sve2p3113// CHECK-UNKNOWN: 445506b5 <unknown>114 115udot z31.h, z31.b, z31.b116// CHECK-INST: udot z31.h, z31.b, z31.b117// CHECK-ENCODING: encoding: [0xff,0x07,0x5f,0x44]118// CHECK-ERROR: instruction requires: sme2p3 or sve2p3119// CHECK-UNKNOWN: 445f07ff <unknown>120 121movprfx z0, z7122udot z0.h, z1.b, z2.b123// CHECK-INST: movprfx z0, z7124// CHECK-INST: udot z0.h, z1.b, z2.b125// CHECK-ENCODING: encoding: [0x20,0x04,0x42,0x44]126// CHECK-ERROR: instruction requires: sme2p3 or sve2p3127// CHECK-UNKNOWN: 44420420 <unknown>128 129// udot indexed130 131udot z0.h, z0.b, z0.b[0]132// CHECK-INST: udot z0.h, z0.b, z0.b[0]133// CHECK-ENCODING: encoding: [0x00,0x04,0x20,0x44]134// CHECK-ERROR: instruction requires: sme2p3 or sve2p3135// CHECK-UNKNOWN: 44200400 <unknown>136 137udot z31.h, z31.b, z7.b[0]138// CHECK-INST: udot z31.h, z31.b, z7.b[0]139// CHECK-ENCODING: encoding: [0xff,0x07,0x27,0x44]140// CHECK-ERROR: instruction requires: sme2p3 or sve2p3141// CHECK-UNKNOWN: 442707ff <unknown>142 143udot z0.h, z0.b, z0.b[1]144// CHECK-INST: udot z0.h, z0.b, z0.b[1]145// CHECK-ENCODING: encoding: [0x00,0x04,0x28,0x44]146// CHECK-ERROR: instruction requires: sme2p3 or sve2p3147// CHECK-UNKNOWN: 44280400 <unknown>148 149udot z31.h, z31.b, z7.b[1]150// CHECK-INST: udot z31.h, z31.b, z7.b[1]151// CHECK-ENCODING: encoding: [0xff,0x07,0x2f,0x44]152// CHECK-ERROR: instruction requires: sme2p3 or sve2p3153// CHECK-UNKNOWN: 442f07ff <unknown>154 155udot z0.h, z0.b, z0.b[7]156// CHECK-INST: udot z0.h, z0.b, z0.b[7]157// CHECK-ENCODING: encoding: [0x00,0x04,0x78,0x44]158// CHECK-ERROR: instruction requires: sme2p3 or sve2p3159// CHECK-UNKNOWN: 44780400 <unknown>160 161udot z31.h, z31.b, z7.b[7]162// CHECK-INST: udot z31.h, z31.b, z7.b[7]163// CHECK-ENCODING: encoding: [0xff,0x07,0x7f,0x44]164// CHECK-ERROR: instruction requires: sme2p3 or sve2p3165// CHECK-UNKNOWN: 447f07ff <unknown>166 167movprfx z0, z7168udot z0.h, z1.b, z2.b[0]169// CHECK-INST: movprfx z0, z7170// CHECK-INST: udot z0.h, z1.b, z2.b[0]171// CHECK-ENCODING: encoding: [0x20,0x04,0x22,0x44]172// CHECK-ERROR: instruction requires: sme2p3 or sve2p3173// CHECK-UNKNOWN: 44220420 <unknown>174