brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 8bc40d5 Raw
189 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve  2>&1 < %s| FileCheck %s2 3// --------------------------------------------------------------------------//4// Invalid scalar operand for result element width.5 6cpy z0.b, p0/m, x07// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand8// CHECK-NEXT: cpy z0.b, p0/m, x09// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11cpy z0.h, p0/m, x012// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand13// CHECK-NEXT: cpy z0.h, p0/m, x014// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16cpy z0.s, p0/m, x017// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand18// CHECK-NEXT: cpy z0.s, p0/m, x019// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21cpy z0.d, p0/m, w022// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand23// CHECK-NEXT: cpy z0.d, p0/m, w024// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26cpy z0.b, p0/m, h027// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand28// CHECK-NEXT: cpy z0.b, p0/m, h029// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31cpy z0.b, p0/m, s032// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand33// CHECK-NEXT: cpy z0.b, p0/m, s034// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36cpy z0.b, p0/m, d037// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand38// CHECK-NEXT: cpy z0.b, p0/m, d039// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41cpy z0.h, p0/m, b042// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand43// CHECK-NEXT: cpy z0.h, p0/m, b044// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46cpy z0.h, p0/m, s047// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand48// CHECK-NEXT: cpy z0.h, p0/m, s049// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:50 51cpy z0.h, p0/m, d052// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand53// CHECK-NEXT: cpy z0.h, p0/m, d054// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:55 56cpy z0.s, p0/m, b057// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand58// CHECK-NEXT: cpy z0.s, p0/m, b059// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:60 61cpy z0.s, p0/m, h062// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand63// CHECK-NEXT: cpy z0.s, p0/m, h064// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:65 66cpy z0.s, p0/m, d067// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand68// CHECK-NEXT: cpy z0.s, p0/m, d069// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:70 71cpy z0.d, p0/m, b072// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand73// CHECK-NEXT: cpy z0.d, p0/m, b074// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:75 76cpy z0.d, p0/m, h077// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand78// CHECK-NEXT: cpy z0.d, p0/m, h079// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:80 81cpy z0.d, p0/m, s082// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand83// CHECK-NEXT: cpy z0.d, p0/m, s084// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:85 86 87// --------------------------------------------------------------------------//88// Invalid immediates89 90cpy z0.b, p0/z, #0, lsl #8      // #0, lsl #8 is not valid for .b91// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 255]92// CHECK-NEXT: cpy z0.b, p0/z, #0, lsl #893// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:94 95cpy z0.b, p0/z, #-1, lsl #896// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 255]97// CHECK-NEXT: cpy z0.b, p0/z, #-1, lsl #898// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:99 100cpy z0.b, p0/z, #256101// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 255]102// CHECK-NEXT: cpy z0.b, p0/z, #256103// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:104 105cpy z0.b, p0/z, #1, lsl #8106// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 255]107// CHECK-NEXT: cpy z0.b, p0/z, #1, lsl #8108// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:109 110cpy z0.h, p0/z, #-32769111// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 65280]112// CHECK-NEXT: cpy z0.h, p0/z, #-32769113// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:114 115cpy z0.h, p0/z, #32513116// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 65280]117// CHECK-NEXT: cpy z0.h, p0/z, #32513118// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:119 120cpy z0.h, p0/z, #65281121// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 65280]122// CHECK-NEXT: cpy z0.h, p0/z, #65281123// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:124 125cpy z0.h, p0/z, #256, lsl #8126// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 65280]127// CHECK-NEXT: cpy z0.h, p0/z, #256, lsl #8128// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:129 130cpy z0.s, p0/z, #-33024131// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]132// CHECK-NEXT: cpy z0.s, p0/z, #-33024133// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:134 135cpy z0.s, p0/z, #-32769136// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]137// CHECK-NEXT: cpy z0.s, p0/z, #-32769138// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:139 140cpy z0.s, p0/z, #-129, lsl #8141// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]142// CHECK-NEXT: cpy z0.s, p0/z, #-129, lsl #8143// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:144 145cpy z0.s, p0/z, #32513146// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]147// CHECK-NEXT: cpy z0.s, p0/z, #32513148// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:149 150cpy z0.s, p0/z, #32768151// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]152// CHECK-NEXT: cpy z0.s, p0/z, #32768153// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:154 155cpy z0.s, p0/z, #128, lsl #8156// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]157// CHECK-NEXT: cpy z0.s, p0/z, #128, lsl #8158// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:159 160cpy z0.d, p0/z, #-33024161// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]162// CHECK-NEXT: cpy z0.d, p0/z, #-33024163// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:164 165cpy z0.d, p0/z, #-32769166// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]167// CHECK-NEXT: cpy z0.d, p0/z, #-32769168// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:169 170cpy z0.d, p0/z, #-129, lsl #8171// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]172// CHECK-NEXT: cpy z0.d, p0/z, #-129, lsl #8173// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:174 175cpy z0.d, p0/z, #32513176// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]177// CHECK-NEXT: cpy z0.d, p0/z, #32513178// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:179 180cpy z0.d, p0/z, #32768181// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]182// CHECK-NEXT: cpy z0.d, p0/z, #32768183// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:184 185cpy z0.d, p0/z, #128, lsl #8186// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [-128, 127] or a multiple of 256 in range [-32768, 32512]187// CHECK-NEXT: cpy z0.d, p0/z, #128, lsl #8188// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:189