Re: r246223 - [X86][3DNow] Added debug codegen test for 3DNow! intrinsics

2015-08-28 Thread Renato Golin via cfe-commits
And finally this one in r246323.

Please, move all those tests to an X86 specific area and check the
AArch64 bots after commit to make sure it passes.

You probably didn't get the email because the bot was broken when you
committed, then all your other commits were breaking a broken bot. :)

cheers,
--renato

On 27 August 2015 at 23:18, Simon Pilgrim via cfe-commits
 wrote:
> Author: rksimon
> Date: Thu Aug 27 17:18:09 2015
> New Revision: 246223
>
> URL: http://llvm.org/viewvc/llvm-project?rev=246223&view=rev
> Log:
> [X86][3DNow] Added debug codegen test for 3DNow! intrinsics
>
> Part of PR24590
>
> Modified:
> cfe/trunk/test/CodeGen/3dnow-builtins.c
>
> Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=246223&r1=246222&r2=246223&view=diff
> ==
> --- cfe/trunk/test/CodeGen/3dnow-builtins.c (original)
> +++ cfe/trunk/test/CodeGen/3dnow-builtins.c Thu Aug 27 17:18:09 2015
> @@ -1,4 +1,5 @@
> -// RUN: %clang_cc1 %s -O3 -triple=x86_64-unknown-unknown -target-feature 
> +3dnow -emit-llvm -o - | FileCheck %s
> +// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature 
> +3dnow -emit-llvm -o - -Werror | FileCheck %s
> +// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature 
> +3dnow -S -o - -Werror | FileCheck %s --check-prefix=CHECK-ASM
>
>  // Don't include mm_malloc.h, it's system specific.
>  #define __MM_MALLOC_H
> @@ -8,108 +9,126 @@
>  __m64 test_m_pavgusb(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pavgusb
>// CHECK: @llvm.x86.3dnow.pavgusb
> +  // CHECK-ASM: pavgusb %mm{{.*}}, %mm{{.*}}
>return _m_pavgusb(m1, m2);
>  }
>
>  __m64 test_m_pf2id(__m64 m) {
>// CHECK-LABEL: define i64 @test_m_pf2id
>// CHECK: @llvm.x86.3dnow.pf2id
> +  // CHECK-ASM: pf2id %mm{{.*}}, %mm{{.*}}
>return _m_pf2id(m);
>  }
>
>  __m64 test_m_pfacc(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfacc
>// CHECK: @llvm.x86.3dnow.pfacc
> +  // CHECK-ASM: pfacc %mm{{.*}}, %mm{{.*}}
>return _m_pfacc(m1, m2);
>  }
>
>  __m64 test_m_pfadd(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfadd
>// CHECK: @llvm.x86.3dnow.pfadd
> +  // CHECK-ASM: pfadd %mm{{.*}}, %mm{{.*}}
>return _m_pfadd(m1, m2);
>  }
>
>  __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfcmpeq
>// CHECK: @llvm.x86.3dnow.pfcmpeq
> +  // CHECK-ASM: pfcmpeq %mm{{.*}}, %mm{{.*}}
>return _m_pfcmpeq(m1, m2);
>  }
>
>  __m64 test_m_pfcmpge(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfcmpge
>// CHECK: @llvm.x86.3dnow.pfcmpge
> +  // CHECK-ASM: pfcmpge %mm{{.*}}, %mm{{.*}}
>return _m_pfcmpge(m1, m2);
>  }
>
>  __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfcmpgt
>// CHECK: @llvm.x86.3dnow.pfcmpgt
> +  // CHECK-ASM: pfcmpgt %mm{{.*}}, %mm{{.*}}
>return _m_pfcmpgt(m1, m2);
>  }
>
>  __m64 test_m_pfmax(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfmax
>// CHECK: @llvm.x86.3dnow.pfmax
> +  // CHECK-ASM: pfmax %mm{{.*}}, %mm{{.*}}
>return _m_pfmax(m1, m2);
>  }
>
>  __m64 test_m_pfmin(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfmin
>// CHECK: @llvm.x86.3dnow.pfmin
> +  // CHECK-ASM: pfmin %mm{{.*}}, %mm{{.*}}
>return _m_pfmin(m1, m2);
>  }
>
>  __m64 test_m_pfmul(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfmul
>// CHECK: @llvm.x86.3dnow.pfmul
> +  // CHECK-ASM: pfmul %mm{{.*}}, %mm{{.*}}
>return _m_pfmul(m1, m2);
>  }
>
>  __m64 test_m_pfrcp(__m64 m) {
>// CHECK-LABEL: define i64 @test_m_pfrcp
>// CHECK: @llvm.x86.3dnow.pfrcp
> +  // CHECK-ASM: pfrcp %mm{{.*}}, %mm{{.*}}
>return _m_pfrcp(m);
>  }
>
>  __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfrcpit1
>// CHECK: @llvm.x86.3dnow.pfrcpit1
> +  // CHECK-ASM: pfrcpit1 %mm{{.*}}, %mm{{.*}}
>return _m_pfrcpit1(m1, m2);
>  }
>
>  __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfrcpit2
>// CHECK: @llvm.x86.3dnow.pfrcpit2
> +  // CHECK-ASM: pfrcpit2 %mm{{.*}}, %mm{{.*}}
>return _m_pfrcpit2(m1, m2);
>  }
>
>  __m64 test_m_pfrsqrt(__m64 m) {
>// CHECK-LABEL: define i64 @test_m_pfrsqrt
>// CHECK: @llvm.x86.3dnow.pfrsqrt
> +  // CHECK-ASM: pfrsqrt %mm{{.*}}, %mm{{.*}}
>return _m_pfrsqrt(m);
>  }
>
>  __m64 test_m_pfrsqrtit1(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfrsqrtit1
>// CHECK: @llvm.x86.3dnow.pfrsqit1
> +  // CHECK-ASM: pfrsqit1 %mm{{.*}}, %mm{{.*}}
>return _m_pfrsqrtit1(m1, m2);
>  }
>
>  __m64 test_m_pfsub(__m64 m1, __m64 m2) {
>// CHECK-LABEL: define i64 @test_m_pfsub
>// CHECK: @llvm.x86.3dnow.pfsub
> +  // CHECK-ASM: pfsub %mm{{.*}}, %mm{{.*}}
>return _m_pfsub(m1, m2);
>  }
>
>  __m64 test_m_pfsubr(__

Re: r246223 - [X86][3DNow] Added debug codegen test for 3DNow! intrinsics

2015-08-28 Thread Simon Pilgrim via cfe-commits
Thanks for the heads up Renato. I've a candidate fix (it was missing 
REQUIRES: x86-registered-target) and will commit it later and keep an 
extra eye on the non-x86 buildbots.


