A couple new regression tests to make sure we always pattern match the new

opcodes on ppc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26256 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nate Begeman 2006-02-17 06:16:56 +00:00
parent 551bf3f800
commit b5fefc732c
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,26 @@
; All of these ands and shifts should be folded into rlwimi's
; RUN: llvm-as < %s | llc -march=ppc32 | grep addc | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep adde | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep addze | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep addme | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep addic | wc -l | grep 2
implementation ; Functions:
long %add_ll(long %a, long %b) {
entry:
%tmp.2 = add long %b, %a ; <long> [#uses=1]
ret long %tmp.2
}
long %add_l_5(long %a) {
entry:
%tmp.1 = add long %a, 5 ; <long> [#uses=1]
ret long %tmp.1
}
long %add_l_m5(long %a) {
entry:
%tmp.1 = add long %a, -5 ; <long> [#uses=1]
ret long %tmp.1
}

View File

@ -0,0 +1,25 @@
; All of these ands and shifts should be folded into rlwimi's
; RUN: llvm-as < %s | llc -march=ppc32 | grep subfc | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep subfe | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep subfze | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep subfme | wc -l | grep 1 &&
; RUN: llvm-as < %s | llc -march=ppc32 | grep subfic | wc -l | grep 2
implementation ; Functions:
long %sub_ll(long %a, long %b) {
entry:
%tmp.2 = sub long %a, %b ; <long> [#uses=1]
ret long %tmp.2
}
long %sub_l_5(long %a) {
entry:
%tmp.1 = sub long 5, %a ; <long> [#uses=1]
ret long %tmp.1
}
long %sub_l_m5(long %a) {
entry:
%tmp.1 = sub long -5, %a ; <long> [#uses=1]
ret long %tmp.1
}