1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
# RUN: llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s 2> %t | FileCheck %s
# RUN: FileCheck --check-prefix=ERROR < %t %s
# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t
# RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s
# CHECK: vbic q0, q1, q7 @ encoding: [0x12,0xef,0x5e,0x01]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xef,0x5e,0x01]
# CHECK: vrev64.8 q0, q4 @ encoding: [0xb0,0xff,0x48,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xff,0x48,0x00]
# CHECK: vrev64.16 q1, q3 @ encoding: [0xb4,0xff,0x46,0x20]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xff,0x46,0x20]
# CHECK: vrev64.32 q0, q2 @ encoding: [0xb8,0xff,0x44,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb8,0xff,0x44,0x00]
# CHECK: vrev32.8 q0, q1 @ encoding: [0xb0,0xff,0xc2,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xff,0xc2,0x00]
# CHECK: vrev32.16 q0, q5 @ encoding: [0xb4,0xff,0xca,0x00]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb4,0xff,0xca,0x00]
# CHECK: vrev16.8 q0, q2 @ encoding: [0xb0,0xff,0x44,0x01]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xff,0x44,0x01]
# CHECK: vmvn q0, q2 @ encoding: [0xb0,0xff,0xc4,0x05]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xb0,0xff,0xc4,0x05]
# CHECK: veor q2, q1, q7 @ encoding: [0x02,0xff,0x5e,0x41]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x02,0xff,0x5e,0x41]
# CHECK: vorn q0, q3, q2 @ encoding: [0x36,0xef,0x54,0x01]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x36,0xef,0x54,0x01]
# CHECK: vorr q1, q2, q1 @ encoding: [0x24,0xef,0x52,0x21]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x24,0xef,0x52,0x21]
# CHECK: vand q0, q2, q0 @ encoding: [0x04,0xef,0x50,0x01]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x04,0xef,0x50,0x01]
# CHECK: vorr.i16 q0, #0x12 @ encoding: [0x81,0xef,0x52,0x09]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x81,0xef,0x52,0x09]
# CHECK: vorr.i32 q0, #0x1200 @ encoding: [0x81,0xef,0x52,0x03]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x81,0xef,0x52,0x03]
# CHECK: vbic.i32 q0, #0x35 @ encoding: [0x83,0xef,0x75,0x01]
[0x83,0xef,0x75,0x01]
# CHECK: vbic.i32 q0, #0x3500 @ encoding: [0x83,0xef,0x75,0x03]
[0x83,0xef,0x75,0x03]
# CHECK: vbic.i32 q0, #0x350000 @ encoding: [0x83,0xef,0x75,0x05]
[0x83,0xef,0x75,0x05]
# CHECK: vbic.i32 q0, #0x35000000 @ encoding: [0x83,0xef,0x75,0x07]
[0x83,0xef,0x75,0x07]
# CHECK: vbic.i16 q0, #0x35 @ encoding: [0x83,0xef,0x75,0x09]
[0x83,0xef,0x75,0x09]
# CHECK: vbic.i16 q0, #0x3500 @ encoding: [0x83,0xef,0x75,0x0b]
[0x83,0xef,0x75,0x0b]
# CHECK: vmov.8 q0[1], r8 @ encoding: [0x40,0xee,0x30,0x8b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x40,0xee,0x30,0x8b]
# CHECK: vmov.16 q0[2], r5 @ encoding: [0x20,0xee,0x30,0x5b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x20,0xee,0x30,0x5b]
# CHECK: vmov.32 q6[3], r11 @ encoding: [0x2d,0xee,0x10,0xbb]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x2d,0xee,0x10,0xbb]
# CHECK: vmov.32 r0, q1[0] @ encoding: [0x12,0xee,0x10,0x0b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x12,0xee,0x10,0x0b]
# CHECK: vmov.s16 r1, q2[7] @ encoding: [0x35,0xee,0x70,0x1b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x35,0xee,0x70,0x1b]
# CHECK: vmov.s8 r0, q4[13] @ encoding: [0x79,0xee,0x30,0x0b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x79,0xee,0x30,0x0b]
# CHECK: vmov.u16 r0, q1[4] @ encoding: [0x93,0xee,0x30,0x0b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x93,0xee,0x30,0x0b]
# CHECK: vmov.u8 r0, q5[7] @ encoding: [0xfa,0xee,0x70,0x0b]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0xfa,0xee,0x70,0x0b]
# CHECK: vmov.f16 s7, r8 @ encoding: [0x03,0xee,0x90,0x89]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x03,0xee,0x90,0x89]
# CHECK: vmov.f16 s10, r5 @ encoding: [0x05,0xee,0x10,0x59]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x05,0xee,0x10,0x59]
# CHECK: vmov.f16 s10, sp @ encoding: [0x05,0xee,0x10,0xd9]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x05,0xee,0x10,0xd9]
# CHECK: vmov.f16 s31, r10 @ encoding: [0x0f,0xee,0x90,0xa9]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x0f,0xee,0x90,0xa9]
# CHECK: vmov.f16 r8, s7 @ encoding: [0x13,0xee,0x90,0x89]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x13,0xee,0x90,0x89]
# CHECK: vmov.f16 r5, s10 @ encoding: [0x15,0xee,0x10,0x59]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x15,0xee,0x10,0x59]
# CHECK: vmov.f16 sp, s10 @ encoding: [0x15,0xee,0x10,0xd9]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x15,0xee,0x10,0xd9]
# CHECK: vmov.f16 r10, s31 @ encoding: [0x1f,0xee,0x90,0xa9]
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1f,0xee,0x90,0xa9]
# ERROR: [[@LINE+2]]:2: warning: potentially undefined instruction encoding
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x05,0xee,0x10,0xf9]
# ERROR: [[@LINE+2]]:2: warning: potentially undefined instruction encoding
# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
[0x1f,0xee,0x90,0xf9]
|