aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/IA64
diff options
context:
space:
mode:
authorDan Gohman <djg@cray.com>2007-07-18 16:29:46 +0000
committerDan Gohman <djg@cray.com>2007-07-18 16:29:46 +0000
commitf17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc (patch)
treeebb79ea1ee5e3bc1fdf38541a811a8b804f0679a /test/CodeGen/IA64
downloadexternal_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.zip
external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.gz
external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.bz2
It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/IA64')
-rw-r--r--test/CodeGen/IA64/2005-08-22-LegalizerCrash.ll11
-rw-r--r--test/CodeGen/IA64/2005-10-29-shladd.ll11
-rw-r--r--test/CodeGen/IA64/dg.exp5
-rw-r--r--test/CodeGen/IA64/ret-0.ll5
4 files changed, 32 insertions, 0 deletions
diff --git a/test/CodeGen/IA64/2005-08-22-LegalizerCrash.ll b/test/CodeGen/IA64/2005-08-22-LegalizerCrash.ll
new file mode 100644
index 0000000..c160e7f
--- /dev/null
+++ b/test/CodeGen/IA64/2005-08-22-LegalizerCrash.ll
@@ -0,0 +1,11 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=ia64
+
+%_ZN9__gnu_cxx16__stl_prime_listE = external global [28 x uint] ; <[28 x uint]*> [#uses=3]
+
+implementation ; Functions:
+
+fastcc uint* %_ZSt11lower_boundIPKmmET_S2_S2_RKT0_(uint %__val.val) {
+entry:
+ %retval = select bool setgt (int shr (int sub (int cast (uint* getelementptr ([28 x uint]* %_ZN9__gnu_cxx16__stl_prime_listE, int 0, int 28) to int), int cast ([28 x uint]* %_ZN9__gnu_cxx16__stl_prime_listE to int)), ubyte 2), int 0), uint* null, uint* getelementptr ([28 x uint]* %_ZN9__gnu_cxx16__stl_prime_listE, int 0, int 0) ; <uint*> [#uses=1]
+ ret uint* %retval
+}
diff --git a/test/CodeGen/IA64/2005-10-29-shladd.ll b/test/CodeGen/IA64/2005-10-29-shladd.ll
new file mode 100644
index 0000000..186e5e8
--- /dev/null
+++ b/test/CodeGen/IA64/2005-10-29-shladd.ll
@@ -0,0 +1,11 @@
+; this should turn into shladd
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=ia64 | grep shladd
+
+implementation ; Functions:
+
+long %bogglesmoggle(long %X, long %Y) {
+ %A = shl long %X, ubyte 3
+ %B = add long %A, %Y
+ ret long %B
+}
+
diff --git a/test/CodeGen/IA64/dg.exp b/test/CodeGen/IA64/dg.exp
new file mode 100644
index 0000000..32e44b4
--- /dev/null
+++ b/test/CodeGen/IA64/dg.exp
@@ -0,0 +1,5 @@
+load_lib llvm.exp
+
+if { [llvm_supports_target IA64] } {
+ RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
+}
diff --git a/test/CodeGen/IA64/ret-0.ll b/test/CodeGen/IA64/ret-0.ll
new file mode 100644
index 0000000..0f5cf89
--- /dev/null
+++ b/test/CodeGen/IA64/ret-0.ll
@@ -0,0 +1,5 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=ia64
+
+double %test() {
+ ret double 0.0
+}