diff --git a/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll b/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll new file mode 100644 index 00000000000..b7238ee23b8 --- /dev/null +++ b/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | llc -march=sparc + +void %execute_list() { + %tmp.33.i = div float 0.000000e+00, 0.000000e+00 ; <float> [#uses=1] + %tmp.37.i = mul float 0.000000e+00, %tmp.33.i ; <float> [#uses=1] + %tmp.42.i = add float %tmp.37.i, 0.000000e+00 ; <float> [#uses=1] + call void %gl_EvalCoord1f( float %tmp.42.i ) + ret void +} + +declare void %gl_EvalCoord1f( float) + diff --git a/test/CodeGen/SPARC/basictest.ll b/test/CodeGen/SPARC/basictest.ll new file mode 100644 index 00000000000..274f2ce80b1 --- /dev/null +++ b/test/CodeGen/SPARC/basictest.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=sparc + +int %test(int %X) { + %tmp.1 = add int %X, 1 ; <int> [#uses=1] + ret int %tmp.1 +} diff --git a/test/CodeGen/SPARC/ctpop.ll b/test/CodeGen/SPARC/ctpop.ll new file mode 100644 index 00000000000..ffe00fcc406 --- /dev/null +++ b/test/CodeGen/SPARC/ctpop.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | llc -march=sparc -mattr=-v9 && +; RUN: llvm-as < %s | llc -march=sparc -mattr=v9 -enable-sparc-v9-insts && +; RUN: llvm-as < %s | llc -march=sparc -mattr=-v9 | not grep popc && +; RUN: llvm-as < %s | llc -march=sparc -mattr=v9 -enable-sparc-v9-insts | grep popc + +declare uint %llvm.ctpop.i32(uint) +uint %test(uint %X) { + %Y = call uint %llvm.ctpop.i32(uint %X) + ret uint %Y +} + diff --git a/test/CodeGen/SPARC/dg.exp b/test/CodeGen/SPARC/dg.exp new file mode 100644 index 00000000000..e326ea721c3 --- /dev/null +++ b/test/CodeGen/SPARC/dg.exp @@ -0,0 +1,3 @@ +load_lib llvm-dg.exp + +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext diff --git a/test/CodeGen/SPARC/xnor.ll b/test/CodeGen/SPARC/xnor.ll new file mode 100644 index 00000000000..3a06a415c21 --- /dev/null +++ b/test/CodeGen/SPARC/xnor.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | llc -march=sparc && +; RUN: llvm-as < %s | llc -march=sparc | grep xnor | wc -l | grep 2 + +int %test1(int %X, int %Y) { + %A = xor int %X, %Y + %B = xor int %A, -1 + ret int %B +} + +int %test2(int %X, int %Y) { + %A = xor int %X, -1 + %B = xor int %A, %Y + ret int %B +}