138 lines · plain
1# RUN: not llvm-mc -disassemble -triple=thumbv8m.main -mattr=+cdecp0 -mattr=+cdecp1 < %s 2>%t | FileCheck %s2# RUN: FileCheck <%t --check-prefix=ERROR %s3 4# GCP instructions5 6# CHECK: mrc p3, #1, r3, c15, c15, #57[0x3f,0xee,0xbf,0x33]8# CHECK-NEXT: mcr2 p3, #2, r2, c7, c11, #79[0x47,0xfe,0xfb,0x23]10 11# Predication12 13# CHECK: itte eq14[0x06,0xbf]15itte eq16# CHECK-NEXT: cx1aeq p0, r3, #819117[0x3f,0xfe,0xbf,0x30]18# CHECK-NEXT: cx2aeq p0, r2, r3, #12319[0x43,0xfe,0xbb,0x20]20# CHECK-NEXT: cx3ane p0, r1, r5, r7, #6321[0xf5,0xfe,0xb1,0x70]22# CHECK-NEXT: itte eq23[0x06,0xbf]24# CHECK-NEXT: cx1daeq p0, r0, r1, #819125[0x3f,0xfe,0xff,0x00]26# CHECK-NEXT: cx2daeq p0, r0, r1, r3, #12327[0x43,0xfe,0xfb,0x00]28# CHECK-NEXT: cx3dane p0, r0, r1, r5, r7, #6329[0xf5,0xfe,0xf0,0x70]30 31# CX132 33# CHECK-NEXT: cx1 p0, r3, #819134[0x3f,0xee,0xbf,0x30]35# CHECK-NEXT: cx1a p1, r2, #036[0x00,0xfe,0x00,0x21]37# CHECK-NEXT: cx1d p0, r4, r5, #123438[0x09,0xee,0xd2,0x40]39# CHECK-NEXT: cx1da p1, r2, r3, #123440[0x09,0xfe,0xd2,0x21]41# CHECK-NEXT: cx1 p0, apsr_nzcv, #819142[0x3f,0xee,0xbf,0xf0]43 44# ERROR: [[@LINE+2]]:{{[0-9]+}}: warning: potentially undefined instruction encoding45# CHECK-NEXT: cx1 p0, sp, #819146[0x3f,0xee,0xbf,0xd0]47# ERROR: [[@LINE+2]]:{{[0-9]+}}: warning: potentially undefined instruction encoding48# CHECK-NEXT: cx1d p0, r12, sp, #123449[0x09,0xee,0xd2,0xc0]50# ERROR: [[@LINE+2]]:{{[0-9]+}}: warning: potentially undefined instruction encoding51# CHECK-NEXT: cx1d p0, r2, r3, #123452[0x09,0xee,0xd2,0x30]53 54# CX255 56# CHECK-NEXT: cx2 p0, r3, r7, #057[0x47,0xee,0x00,0x30]58# CHECK-NEXT: cx2a p0, r1, r4, #51159[0x74,0xfe,0xbf,0x10]60# CHECK-NEXT: cx2d p0, r2, r3, r1, #12361[0x41,0xee,0xfb,0x20]62# CHECK-NEXT: cx2da p0, r2, r3, r7, #12363[0x47,0xfe,0xfb,0x20]64# CHECK-NEXT: cx2da p1, r10, r11, apsr_nzcv, #12365[0x4f,0xfe,0xfb,0xa1]66 67# ERROR: [[@LINE+2]]:{{[0-9]+}}: warning: potentially undefined instruction encoding68# CHECK-NEXT: cx2a p0, r1, sp, #51169[0x7d,0xfe,0xbf,0x10]70# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding71[0x4f,0xfe,0xfb,0xe1]72 73# CX374 75# CHECK-NEXT: cx3 p0, r1, r2, r3, #076[0x82,0xee,0x01,0x30]77# CHECK-NEXT: cx3a p0, r1, r5, r7, #6378[0xf5,0xfe,0xb1,0x70]79# CHECK-NEXT: cx3d p1, r0, r1, r7, r1, #1280[0x97,0xee,0xc0,0x11]81# CHECK-NEXT: cx3da p0, r8, r9, r2, r3, #1282[0x92,0xfe,0xc8,0x30]83# CHECK-NEXT: cx3 p1, apsr_nzcv, r7, apsr_nzcv, #1284[0x97,0xee,0x8f,0xf1]85# CHECK-NEXT: cx3d p0, r8, r9, apsr_nzcv, apsr_nzcv, #1286[0x9f,0xee,0xc8,0xf0]87 88# ERROR: [[@LINE+2]]:{{[0-9]+}}: warning: potentially undefined instruction encoding89# CHECK-NEXT: cx3 p0, r1, r2, sp, #090[0x82,0xee,0x01,0xd0]91# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding92[0x9f,0xee,0xce,0xf0]93 94# VCX195 96# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding97[0x69,0xec,0x92,0x50]98# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding99[0x6f,0xfc,0xbf,0x31]100# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding101[0x20,0xed,0x00,0x00]102# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding103[0x2f,0xfd,0xbf,0x31]104# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding105[0x29,0xec,0xd2,0x20]106# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding107[0x2f,0xfd,0xff,0xa1]108 109# VCX2110 111# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding112[0x33,0xec,0x2f,0x00]113# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding114[0x7f,0xfc,0xb0,0x00]115# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding116[0x30,0xed,0x2f,0x00]117# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding118[0x3f,0xfd,0xb6,0x10]119# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding120[0x3e,0xed,0xfe,0x01]121# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding122[0x3f,0xfd,0xde,0x61]123 124# VCX3125 126# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding127[0x8f,0xec,0x90,0x00]128# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding129[0xf8,0xfc,0xb5,0x01]130# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding131[0x8f,0xed,0x87,0x00]132# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding133[0xb6,0xfd,0xb6,0x11]134# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding135[0xae,0xed,0xc0,0x00]136# ERROR: [[@LINE+1]]:{{[0-9]+}}: warning: invalid instruction encoding137[0xbe,0xfd,0x7e,0x61]138