Re: r246223 - [X86][3DNow] Added debug codegen test for 3DNow! intrinsics
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
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
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