[llvm-commits] [llvm] r74295 - in /llvm/trunk/test/CodeGen/Thumb2: thumb2-add2.ll thumb2-add3.ll thumb2-add4.ll thumb2-add5.ll thumb2-add6.ll thumb2-bic.ll thumb2-cmp.ll thumb2-cmp2.ll thumb2-mla.ll thumb2-mls.ll thumb2-orn.ll thumb2-rsb.ll

Evan Cheng evan.cheng at apple.com
Fri Jun 26 11:19:50 PDT 2009


Please change "Count" to "count". Linux buildbots don't like that.

Evan

On Jun 26, 2009, at 11:10 AM, David Goodwin <david_goodwin at apple.com>  
wrote:

> Author: david_goodwin
> Date: Fri Jun 26 13:10:30 2009
> New Revision: 74295
>
> URL: http://llvm.org/viewvc/llvm-project?rev=74295&view=rev
> Log:
> Add Thumb-2 tests.
>
> Added:
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-add2.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-add3.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-add4.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-add5.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-add6.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp2.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-mla.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-mls.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-rsb.ll
> Modified:
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-bic.ll
>    llvm/trunk/test/CodeGen/Thumb2/thumb2-orn.ll
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-add2.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-add2.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-add2.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-add2.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,38 @@
> +; RUN: llvm-as < %s | llc | grep {add\\W*r\[0-9\],\\W*r\[0-9\],\\W*# 
> \[0-9\]*} | grep {#171\\|#1179666\\|#872428544\\|#1448498774\\|#510}  
> | Count 5
> +
> +target triple = "thumbv7-apple-darwin"
> +
> +; 171 = 0x000000ab
> +define i32 @f1(i32 %a) {
> +    %tmp = add i32 %a, 171
> +    ret i32 %tmp
> +}
> +
> +; 1179666 = 0x00120012
> +define i32 @f2(i32 %a) {
> +    %tmp = add i32 %a, 1179666
> +    ret i32 %tmp
> +}
> +
> +; 872428544 = 0x34003400
> +define i32 @f3(i32 %a) {
> +    %tmp = add i32 %a, 872428544
> +    ret i32 %tmp
> +}
> +
> +; 1448498774 = 0x56565656
> +define i32 @f4(i32 %a) {
> +    %tmp = add i32 %a, 1448498774
> +    ret i32 %tmp
> +}
> +
> +; 510 = 0x000001fe
> +define i32 @f5(i32 %a) {
> +    %tmp = add i32 %a, 510
> +    ret i32 %tmp
> +}
> +
> +define i32 @f6(i32 %a) {
> +    %tmp = add i32 %a, 4095
> +    ret i32 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-add3.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-add3.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-add3.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-add3.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,8 @@
> +; RUN: llvm-as < %s | llc | grep {addw\\W*r\[0-9\],\\W*r\[0-9\],\ 
> \W*#\[0-9\]*} | grep {#4095} | Count 1
> +
> +target triple = "thumbv7-apple-darwin"
> +
> +define i32 @f1(i32 %a) {
> +    %tmp = add i32 %a, 4095
> +    ret i32 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-add4.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-add4.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-add4.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-add4.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,33 @@
> +; RUN: llvm-as < %s | llc | grep {adds\\W*r\[0-9\],\\W*r\[0-9\],\ 
> \W*#\[0-9\]*} | grep {#171\\|#1179666\\|#872428544\\|#1448498774\\| 
> #66846720} | Count 5
> +
> +target triple = "thumbv7-apple-darwin"
> +
> +; 171 = 0x000000ab
> +define i64 @f1(i64 %a) {
> +    %tmp = add i64 %a, 171
> +    ret i64 %tmp
> +}
> +
> +; 1179666 = 0x00120012
> +define i64 @f2(i64 %a) {
> +    %tmp = add i64 %a, 1179666
> +    ret i64 %tmp
> +}
> +
> +; 872428544 = 0x34003400
> +define i64 @f3(i64 %a) {
> +    %tmp = add i64 %a, 872428544
> +    ret i64 %tmp
> +}
> +
> +; 1448498774 = 0x56565656
> +define i64 @f4(i64 %a) {
> +    %tmp = add i64 %a, 1448498774
> +    ret i64 %tmp
> +}
> +
> +; 66846720 = 0x03fc0000
> +define i64 @f5(i64 %a) {
> +    %tmp = add i64 %a, 66846720
> +    ret i64 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-add5.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-add5.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-add5.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-add5.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,6 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {add\ 
> \W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]} | Count 1
> +
> +define i32 @f1(i32 %a, i32 %b) {
> +    %tmp = add i32 %a, %b
> +    ret i32 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-add6.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-add6.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-add6.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-add6.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,6 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {adds\ 
> \W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]} | Count 1
> +
> +define i64 @f1(i64 %a, i64 %b) {
> +    %tmp = add i64 %a, %b
> +    ret i64 %tmp
> +}
>
> Modified: llvm/trunk/test/CodeGen/Thumb2/thumb2-bic.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-bic.ll?rev=74295&r1=74294&r2=74295&view=diff
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-bic.ll (original)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-bic.ll Fri Jun 26 13:10:30  
> 2009
> @@ -1,4 +1,4 @@
> -; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {bic\ 
> \W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*r\[0-9\]*} | count 2
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {bic\ 
> \W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*r\[0-9\]*} | count 4
>
> define i32 @f1(i32 %a, i32 %b) {
>     %tmp = xor i32 %b, 4294967295
> @@ -11,3 +11,15 @@
>     %tmp1 = and i32 %tmp, %a
>     ret i32 %tmp1
> }
> +
> +define i32 @f3(i32 %a, i32 %b) {
> +    %tmp = xor i32 4294967295, %b
> +    %tmp1 = and i32 %a, %tmp
> +    ret i32 %tmp1
> +}
> +
> +define i32 @f4(i32 %a, i32 %b) {
> +    %tmp = xor i32 4294967295, %b
> +    %tmp1 = and i32 %tmp, %a
> +    ret i32 %tmp1
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp.ll Fri Jun 26 13:10:30  
> 2009
> @@ -0,0 +1,31 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep "cmp  
> "  | grep {#187\\|#11141290\\|#3422604288\\|#1114112\\|#3722304989}  
> | Count 5
> +
> +; 0x000000bb = 187
> +define i1 @f1(i32 %a) {
> +    %tmp = icmp ne i32 %a, 187
> +    ret i1 %tmp
> +}
> +
> +; 0x00aa00aa = 11141290
> +define i1 @f2(i32 %a) {
> +    %tmp = icmp eq i32 %a, 11141290
> +    ret i1 %tmp
> +}
> +
> +; 0xcc00cc00 = 3422604288
> +define i1 @f3(i32 %a) {
> +    %tmp = icmp ne i32 %a, 3422604288
> +    ret i1 %tmp
> +}
> +
> +; 0xdddddddd = 3722304989
> +define i1 @f4(i32 %a) {
> +    %tmp = icmp ne i32 %a, 3722304989
> +    ret i1 %tmp
> +}
> +
> +; 0x00110000 = 1114112
> +define i1 @f5(i32 %a) {
> +    %tmp = icmp eq i32 %a, 1114112
> +    ret i1 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp2.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp2.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp2.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-cmp2.ll Fri Jun 26  
> 13:10:30 2009
> @@ -0,0 +1,11 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {cmp\ 
> \W*r\[0-9\],\\W*r\[0-9\]} | Count 2
> +
> +define i1 @f1(i32 %a, i32 %b) {
> +    %tmp = icmp ne i32 %a, %b
> +    ret i1 %tmp
> +}
> +
> +define i1 @f2(i32 %a, i32 %b) {
> +    %tmp = icmp eq i32 %a, %b
> +    ret i1 %tmp
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-mla.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-mla.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-mla.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-mla.ll Fri Jun 26 13:10:30  
> 2009
> @@ -0,0 +1,13 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {mla\ 
> \W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]} | Count 2
> +
> +define i32 @f1(i32 %a, i32 %b, i32 %c) {
> +    %tmp1 = mul i32 %a, %b
> +    %tmp2 = add i32 %c, %tmp1
> +    ret i32 %tmp2
> +}
> +
> +define i32 @f2(i32 %a, i32 %b, i32 %c) {
> +    %tmp1 = mul i32 %a, %b
> +    %tmp2 = add i32 %tmp1, %c
> +    ret i32 %tmp2
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-mls.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-mls.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-mls.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-mls.ll Fri Jun 26 13:10:30  
> 2009
> @@ -0,0 +1,14 @@
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {mls\ 
> \W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]} | Count 1
> +
> +define i32 @f1(i32 %a, i32 %b, i32 %c) {
> +    %tmp1 = mul i32 %a, %b
> +    %tmp2 = sub i32 %c, %tmp1
> +    ret i32 %tmp2
> +}
> +
> +; sub doesn't commute, so no mls for this one
> +define i32 @f2(i32 %a, i32 %b, i32 %c) {
> +    %tmp1 = mul i32 %a, %b
> +    %tmp2 = sub i32 %tmp1, %c
> +    ret i32 %tmp2
> +}
>
> Modified: llvm/trunk/test/CodeGen/Thumb2/thumb2-orn.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-orn.ll?rev=74295&r1=74294&r2=74295&view=diff
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-orn.ll (original)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-orn.ll Fri Jun 26 13:10:30  
> 2009
> @@ -1,4 +1,4 @@
> -; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {orn\ 
> \W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*r\[0-9\]*} | count 2
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {orn\ 
> \W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*r\[0-9\]*} | count 4
>
> define i32 @f1(i32 %a, i32 %b) {
>     %tmp = xor i32 %b, 4294967295
> @@ -11,3 +11,15 @@
>     %tmp1 = or i32 %tmp, %a
>     ret i32 %tmp1
> }
> +
> +define i32 @f3(i32 %a, i32 %b) {
> +    %tmp = xor i32 4294967295, %b
> +    %tmp1 = or i32 %a, %tmp
> +    ret i32 %tmp1
> +}
> +
> +define i32 @f4(i32 %a, i32 %b) {
> +    %tmp = xor i32 4294967295, %b
> +    %tmp1 = or i32 %tmp, %a
> +    ret i32 %tmp1
> +}
>
> Added: llvm/trunk/test/CodeGen/Thumb2/thumb2-rsb.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-rsb.ll?rev=74295&view=auto
>
> === 
> === 
> === 
> =====================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/thumb2-rsb.ll (added)
> +++ llvm/trunk/test/CodeGen/Thumb2/thumb2-rsb.ll Fri Jun 26 13:10:30  
> 2009
> @@ -0,0 +1,9 @@
> +; XFAIL: *
> +; this will match as "sub" until we get register shifting
> +
> +; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {rsb\ 
> \W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]*} | Count 1
> +
> +define i32 @f1(i32 %a, i32 %b) {
> +    %tmp = sub i32 %b, %a
> +    ret i32 %tmp
> +}
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list