brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · e382481 Raw
95 lines · plain
1; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM2; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=armv7-linux-gnueabi | FileCheck %s --check-prefix=ARM3; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB4; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=thumbv8-apple-ios | FileCheck %s --check-prefix=THUMB5 6define i32 @t1(i1 %c) nounwind readnone {7entry:8; ARM-LABEL: t1:9; ARM: mov r1, r010; ARM: movw r0, #1011; ARM: tst r1, #112; ARM: moveq r0, #2013; THUMB-LABEL: t1:14; THUMB: mov r1, r015; THUMB: movs r0, #1016; THUMB: tst.w r1, #117; THUMB: it eq18; THUMB: moveq r0, #2019  %0 = select i1 %c, i32 10, i32 2020  ret i32 %021}22 23define i32 @t2(i1 %c, i32 %a) nounwind readnone {24entry:25; ARM-LABEL: t2:26; ARM: tst {{r[0-9]+}}, #127; ARM: moveq {{r[0-9]+}}, #2028; THUMB-LABEL: t2:29; THUMB: tst.w {{r[0-9]+}}, #130; THUMB: it eq31; THUMB: moveq {{r[0-9]+}}, #2032  %0 = select i1 %c, i32 %a, i32 2033  ret i32 %034}35 36define i32 @t3(i1 %c, i32 %a, i32 %b) nounwind readnone {37entry:38; ARM-LABEL: t3:39; ARM: tst r0, #140; ARM: movne r2, r141; ARM: add r0, r2, r142; THUMB-LABEL: t3:43; THUMB: tst.w r0, #144; THUMB: it ne45; THUMB: movne r2, r146; THUMB: adds r0, r2, r147  %0 = select i1 %c, i32 %a, i32 %b48  %1 = add i32 %0, %a49  ret i32 %150}51 52define i32 @t4(i1 %c) nounwind readnone {53entry:54; ARM-LABEL: t4:55; ARM: mov r1, r056; ARM: mvn r0, #957; ARM: tst r1, #158; ARM: mvneq r0, #059; THUMB-LABEL: t4:60; THUMB: mov r1, r061; THUMB: mvn r0, #962; THUMB: tst.w r1, #163; THUMB: it eq64; THUMB: mvneq r0, #065  %0 = select i1 %c, i32 -10, i32 -166  ret i32 %067}68 69define i32 @t5(i1 %c, i32 %a) nounwind readnone {70entry:71; ARM-LABEL: t5:72; ARM: tst {{r[0-9]+}}, #173; ARM: mvneq {{r[0-9]+}}, #174; THUMB-LABEL: t5:75; THUMB: tst.w {{r[0-9]+}}, #176; THUMB: it eq77; THUMB: mvneq {{r[0-9]+}}, #178  %0 = select i1 %c, i32 %a, i32 -279  ret i32 %080}81 82; Check one large negative immediates.83define i32 @t6(i1 %c, i32 %a) nounwind readnone {84entry:85; ARM-LABEL: t6:86; ARM: tst {{r[0-9]+}}, #187; ARM: mvneq {{r[0-9]+}}, #97894488; THUMB-LABEL: t6:89; THUMB: tst.w {{r[0-9]+}}, #190; THUMB: it eq91; THUMB: mvneq {{r[0-9]+}}, #97894492  %0 = select i1 %c, i32 %a, i32 -97894593  ret i32 %094}95