74 lines · plain
1@ RUN: not llvm-mc -triple thumbv7a--none-eabi -arm-implicit-it=never < %s 2>%t | FileCheck %s --check-prefix=CHECK2@ RUN: FileCheck %s < %t --check-prefix=THUMB-STDERR3@ RUN: not llvm-mc -triple armv7a--none-eabi -arm-implicit-it=never < %s 2>%t | FileCheck %s --check-prefix=CHECK --check-prefix=ARM4@ RUN: FileCheck %s < %t --check-prefix=ARM-STDERR5 6@ RUN: not llvm-mc -triple thumbv7a--none-eabi -arm-implicit-it=always < %s | FileCheck %s --check-prefix=CHECK --check-prefix=THUMB7@ RUN: not llvm-mc -triple armv7a--none-eabi -arm-implicit-it=always < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ARM8 9@ RUN: not llvm-mc -triple thumbv7a--none-eabi -arm-implicit-it=arm < %s 2>%t | FileCheck %s --check-prefix=CHECK10@ RUN: FileCheck %s < %t --check-prefix=THUMB-STDERR11@ RUN: not llvm-mc -triple armv7a--none-eabi -arm-implicit-it=arm < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ARM12 13@ RUN: not llvm-mc -triple thumbv7a--none-eabi < %s 2>%t | FileCheck %s --check-prefix=CHECK14@ RUN: FileCheck %s < %t --check-prefix=THUMB-STDERR15@ RUN: not llvm-mc -triple armv7a--none-eabi < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ARM16 17@ RUN: not llvm-mc -triple thumbv7a--none-eabi -arm-implicit-it=thumb < %s | FileCheck %s --check-prefix=CHECK --check-prefix=THUMB18@ RUN: not llvm-mc -triple armv7a--none-eabi -arm-implicit-it=thumb < %s 2>%t | FileCheck %s --check-prefix=CHECK --check-prefix=ARM19@ RUN: FileCheck %s < %t --check-prefix=ARM-STDERR20 21@ A single conditional instruction without IT block22 .section test123@ CHECK-LABEL: test124 addeq r0, r0, #125@ THUMB: it eq26@ THUMB: addeq r0, r0, #127@ ARM: addeq r0, r0, #128@ THUMB-STDERR: error: predicated instructions must be in IT block29@ ARM-STDERR: warning: predicated instructions should be in IT block30 31@ A single conditional instruction with IT block32 .section test233@ CHECK-LABEL: test234 it eq35 addeq r0, r0, #136@ THUMB: it eq37@ THUMB: addeq r0, r0, #138@ ARM: addeq r0, r0, #139@ THUMB-STDERR-NOT: error:40@ ARM-STDERR-NOT: warning:41 42@ A single conditional instruction with IT block, but incorrect condition43 .section test344@ CHECK-LABEL: test345 it eq46 addgt r0, r0, #147@ THUMB-STDERR: error: incorrect condition in IT block48@ ARM-STDERR: error: incorrect condition in IT block49 50@ Multiple conditional instructions in an IT block, inverted and non-inverted conditions51 .section test452@ CHECK-LABEL: test453 itete gt54 addgt r0, r0, #155 addle r0, r0, #156 addgt r0, r0, #157 addle r0, r0, #158@ THUMB: itete gt59@ CHECK: addgt r0, r0, #160@ CHECK: addle r0, r0, #161@ CHECK: addgt r0, r0, #162@ CHECK: addle r0, r0, #163@ THUMB-STDERR-NOT: error:64@ ARM-STDERR-NOT: warning:65 66@ Incorrectly inverted condition on the second slot of an IT block67 .section test568@ CHECK-LABEL: test569 itt eq70 addeq r0, r0, #171 addne r0, r0, #172@ THUMB-STDERR: error: incorrect condition in IT block73@ ARM-STDERR: error: incorrect condition in IT block74