From 6d1fc5389f08b8da009551ff244f0438440833c5 Mon Sep 17 00:00:00 2001 From: Nadav Rotem Date: Thu, 20 Dec 2012 00:03:36 +0000 Subject: [PATCH] Doc: update the chart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170618 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/Vectorizers.rst | 4 ++-- docs/gcc-loops.png | Bin 16653 -> 20889 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Vectorizers.rst b/docs/Vectorizers.rst index 5324ea025ce..e49d44c1bb2 100644 --- a/docs/Vectorizers.rst +++ b/docs/Vectorizers.rst @@ -203,8 +203,8 @@ This section shows the the execution time of Clang on a simple benchmark: This benchmarks is a collection of loops from the GCC autovectorization `page `_ by Dorit Nuzman. -The chart below compares GCC-4.7, ICC-13, and Clang-SVN at -O3, running on a Sandybridge. -The Y-axis shows time in msec. Lower is better. +The chart below compares GCC-4.7, ICC-13, and Clang-SVN with and without loop vectorization at -O3, tuned for "corei7-avx", running on a Sandybridge iMac. +The Y-axis shows the time in msec. Lower is better. The last column shows the geomean of all the kernels. .. image:: gcc-loops.png diff --git a/docs/gcc-loops.png b/docs/gcc-loops.png index e178146bedd92c88eeba25aba9877ae03c8a6f90..96fefde45ebad3d12c3fdda4f4ca5891d7ea8b02 100644 GIT binary patch literal 20889 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 KqCm{R|NjFt!2JpU literal 16653 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 NUIuX^>$>UVe*@?z>Q(>% -- 2.34.1