On 28/08/2015 20:41, Renato Golin wrote:

And finally this one in r246323.

Please, move all those tests to an X86 specific area and check the
AArch64 bots after commit to make sure it passes.

You probably didn't get the email because the bot was broken when you
committed, then all your other commits were breaking a broken bot. :)

cheers,
--renato

On 27 August 2015 at 23:18, Simon Pilgrim via cfe-commits
 wrote:

Author: rksimon
Date: Thu Aug 27 17:18:09 2015
New Revision: 246223

URL: http://llvm.org/viewvc/llvm-project?rev=246223&view=rev
Log:
[X86][3DNow] Added debug codegen test for 3DNow! intrinsics

Part of PR24590

Modified:
 cfe/trunk/test/CodeGen/3dnow-builtins.c

Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=246223&r1=246222&r2=246223&view=diff
==
--- cfe/trunk/test/CodeGen/3dnow-builtins.c (original)
+++ cfe/trunk/test/CodeGen/3dnow-builtins.c Thu Aug 27 17:18:09 2015
@@ -1,4 +1,5 @@
-// RUN: %clang_cc1 %s -O3 -triple=x86_64-unknown-unknown -target-feature 
+3dnow -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature 
+3dnow -emit-llvm -o - -Werror | FileCheck %s
+// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature 
+3dnow -S -o - -Werror | FileCheck %s --check-prefix=CHECK-ASM

  // Don't include mm_malloc.h, it's system specific.
  #define __MM_MALLOC_H
@@ -8,108 +9,126 @@
  __m64 test_m_pavgusb(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pavgusb
// CHECK: @llvm.x86.3dnow.pavgusb
+  // CHECK-ASM: pavgusb %mm{{.*}}, %mm{{.*}}
return _m_pavgusb(m1, m2);
  }

  __m64 test_m_pf2id(__m64 m) {
// CHECK-LABEL: define i64 @test_m_pf2id
// CHECK: @llvm.x86.3dnow.pf2id
+  // CHECK-ASM: pf2id %mm{{.*}}, %mm{{.*}}
return _m_pf2id(m);
  }

  __m64 test_m_pfacc(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfacc
// CHECK: @llvm.x86.3dnow.pfacc
+  // CHECK-ASM: pfacc %mm{{.*}}, %mm{{.*}}
return _m_pfacc(m1, m2);
  }

  __m64 test_m_pfadd(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfadd
// CHECK: @llvm.x86.3dnow.pfadd
+  // CHECK-ASM: pfadd %mm{{.*}}, %mm{{.*}}
return _m_pfadd(m1, m2);
  }

  __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfcmpeq
