64 lines · plain
1@ Test case for PR303522@ Check that ldr.w is:3@ accepted and ignored for ARM4@ accepted and propagated for Thumb25@ rejected as needing Thumb2 for Thumb6 7@RUN: llvm-mc -triple armv5-unknown-linux-gnueabi %s | FileCheck --check-prefix=CHECK-ARM --check-prefix=CHECK %s8@RUN: llvm-mc -triple armv7-base-apple-darwin %s | FileCheck --check-prefix=CHECK-DARWIN-ARM --check-prefix=CHECK-DARWIN %s9@RUN: llvm-mc -triple thumbv7-unknown-linux-gnueabi %s | FileCheck --check-prefix=CHECK-THUMB2 --check-prefix=CHECK %s10@RUN: llvm-mc -triple thumbv7-base-apple-darwin %s | FileCheck --check-prefix=CHECK-DARWIN-THUMB2 --check-prefix=CHECK-DARWIN %s11@RUN: not llvm-mc -triple thumbv6-unknown-linux-gnueabi %s 2>&1 | FileCheck --check-prefix=CHECK-THUMB %s12@RUN: not llvm-mc -triple thumbv6-base-apple-darwin %s 2>&1 | FileCheck --check-prefix=CHECK-THUMB %s13@ CHECK-LABEL: f1:14f1:15 ldr r0, =0x1000216@ CHECK-ARM: ldr r0, .Ltmp[[TMP0:[0-9]+]]17@ CHECK-DARWIN-ARM: ldr r0, Ltmp018@ CHECK-THUMB2: ldr r0, .Ltmp[[TMP0:[0-9]+]]19@ CHECK-DARWIN-THUMB2: ldr r0, Ltmp020 21 ldr.w r0, =0x1000222@ CHECK-ARM: ldr r0, .Ltmp[[TMP0]]23@ CHECK-DARWIN-ARM: ldr r0, Ltmp024@ CHECK-THUMB2: ldr.w r0, .Ltmp[[TMP0:[0-9]+]]25@ CHECK-DARWIN-THUMB2: ldr.w r0, Ltmp026@ CHECK-THUMB: error: instruction requires: thumb227@ CHECK-THUMB-NEXT: ldr.w r0, =0x1000228 29@ CHECK-LABEL: f2:30f2:31 ldr r0, =foo32@ CHECK-ARM: ldr r0, .Ltmp[[TMP1:[0-9]+]]33@ CHECK-DARWIN-ARM: ldr r0, Ltmp134@ CHECK-THUMB2: ldr r0, .Ltmp[[TMP1:[0-9]+]]35@ CHECK-DARWIN-THUMB2: ldr r0, Ltmp136 37 ldr.w r0, =foo38@ CHECK-ARM: ldr r0, .Ltmp[[TMP2:[0-9]+]]39@ CHECK-DARWIN-ARM: ldr r0, Ltmp140@ CHECK-THUMB2: ldr.w r0, .Ltmp[[TMP2:[0-9]+]]41@ CHECK-DARWIN-THUMB2: ldr.w r0, Ltmp142@ CHECK-THUMB: error: instruction requires: thumb243@ CHECK-THUMB-NEXT: ldr.w r0, =foo44 45@ CHECK-LABEL: f3:46f3:47 ldr.w r1, =0x148@ CHECK-ARM: mov r1, #149@ CHECK-DARWIN-ARM: mov r1, #150@ CHECK-THUMB2: mov.w r1, #151@ CHECK-DARWIN-THUMB2: mov.w r1, #152@ CHECK-THUMB: error: instruction requires: thumb253@ CHECK-THUMB-NEXT: ldr.w r1, =0x154 55@ CHECK: .Ltmp0:56@ CHECK-NEXT: .long 6553857@ CHECK: .Ltmp1:58@ CHECK-NEXT: .long foo59 60@ CHECK-DARWIN: Ltmp0:61@ CHECK-DARWIN-NEXT: .long 6553862@ CHECK-DARWIN: Ltmp1:63@ CHECK-DARWIN-NEXT: .long foo64