[llvm-commits] CVS: llvm/test/Regression/CodeGen/Alpha/add.ll mul5.ll s4addl.ll s4addq.ll
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Tue Oct 31 11:51:23 PST 2006
Changes in directory llvm/test/Regression/CodeGen/Alpha:
add.ll added (r1.1)
mul5.ll updated: 1.3 -> 1.4
s4addl.ll (r1.1) removed
s4addq.ll (r1.5) removed
---
Log message:
make one giant add and sub tester
---
Diffs of the changes: (+188 -0)
add.ll | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mul5.ll | 5 +
2 files changed, 188 insertions(+)
Index: llvm/test/Regression/CodeGen/Alpha/add.ll
diff -c /dev/null llvm/test/Regression/CodeGen/Alpha/add.ll:1.1
*** /dev/null Tue Oct 31 13:51:06 2006
--- llvm/test/Regression/CodeGen/Alpha/add.ll Tue Oct 31 13:50:55 2006
***************
*** 0 ****
--- 1,183 ----
+ ;test all the shifted and signextending adds and subs with and without consts
+
+ ; RUN: llvm-as < %s | llc -march=alpha | grep ' addl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep ' addq' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep ' subl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep ' subq' |wc -l |grep 1
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 'lda $0,-100($16)' |wc -l |grep 1
+
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's4addl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's8addl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's4addq' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's8addq' |wc -l |grep 2
+
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's4subl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's8subl' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's4subq' |wc -l |grep 2
+ ; RUN: llvm-as < %s | llc -march=alpha | grep 's8subq' |wc -l |grep 2
+
+ implementation ; Functions:
+
+ int %al(int %x, int %y) {
+ entry:
+ %tmp.3 = add int %y, %x
+ ret int %tmp.3
+ }
+
+ int %ali(int %x) {
+ entry:
+ %tmp.3 = add int 100, %x
+ ret int %tmp.3
+ }
+
+ long %aq(long %x, long %y) {
+ entry:
+ %tmp.3 = add long %y, %x
+ ret long %tmp.3
+ }
+ long %aqi(long %x) {
+ entry:
+ %tmp.3 = add long 100, %x
+ ret long %tmp.3
+ }
+
+ int %sl(int %x, int %y) {
+ entry:
+ %tmp.3 = sub int %y, %x
+ ret int %tmp.3
+ }
+
+ int %sli(int %x) {
+ entry:
+ %tmp.3 = sub int %x, 100
+ ret int %tmp.3
+ }
+
+ long %sq(long %x, long %y) {
+ entry:
+ %tmp.3 = sub long %y, %x
+ ret long %tmp.3
+ }
+ long %sqi(long %x) {
+ entry:
+ %tmp.3 = sub long %x, 100
+ ret long %tmp.3
+ }
+
+
+
+ int %a4l(int %x, int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 2
+ %tmp.3 = add int %tmp.1, %x
+ ret int %tmp.3
+ }
+
+ int %a8l(int %x, int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 3
+ %tmp.3 = add int %tmp.1, %x
+ ret int %tmp.3
+ }
+
+ long %a4q(long %x, long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 2
+ %tmp.3 = add long %tmp.1, %x
+ ret long %tmp.3
+ }
+
+ long %a8q(long %x, long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 3
+ %tmp.3 = add long %tmp.1, %x
+ ret long %tmp.3
+ }
+
+ int %a4li(int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 2
+ %tmp.3 = add int 100, %tmp.1
+ ret int %tmp.3
+ }
+
+ int %a8li(int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 3
+ %tmp.3 = add int 100, %tmp.1
+ ret int %tmp.3
+ }
+
+ long %a4qi(long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 2
+ %tmp.3 = add long 100, %tmp.1
+ ret long %tmp.3
+ }
+
+ long %a8qi(long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 3
+ %tmp.3 = add long 100, %tmp.1
+ ret long %tmp.3
+ }
+
+
+
+
+ int %s4l(int %x, int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 2
+ %tmp.3 = sub int %tmp.1, %x
+ ret int %tmp.3
+ }
+
+ int %s8l(int %x, int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 3
+ %tmp.3 = sub int %tmp.1, %x
+ ret int %tmp.3
+ }
+
+ long %s4q(long %x, long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 2
+ %tmp.3 = sub long %tmp.1, %x
+ ret long %tmp.3
+ }
+
+ long %s8q(long %x, long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 3
+ %tmp.3 = sub long %tmp.1, %x
+ ret long %tmp.3
+ }
+
+ int %s4li(int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 2
+ %tmp.3 = sub int %tmp.1, 100
+ ret int %tmp.3
+ }
+
+ int %s8li(int %y) {
+ entry:
+ %tmp.1 = shl int %y, ubyte 3
+ %tmp.3 = sub int %tmp.1, 100
+ ret int %tmp.3
+ }
+
+ long %s4qi(long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 2
+ %tmp.3 = sub long %tmp.1, 100
+ ret long %tmp.3
+ }
+
+ long %s8qi(long %y) {
+ entry:
+ %tmp.1 = shl long %y, ubyte 3
+ %tmp.3 = sub long %tmp.1, 100
+ ret long %tmp.3
+ }
+
Index: llvm/test/Regression/CodeGen/Alpha/mul5.ll
diff -u llvm/test/Regression/CodeGen/Alpha/mul5.ll:1.3 llvm/test/Regression/CodeGen/Alpha/mul5.ll:1.4
--- llvm/test/Regression/CodeGen/Alpha/mul5.ll:1.3 Sun Apr 2 23:14:39 2006
+++ llvm/test/Regression/CodeGen/Alpha/mul5.ll Tue Oct 31 13:50:55 2006
@@ -22,6 +22,11 @@
ulong %foo4ln(ulong %x) {
entry:
+ %tmp.1 = mul ulong %x, 508
+ ret ulong %tmp.1
+}
+ulong %foo4ln_more(ulong %x) {
+entry:
%tmp.1 = mul ulong %x, 252
ret ulong %tmp.1
}
More information about the llvm-commits
mailing list