// CHECK: @llvm.x86.3dnow.pfcmpeq
+  // CHECK-ASM: pfcmpeq %mm{{.*}}, %mm{{.*}}
return _m_pfcmpeq(m1, m2);
  }

  __m64 test_m_pfcmpge(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfcmpge
// CHECK: @llvm.x86.3dnow.pfcmpge
+  // CHECK-ASM: pfcmpge %mm{{.*}}, %mm{{.*}}
return _m_pfcmpge(m1, m2);
  }

  __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfcmpgt
// CHECK: @llvm.x86.3dnow.pfcmpgt
+  // CHECK-ASM: pfcmpgt %mm{{.*}}, %mm{{.*}}
return _m_pfcmpgt(m1, m2);
  }

  __m64 test_m_pfmax(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfmax
// CHECK: @llvm.x86.3dnow.pfmax
+  // CHECK-ASM: pfmax %mm{{.*}}, %mm{{.*}}
return _m_pfmax(m1, m2);
  }

  __m64 test_m_pfmin(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfmin
// CHECK: @llvm.x86.3dnow.pfmin
+  // CHECK-ASM: pfmin %mm{{.*}}, %mm{{.*}}
return _m_pfmin(m1, m2);
  }

  __m64 test_m_pfmul(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfmul
// CHECK: @llvm.x86.3dnow.pfmul
+  // CHECK-ASM: pfmul %mm{{.*}}, %mm{{.*}}
return _m_pfmul(m1, m2);
  }

  __m64 test_m_pfrcp(__m64 m) {
// CHECK-LABEL: define i64 @test_m_pfrcp
// CHECK: @llvm.x86.3dnow.pfrcp
+  // CHECK-ASM: pfrcp %mm{{.*}}, %mm{{.*}}
return _m_pfrcp(m);
  }

  __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfrcpit1
// CHECK: @llvm.x86.3dnow.pfrcpit1
+  // CHECK-ASM: pfrcpit1 %mm{{.*}}, %mm{{.*}}
return _m_pfrcpit1(m1, m2);
  }

  __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfrcpit2
