1 @RUN
: llvm-mc
-triple armv7-unknown-linux-gnueabi
%s | FileCheck
--check-prefix
=CHECK-ARM
--check-prefix
=CHECK
%s
2 @RUN
: llvm-mc
-triple thumbv7-unknown-linux-gnueabi
%s | FileCheck
--check-prefix
=CHECK-THUMB2
--check-prefix
=CHECK
%s
5 @ Check that ldr to constant pool correctly transfers the condition codes
8 .section a,"ax",%progbits
13 @ CHECK
: ldreq
r0, .Ltmp[[TMP0:[0-9]+]]
15 @ loading multiple constants
16 .section b,"ax",%progbits
21 @ CHECK
: ldreq
r0, .Ltmp[[TMP1:[0-9]+]]
23 @ CHECK
: ldrne
r0, .Ltmp[[TMP2:[0-9]+]]
25 @ transformation to mov
26 .section c, "ax", %progbits
29 @ Can use the narrow Thumb mov as it does
not set flags in an IT block
34 @ Must use the wide Thumb mov if the constant can
't be represented
36 ldreq r2, = 0x1f000000
37 @ CHECK-ARM moveq r2, #520093696
38 @ CHECK-THUMB2 moveq.w r2, #520093696
39 ldrne r3, = 0x00001234
40 @ CHECK: movwne r3, #4660
45 @ CHECK: .section a,"ax",%progbits
47 @ CHECK: .Ltmp[[TMP0]]
50 @ CHECK: .section b,"ax",%progbits
52 @ CHECK: .Ltmp[[TMP1]]
54 @ CHECK: .Ltmp[[TMP2]]