Changes in directory llvm/test/Transforms/InstCombine:
udiv_select_to_select_shift.ll added (r1.1) --- Log message: Add a test case for a particular udiv/select transform. --- Diffs of the changes: (+17 -0) udiv_select_to_select_shift.ll | 17 +++++++++++++++++ 1 files changed, 17 insertions(+) Index: llvm/test/Transforms/InstCombine/udiv_select_to_select_shift.ll diff -c /dev/null llvm/test/Transforms/InstCombine/udiv_select_to_select_shift.ll:1.1 *** /dev/null Mon Mar 5 16:51:18 2007 --- llvm/test/Transforms/InstCombine/udiv_select_to_select_shift.ll Mon Mar 5 16:51:08 2007 *************** *** 0 **** --- 1,17 ---- + ; This tests that this transform: + ; udiv X, (Select Cond, C1, C2) --> Select Cond, (shr X, C1), (shr X, C2) + ; + ; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis -f -o %t && \ + ; RUN: grep select %t | wc -l | grep 1 && \ + ; RUN: grep lshr %t | wc -l | grep 2 && \ + ; RUN: grep udiv %t | wc -l | grep 0 + + define i64 @test(i64 %X, i1 %Cond ) { + entry: + %divisor1 = select i1 %Cond, i64 8, i64 16 + %quotient1 = udiv i64 %X, %divisor1 + %divisor2 = select i1 %Cond, i64 8, i64 0 + %quotient2 = udiv i64 %X, %divisor2 + %sum = add i64 %quotient1, %quotient2 + ret i64 %sum + } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits