<p dir="ltr">Thanks! </p>
<div class="gmail_quote">On 28 Aug 2015 9:33 pm, "Simon Pilgrim" <<a href="mailto:llvm-dev@redking.me.uk">llvm-dev@redking.me.uk</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
On 28/08/2015 20:41, Renato Golin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And finally this one in r246323.<br>
<br>
Please, move all those tests to an X86 specific area and check the<br>
AArch64 bots after commit to make sure it passes.<br>
<br>
You probably didn't get the email because the bot was broken when you<br>
committed, then all your other commits were breaking a broken bot. :)<br>
<br>
cheers,<br>
--renato<br>
<br>
On 27 August 2015 at 23:18, Simon Pilgrim via cfe-commits<br>
<<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: rksimon<br>
Date: Thu Aug 27 17:18:09 2015<br>
New Revision: 246223<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=246223&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=246223&view=rev</a><br>
Log:<br>
[X86][3DNow] Added debug codegen test for 3DNow! intrinsics<br>
<br>
Part of PR24590<br>
<br>
Modified:<br>
     cfe/trunk/test/CodeGen/3dnow-builtins.c<br>
<br>
Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=246223&r1=246222&r2=246223&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=246223&r1=246222&r2=246223&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGen/3dnow-builtins.c (original)<br>
+++ cfe/trunk/test/CodeGen/3dnow-builtins.c Thu Aug 27 17:18:09 2015<br>
@@ -1,4 +1,5 @@<br>
-// RUN: %clang_cc1 %s -O3 -triple=x86_64-unknown-unknown -target-feature +3dnow -emit-llvm -o - | FileCheck %s<br>
+// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature +3dnow -emit-llvm -o - -Werror | FileCheck %s<br>
+// RUN: %clang_cc1 %s -O0 -triple=x86_64-unknown-unknown -target-feature +3dnow -S -o - -Werror | FileCheck %s --check-prefix=CHECK-ASM<br>
<br>
  // Don't include mm_malloc.h, it's system specific.<br>
  #define __MM_MALLOC_H<br>