// CHECK: @llvm.x86.3dnow.pfrcpit2
+  // CHECK-ASM: pfrcpit2 %mm{{.*}}, %mm{{.*}}
return _m_pfrcpit2(m1, m2);
  }

  __m64 test_m_pfrsqrt(__m64 m) {
// CHECK-LABEL: define i64 @test_m_pfrsqrt
// CHECK: @llvm.x86.3dnow.pfrsqrt
+  // CHECK-ASM: pfrsqrt %mm{{.*}}, %mm{{.*}}
return _m_pfrsqrt(m);
  }

  __m64 test_m_pfrsqrtit1(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfrsqrtit1
// CHECK: @llvm.x86.3dnow.pfrsqit1
+  // CHECK-ASM: pfrsqit1 %mm{{.*}}, %mm{{.*}}
return _m_pfrsqrtit1(m1, m2);
  }

  __m64 test_m_pfsub(__m64 m1, __m64 m2) {
// CHECK-LABEL: define i64 @test_m_pfsub
// CHECK: @llvm.x86.3dnow.pfsub
+  // CHECK-ASM: pfsub %mm{{.*}}, %mm{{.*}}
return _m_pfs

Re: r246223 - [X86][3DNow] Added debug codegen test for 3DNow! intrinsics

2015-08-28 Thread Renato Golin via cfe-commits
Thanks!
On 28 Aug 2015 9:33 pm, "Simon Pilgrim"  wrote:

> Thanks for the heads up Renato. I've a candidate fix (it was missing
> REQUIRES: x86-registered-target) and will commit it later and keep an extra
> eye on the non-x86 buildbots.
>
> On 28/08/2015 20:41, Renato Golin wrote:
>
>> And finally this one in r246323.
>>
>> Please, move all those tests to an X86 specific area and check the
>> AArch64 bots after commit to make sure it passes.
>>
>> You probably didn't get the email because the bot was broken when you
>> committed, then all your other commits were breaking a broken bot. :)
>>
>> cheers,
>> --renato
>>
>> On 27 August 2015 at 23:18, Simon Pilgrim via cfe-commits
>>  wrote:
>>
>>> Author: rksimon
>>> Date: Thu Aug 27 17:18:09 2015
>>> New Revision: 246223
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=246223&view=rev
>>> Log:
>>> [X86][3DNow] Added debug codegen test for 3DNow! intrinsics
>>>
>>> Part of PR24590
>>>
>>> Modified:
>>>  cfe/trunk/test/CodeGen/3dnow-builtins.c
>>>
>>> Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=246223&r1=246222&r2=246223&view=diff
>>>
>>> ==
>>> --- cfe/trunk/test/CodeGen/3dnow-builtins.c (original)
>>> +++ cfe/trunk/test/CodeGen/3dnow-builtins.c Thu Aug 27 17:18:09 2015
>>> @@ -1,4 +1,5 @@
>>> -// RUN: %clang_cc1 %s -O3 -triple=x86_64-unknown-unknown
>>> -target-feature +3dnow -emit-llvm -o - | FileCheck %s
>>> +// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown
>>> -target-feature +3dnow -emit-llvm -o - -Werror | FileCheck %s
>>> +// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown
>>> -target-feature +3dnow -S -o - -Werror | FileCheck %s
>>> --check-prefix=CHECK-ASM
>>>
>>>   // Don't include mm_malloc.h, it's system specific.
>>>   #define __MM_MALLOC_H
>>> @@ -8,108 +9,126 @@
>>>   __m64 test_m_pavgusb(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pavgusb
>>> // CHECK: @llvm.x86.3dnow.pavgusb
>>> +  // CHECK-ASM: pavgusb %mm{{.*}}, %mm{{.*}}
>>> return _m_pavgusb(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pf2id(__m64 m) {
>>> // CHECK-LABEL: define i64 @test_m_pf2id
>>> // CHECK: @llvm.x86.3dnow.pf2id
>>> +  // CHECK-ASM: pf2id %mm{{.*}}, %mm{{.*}}
>>> return _m_pf2id(m);
>>>   }
>>>
>>>   __m64 test_m_pfacc(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfacc
>>> // CHECK: @llvm.x86.3dnow.pfacc
>>> +  // CHECK-ASM: pfacc %mm{{.*}}, %mm{{.*}}
>>> return _m_pfacc(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfadd(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfadd
>>> // CHECK: @llvm.x86.3dnow.pfadd
>>> +  // CHECK-ASM: pfadd %mm{{.*}}, %mm{{.*}}
>>> return _m_pfadd(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfcmpeq
>>> // CHECK: @llvm.x86.3dnow.pfcmpeq
>>> +  // CHECK-ASM: pfcmpeq %mm{{.*}}, %mm{{.*}}
>>> return _m_pfcmpeq(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfcmpge(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfcmpge
>>> // CHECK: @llvm.x86.3dnow.pfcmpge
>>> +  // CHECK-ASM: pfcmpge %mm{{.*}}, %mm{{.*}}
>>> return _m_pfcmpge(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfcmpgt
>>> // CHECK: @llvm.x86.3dnow.pfcmpgt
>>> +  // CHECK-ASM: pfcmpgt %mm{{.*}}, %mm{{.*}}
>>> return _m_pfcmpgt(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfmax(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfmax
>>> // CHECK: @llvm.x86.3dnow.pfmax
>>> +  // CHECK-ASM: pfmax %mm{{.*}}, %mm{{.*}}
>>> return _m_pfmax(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfmin(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfmin
>>> // CHECK: @llvm.x86.3dnow.pfmin
>>> +  // CHECK-ASM: pfmin %mm{{.*}}, %mm{{.*}}
>>> return _m_pfmin(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfmul(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfmul
>>> // CHECK: @llvm.x86.3dnow.pfmul
>>> +  // CHECK-ASM: pfmul %mm{{.*}}, %mm{{.*}}
>>> return _m_pfmul(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfrcp(__m64 m) {
>>> // CHECK-LABEL: define i64 @test_m_pfrcp
>>> // CHECK: @llvm.x86.3dnow.pfrcp
>>> +  // CHECK-ASM: pfrcp %mm{{.*}}, %mm{{.*}}
>>> return _m_pfrcp(m);
>>>   }
>>>
>>>   __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfrcpit1
>>> // CHECK: @llvm.x86.3dnow.pfrcpit1
>>> +  // CHECK-ASM: pfrcpit1 %mm{{.*}}, %mm{{.*}}
>>> return _m_pfrcpit1(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) {
>>> // CHECK-LABEL: define i64 @test_m_pfrcpit2
>>> // CHECK: @llvm.x86.3dnow.pfrcpit2
>>> +  // CHECK-ASM: pfrcpit2 %mm{{.*}}, %mm{{.*}}
>>> return _m_pfrcpit2(m1, m2);
>>>   }
>>>
>>>   __m64 test_m_pfrsqrt(__m64