brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 89cc4c1 Raw
104 lines · plain
1; RUN: llc < %s -mtriple=thumb-apple-darwin -verify-machineinstrs | FileCheck %s2; RUN: llc < %s -mtriple=thumb-pc-linux-gnueabi -verify-machineinstrs | FileCheck -check-prefix=CHECK-EABI %s3 4define i32 @f1(i32 %a.s) {5entry:6    %tmp = icmp eq i32 %a.s, 47    %tmp1.s = select i1 %tmp, i32 2, i32 38    ret i32 %tmp1.s9}10; CHECK-LABEL: f1:11; CHECK: beq12; CHECK-EABI-LABEL: f1:13; CHECK-EABI: beq14 15define i32 @f2(i32 %a.s) {16entry:17    %tmp = icmp sgt i32 %a.s, 418    %tmp1.s = select i1 %tmp, i32 2, i32 319    ret i32 %tmp1.s20}21; CHECK-LABEL: f2:22; CHECK: bgt23; CHECK-EABI-LABEL: f2:24; CHECK-EABI: bgt25 26define i32 @f3(i32 %a.s, i32 %b.s) {27entry:28    %tmp = icmp slt i32 %a.s, %b.s29    %tmp1.s = select i1 %tmp, i32 2, i32 330    ret i32 %tmp1.s31}32; CHECK-LABEL: f3:33; CHECK: blt34; CHECK-EABI-LABEL: f3:35; CHECK-EABI: blt36 37define i32 @f4(i32 %a.s, i32 %b.s) {38entry:39    %tmp = icmp sle i32 %a.s, %b.s40    %tmp1.s = select i1 %tmp, i32 2, i32 341    ret i32 %tmp1.s42}43; CHECK-LABEL: f4:44; CHECK: ble45; CHECK-EABI-LABEL: f4:46; CHECK-EABI: ble47 48define i32 @f5(i32 %a.u, i32 %b.u) {49entry:50    %tmp = icmp ule i32 %a.u, %b.u51    %tmp1.s = select i1 %tmp, i32 2, i32 352    ret i32 %tmp1.s53}54; CHECK-LABEL: f5:55; CHECK: bls56; CHECK-EABI-LABEL: f5:57; CHECK-EABI: bls58 59define i32 @f6(i32 %a.u, i32 %b.u) {60entry:61    %tmp = icmp ugt i32 %a.u, %b.u62    %tmp1.s = select i1 %tmp, i32 2, i32 363    ret i32 %tmp1.s64}65; CHECK-LABEL: f6:66; CHECK: bhi67; CHECK-EABI-LABEL: f6:68; CHECK-EABI: bhi69 70define double @f7(double %a, double %b) {71    %tmp = fcmp olt double %a, 1.234e+0072    %tmp1 = select i1 %tmp, double -1.000e+00, double %b73    ret double %tmp174}75; CHECK-LABEL: f7:76; CHECK: {{bmi|bpl}}77; CHECK: {{bmi|bpl}}78; CHECK: __ltdf279; CHECK-EABI-LABEL: f7:80; CHECK-EABI: __aeabi_dcmplt81; CHECK-EABI: {{bne|beq}}82; CHECK-EABI: {{bne|beq}}83 84define {i32, i32} @f8(i32 %a, i32 %b, i32 %c, i32 %d) {85entry:86    %cmp = icmp slt i32 %a, %b87    %r1 = select i1 %cmp, i32 %c, i32 %a88    %r2 = select i1 %cmp, i32 %d, i32 %b89    %z = insertvalue { i32, i32 } undef, i32 %r1, 090    %z2 = insertvalue { i32, i32 } %z, i32 %r2, 191    ret { i32, i32 } %z292}93 94; CHECK-LABEL: f8:95; CHECK: cmp r0, r196; CHECK: blt97; CHECK: mov98; CHECK: mov99; CHECK: blt100; CHECK: movs101; CHECK: movs102; CHECK: movs103; CHECK: bx lr104