brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · 766f943 Raw
136 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %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=+sve < %s \8// RUN:        | llvm-objdump --no-print-imm-hex -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \10// RUN:   | llvm-objdump --no-print-imm-hex -d --mattr=-sve - | FileCheck %s --check-prefix=CHECK-UNKNOWN11 12 13sqsub     z0.b, z0.b, z0.b14// CHECK-INST: sqsub z0.b, z0.b, z0.b15// CHECK-ENCODING: [0x00,0x18,0x20,0x04]16// CHECK-ERROR: instruction requires: sve or sme17// CHECK-UNKNOWN: 04201800 <unknown>18 19sqsub     z0.h, z0.h, z0.h20// CHECK-INST: sqsub z0.h, z0.h, z0.h21// CHECK-ENCODING: [0x00,0x18,0x60,0x04]22// CHECK-ERROR: instruction requires: sve or sme23// CHECK-UNKNOWN: 04601800 <unknown>24 25sqsub     z0.s, z0.s, z0.s26// CHECK-INST: sqsub z0.s, z0.s, z0.s27// CHECK-ENCODING: [0x00,0x18,0xa0,0x04]28// CHECK-ERROR: instruction requires: sve or sme29// CHECK-UNKNOWN: 04a01800 <unknown>30 31sqsub     z0.d, z0.d, z0.d32// CHECK-INST: sqsub z0.d, z0.d, z0.d33// CHECK-ENCODING: [0x00,0x18,0xe0,0x04]34// CHECK-ERROR: instruction requires: sve or sme35// CHECK-UNKNOWN: 04e01800 <unknown>36 37sqsub     z0.b, z0.b, #038// CHECK-INST: sqsub z0.b, z0.b, #039// CHECK-ENCODING: [0x00,0xc0,0x26,0x25]40// CHECK-ERROR: instruction requires: sve or sme41// CHECK-UNKNOWN: 2526c000 <unknown>42 43sqsub     z31.b, z31.b, #25544// CHECK-INST: sqsub z31.b, z31.b, #25545// CHECK-ENCODING: [0xff,0xdf,0x26,0x25]46// CHECK-ERROR: instruction requires: sve or sme47// CHECK-UNKNOWN: 2526dfff <unknown>48 49sqsub     z0.h, z0.h, #050// CHECK-INST: sqsub z0.h, z0.h, #051// CHECK-ENCODING: [0x00,0xc0,0x66,0x25]52// CHECK-ERROR: instruction requires: sve or sme53// CHECK-UNKNOWN: 2566c000 <unknown>54 55sqsub     z0.h, z0.h, #0, lsl #856// CHECK-INST: sqsub z0.h, z0.h, #0, lsl #857// CHECK-ENCODING: [0x00,0xe0,0x66,0x25]58// CHECK-ERROR: instruction requires: sve or sme59// CHECK-UNKNOWN: 2566e000 <unknown>60 61sqsub     z31.h, z31.h, #255, lsl #862// CHECK-INST: sqsub z31.h, z31.h, #6528063// CHECK-ENCODING: [0xff,0xff,0x66,0x25]64// CHECK-ERROR: instruction requires: sve or sme65// CHECK-UNKNOWN: 2566ffff <unknown>66 67sqsub     z31.h, z31.h, #6528068// CHECK-INST: sqsub z31.h, z31.h, #6528069// CHECK-ENCODING: [0xff,0xff,0x66,0x25]70// CHECK-ERROR: instruction requires: sve or sme71// CHECK-UNKNOWN: 2566ffff <unknown>72 73sqsub     z0.s, z0.s, #074// CHECK-INST: sqsub z0.s, z0.s, #075// CHECK-ENCODING: [0x00,0xc0,0xa6,0x25]76// CHECK-ERROR: instruction requires: sve or sme77// CHECK-UNKNOWN: 25a6c000 <unknown>78 79sqsub     z0.s, z0.s, #0, lsl #880// CHECK-INST: sqsub z0.s, z0.s, #0, lsl #881// CHECK-ENCODING: [0x00,0xe0,0xa6,0x25]82// CHECK-ERROR: instruction requires: sve or sme83// CHECK-UNKNOWN: 25a6e000 <unknown>84 85sqsub     z31.s, z31.s, #255, lsl #886// CHECK-INST: sqsub z31.s, z31.s, #6528087// CHECK-ENCODING: [0xff,0xff,0xa6,0x25]88// CHECK-ERROR: instruction requires: sve or sme89// CHECK-UNKNOWN: 25a6ffff <unknown>90 91sqsub     z31.s, z31.s, #6528092// CHECK-INST: sqsub z31.s, z31.s, #6528093// CHECK-ENCODING: [0xff,0xff,0xa6,0x25]94// CHECK-ERROR: instruction requires: sve or sme95// CHECK-UNKNOWN: 25a6ffff <unknown>96 97sqsub     z0.d, z0.d, #098// CHECK-INST: sqsub z0.d, z0.d, #099// CHECK-ENCODING: [0x00,0xc0,0xe6,0x25]100// CHECK-ERROR: instruction requires: sve or sme101// CHECK-UNKNOWN: 25e6c000 <unknown>102 103sqsub     z0.d, z0.d, #0, lsl #8104// CHECK-INST: sqsub z0.d, z0.d, #0, lsl #8105// CHECK-ENCODING: [0x00,0xe0,0xe6,0x25]106// CHECK-ERROR: instruction requires: sve or sme107// CHECK-UNKNOWN: 25e6e000 <unknown>108 109sqsub     z31.d, z31.d, #255, lsl #8110// CHECK-INST: sqsub z31.d, z31.d, #65280111// CHECK-ENCODING: [0xff,0xff,0xe6,0x25]112// CHECK-ERROR: instruction requires: sve or sme113// CHECK-UNKNOWN: 25e6ffff <unknown>114 115sqsub     z31.d, z31.d, #65280116// CHECK-INST: sqsub z31.d, z31.d, #65280117// CHECK-ENCODING: [0xff,0xff,0xe6,0x25]118// CHECK-ERROR: instruction requires: sve or sme119// CHECK-UNKNOWN: 25e6ffff <unknown>120 121 122// --------------------------------------------------------------------------//123// Test compatibility with MOVPRFX instruction.124 125movprfx z31, z6126// CHECK-INST: movprfx	z31, z6127// CHECK-ENCODING: [0xdf,0xbc,0x20,0x04]128// CHECK-ERROR: instruction requires: sve or sme129// CHECK-UNKNOWN: 0420bcdf <unknown>130 131sqsub     z31.d, z31.d, #65280132// CHECK-INST: sqsub	z31.d, z31.d, #65280133// CHECK-ENCODING: [0xff,0xff,0xe6,0x25]134// CHECK-ERROR: instruction requires: sve or sme135// CHECK-UNKNOWN: 25e6ffff <unknown>136