brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · c059ee0 Raw
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