1 // RUN
: llvm-mc
-triple
=thumbv7
-show-encoding
< %s
2>&1 | FileCheck
--check-prefix
=CHECK
--check-prefix
=CHECK-NONARM
--check-prefix
=CHECK-THUMBV7
%s
2 // RUN
: llvm-mc
-triple
=thumbv8
-show-encoding
< %s
2>&1 | FileCheck
--check-prefix
=CHECK
--check-prefix
=CHECK-NONARM
--check-prefix
=CHECK-THUMBV8
%s
3 // RUN
: llvm-mc
-triple
=armv7
-show-encoding
< %s
2>&1 | FileCheck
--check-prefix
=CHECK
--check-prefix
=CHECK-ARM
%s
5 // lsl
#0 is actually mov, so here we check that it behaves the same as
6 // mov with regards to the permitted registers
and how it behaves in an
9 // Non-flags-setting with only one of source
and destination SP should
14 // CHECK-NONARM
: mov.w sp
, r0 @ encoding
: [0x4f,0xea,0x00,0x0d]
15 // CHECK-NONARM
: mov.w
r0, sp @ encoding
: [0x4f,0xea,0x0d,0x00]
17 // CHECK-ARM
: mov sp
, r0 @ encoding
: [0x00,0xd0,0xa0,0xe1]
18 // CHECK-ARM
: mov
r0, sp @ encoding
: [0x0d,0x00,0xa0,0xe1]
20 //FIXME
: pre-ARMv8 we give an error for these instructions
24 // LSL
#0 in IT block should select the 32-bit encoding
32 // CHECK-NONARM
: moveq.w
r0, r1 @ encoding
: [0x4f,0xea,0x01,0x00]
33 // CHECK-NONARM
: movseq.w
r0, r1 @ encoding
: [0x5f,0xea,0x01,0x00]
34 // CHECK-NONARM
: movgt.w
r0, r1 @ encoding
: [0x4f,0xea,0x01,0x00]
35 // CHECK-NONARM
: movsgt.w
r0, r1 @ encoding
: [0x5f,0xea,0x01,0x00]
37 // CHECK-ARM
: moveq
r0, r1 @ encoding
: [0x01,0x00,0xa0,0x01]
38 // CHECK-ARM
: movseq
r0, r1 @ encoding
: [0x01,0x00,0xb0,0x01]
39 // CHECK-ARM
: movgt
r0, r1 @ encoding
: [0x01,0x00,0xa0,0xc1]
40 // CHECK-ARM
: movsgt
r0, r1 @ encoding
: [0x01,0x00,0xb0,0xc1]
49 // CHECK-NONARM
: moveq.w
r0, r1 @ encoding
: [0x4f,0xea,0x01,0x00]
50 // CHECK-NONARM
: movseq.w
r0, r1 @ encoding
: [0x5f,0xea,0x01,0x00]
51 // CHECK-NONARM
: movgt.w
r0, r1 @ encoding
: [0x4f,0xea,0x01,0x00]
52 // CHECK-NONARM
: movsgt.w
r0, r1 @ encoding
: [0x5f,0xea,0x01,0x00]
54 // CHECK-ARM
: moveq
r0, r1 @ encoding
: [0x01,0x00,0xa0,0x01]
55 // CHECK-ARM
: movseq
r0, r1 @ encoding
: [0x01,0x00,0xb0,0x01]
56 // CHECK-ARM
: movgt
r0, r1 @ encoding
: [0x01,0x00,0xa0,0xc1]
57 // CHECK-ARM
: movsgt
r0, r1 @ encoding
: [0x01,0x00,0xb0,0xc1]