[llvm-commits] [llvm] r162012 - /llvm/trunk/lib/Target/X86/X86.td

Anitha Boyapati anitha.boyapati at gmail.com
Mon Aug 20 11:52:31 PDT 2012


On 20 August 2012 02:44, Craig Topper <craig.topper at gmail.com> wrote:

> --- test/CodeGen/X86/fma.ll    (revision 162188)
> +++ test/CodeGen/X86/fma.ll    (working copy)
> @@ -2,6 +2,10 @@
>  ; RUN: llc < %s -mtriple=i386-apple-darwin10               | FileCheck %s
> --check-prefix=CHECK-FMA-CALL
>  ; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -mattr=+fma | FileCheck %s
> --check-prefix=CHECK-FMA-INST
>  ; RUN: llc < %s -mtriple=x86_64-apple-darwin10             | FileCheck %s
> --check-prefix=CHECK-FMA-CALL
> +; RUN: llc < %s -mcpu=bdver2 -mattr=+fma  | FileCheck %s
> --check-prefix=CHECK-FMA-INST
> +; RUN: llc < %s -mcpu=bdver2 | FileCheck %s --check-prefix=CHECK-FMA-CALL
> +; RUN: llc < %s -mcpu=bdver2 -mattr=+fma | FileCheck %s
> --check-prefix=CHECK-FMA-INST
> +; RUN: llc < %s -mcpu=bdver2 | FileCheck %s --check-prefix=CHECK-FMA-CALL
>
> The last 2 lines are the same as the previous 2 lines. Did you intend to
> make one 64-bit and one 32-bit as was done for the original cases?
> Also you don't need +fma for the cases where you want fma instructions.
> cpu=bdver2 takes care of that and that's what you're trying to test. You
> should add "-fma4" for CHECK-FMA-INST. For the CHECK-FMA-CALL versions you
> need to disable fma and fma4.
>
> While you're in this test can you fix up the original versions to have
> -mattr=-fma,-fma4 on the FMA-CALL versions and -mattr=+fma,-fma4 on the
> FMA-INST versions. As they are right now they'll break if the machine that
> runs the test is a Haswell or Bulldozer since there is no explicit cpu
> selected.
>
> --- test/CodeGen/X86/fma_patterns.ll    (revision 162188)
> +++ test/CodeGen/X86/fma_patterns.ll    (working copy)
> @@ -1,4 +1,5 @@
>  ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core-avx2
> -mattr=avx2,+fma -fp-contract=fast | FileCheck %s
> +; RUN: llc < %s -mcpu=bdver2 -mattr=fma -fp-contract=fast | FileCheck %s
>
> Again you don't want -mattr=fma, you're trying to test that bdver2 implies
> fma. But explicitly disable fma4.
>
> --- test/CodeGen/X86/fma4-intrinsics-x86_64.ll    (revision 162188)
> +++ test/CodeGen/X86/fma4-intrinsics-x86_64.ll    (working copy)
> @@ -1,4 +1,5 @@
>  ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -march=x86-64
> -mattr=+avx,+fma4 | FileCheck %s
> +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=bdver2
> -mattr=+avx,+fma4,-fma | FileCheck %s
>
> Just use -mattr=-fma for the bdver2.


Thanks Craig. Attached patch addresses all the comments. In addition I made
changes to fma3-intrinsics to test FMA3 intrinsics for bdver2 target. All 4
Tests pass. For the previous patch, I think I was looking more towards
making testcases work with llvm-lit.


-- 
* Anitha*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120821/e62b2971/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bdver2-fmatest-v2.patch
Type: application/octet-stream
Size: 8782 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120821/e62b2971/attachment.obj>


More information about the llvm-commits mailing list