@@ -8,108 +9,126 @@<br>
  __m64 test_m_pavgusb(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pavgusb<br>
    // CHECK: @llvm.x86.3dnow.pavgusb<br>
+  // CHECK-ASM: pavgusb %mm{{.*}}, %mm{{.*}}<br>
    return _m_pavgusb(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pf2id(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pf2id<br>
    // CHECK: @llvm.x86.3dnow.pf2id<br>
+  // CHECK-ASM: pf2id %mm{{.*}}, %mm{{.*}}<br>
    return _m_pf2id(m);<br>
  }<br>
<br>
  __m64 test_m_pfacc(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfacc<br>
    // CHECK: @llvm.x86.3dnow.pfacc<br>
+  // CHECK-ASM: pfacc %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfacc(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfadd(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfadd<br>
    // CHECK: @llvm.x86.3dnow.pfadd<br>
+  // CHECK-ASM: pfadd %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfadd(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfcmpeq<br>
    // CHECK: @llvm.x86.3dnow.pfcmpeq<br>
+  // CHECK-ASM: pfcmpeq %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfcmpeq(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfcmpge(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfcmpge<br>
    // CHECK: @llvm.x86.3dnow.pfcmpge<br>
+  // CHECK-ASM: pfcmpge %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfcmpge(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfcmpgt<br>
    // CHECK: @llvm.x86.3dnow.pfcmpgt<br>
+  // CHECK-ASM: pfcmpgt %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfcmpgt(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfmax(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfmax<br>
    // CHECK: @llvm.x86.3dnow.pfmax<br>
+  // CHECK-ASM: pfmax %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfmax(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfmin(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfmin<br>
    // CHECK: @llvm.x86.3dnow.pfmin<br>
+  // CHECK-ASM: pfmin %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfmin(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfmul(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfmul<br>
    // CHECK: @llvm.x86.3dnow.pfmul<br>
+  // CHECK-ASM: pfmul %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfmul(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfrcp(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pfrcp<br>
    // CHECK: @llvm.x86.3dnow.pfrcp<br>
+  // CHECK-ASM: pfrcp %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfrcp(m);<br>
  }<br>
<br>
  __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfrcpit1<br>
    // CHECK: @llvm.x86.3dnow.pfrcpit1<br>
+  // CHECK-ASM: pfrcpit1 %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfrcpit1(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfrcpit2<br>
    // CHECK: @llvm.x86.3dnow.pfrcpit2<br>
+  // CHECK-ASM: pfrcpit2 %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfrcpit2(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfrsqrt(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pfrsqrt<br>
    // CHECK: @llvm.x86.3dnow.pfrsqrt<br>
+  // CHECK-ASM: pfrsqrt %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfrsqrt(m);<br>
  }<br>
<br>
  __m64 test_m_pfrsqrtit1(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfrsqrtit1<br>
    // CHECK: @llvm.x86.3dnow.pfrsqit1<br>
+  // CHECK-ASM: pfrsqit1 %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfrsqrtit1(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfsub(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfsub<br>
    // CHECK: @llvm.x86.3dnow.pfsub<br>
+  // CHECK-ASM: pfsub %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfsub(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfsubr(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfsubr<br>
    // CHECK: @llvm.x86.3dnow.pfsubr<br>
+  // CHECK-ASM: pfsubr %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfsubr(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pi2fd(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pi2fd<br>
    // CHECK: @llvm.x86.3dnow.pi2fd<br>
+  // CHECK-ASM: pi2fd %mm{{.*}}, %mm{{.*}}<br>
    return _m_pi2fd(m);<br>
  }<br>
<br>
@@ -122,35 +141,41 @@ __m64 test_m_pmulhrw(__m64 m1, __m64 m2)<br>
  __m64 test_m_pf2iw(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pf2iw<br>
    // CHECK: @llvm.x86.3dnowa.pf2iw<br>
+  // CHECK-ASM: pf2iw %mm{{.*}}, %mm{{.*}}<br>
    return _m_pf2iw(m);<br>
  }<br>
<br>
  __m64 test_m_pfnacc(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfnacc<br>
    // CHECK: @llvm.x86.3dnowa.pfnacc<br>
+  // CHECK-ASM: pfnacc %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfnacc(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pfpnacc(__m64 m1, __m64 m2) {<br>
    // CHECK-LABEL: define i64 @test_m_pfpnacc<br>
    // CHECK: @llvm.x86.3dnowa.pfpnacc<br>
+  // CHECK-ASM: pfpnacc %mm{{.*}}, %mm{{.*}}<br>
    return _m_pfpnacc(m1, m2);<br>
  }<br>
<br>
  __m64 test_m_pi2fw(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pi2fw<br>
    // CHECK: @llvm.x86.3dnowa.pi2fw<br>
+  // CHECK-ASM: pi2fw %mm{{.*}}, %mm{{.*}}<br>
    return _m_pi2fw(m);<br>
  }<br>
<br>
  __m64 test_m_pswapdsf(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pswapdsf<br>
    // CHECK: @llvm.x86.3dnowa.pswapd<br>
+  // CHECK-ASM: pswapd %mm{{.*}}, %mm{{.*}}<br>
    return _m_pswapdsf(m);<br>
  }<br>
<br>
  __m64 test_m_pswapdsi(__m64 m) {<br>
    // CHECK-LABEL: define i64 @test_m_pswapdsi<br>
    // CHECK: @llvm.x86.3dnowa.pswapd<br>
+  // CHECK-ASM: pswapd %mm{{.*}}, %mm{{.*}}<br>
    return _m_pswapdsi(m);<br>
  }<br>
<br>
</blockquote></blockquote>
</blockquote></div>