[LLVMdev] dragonegg pb05 for gcc 4.5.4 vs 4.6.1

Rotem, Nadav nadav.rotem at intel.com
Sun Jun 26 18:07:50 PDT 2011


Hi Jack, 

Here is a short update regarding the vector_select development. 

Adding vector-select has two main tasks: (a) type-legalization changes, and (b) vector-select (blend instruction) support. 

The type-legalization change is adding a new kind of type-legalization: the promotion of integer vector elements into wider element types. I had committed the code for this change. It is currently only enabled by a command line flag (-promote-elements). I am now working on fixing bugs in the new code and in different places in LLVM in order to enable this feature by default. In order to enable this test by default I want all of the tests in the test-suite to pass. At the moment only ~14 LIT tests are failing when enabling the new type-legalization mode. I expect to finish this work in a few weeks.

Notice that once this work is complete you should expect to see much better code generation on 'illegal' vector types such as <4 x i8>. See PR 9623.

Once the type-legalization part is complete, adding the vector-select (blend instruction) code will be easy. It is included in the patch that I sent to the commit-list a few weeks ago.

So, bottom line, we are getting there :)

-Nadav



-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Jack Howarth
Sent: Monday, June 27, 2011 02:16
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] dragonegg pb05 for gcc 4.5.4 vs 4.6.1

With current dragonegg svn, the Polyhedron 2005 benchmarks
all now pass when using the compiler plugin under FSF gcc 4.6.1
on x86_64-apple-darwin11. The differences between the runtime
and compile times when using the same plugin under FSF gcc 4.5.4svn
are small. Once new vector_select feature is available in llvm and
-fplugin-arg-dragonegg-enable-gcc-optzns supports -ftree-vectorizer
we might see more of a difference between the two FSF gcc releases.

-ffast-math -funroll-loops -msse3 -O3

Runtime
Benchmark         gcc 4.5.4        gcc 4.6.1
ac                12.19            10.99
aermod            17.84            17.52
air                7.83             7.66
capacita          46.11            45.84
channel            1.96             1.96
doduc             30.17            30.43
fatigue            8.96             9.12
gas_dyn           11.75            11.50
induct            24.52            24.46
linkpk            15.73            15.64
mbdx              12.10            12.01
nf                29.08            29.27
protein           40.44            41.04
rnflow            31.89            31.90
test_fpu          11.34            11.33
tfft               2.19             2.19

mean time         13.98            13.85

Compile time
Benchmark         gcc 4.5.4        gcc 4.6.1
ac                 0.79             0.30
aermod            20.87            21.92
air                0.81             0.86
capacita           0.43             0.53
channel            0.25             0.25
doduc              1.66             1.79
fatigue            0.83             0.87
gas_dyn            0.77             0.74
induct             1.65             1.87
linkpk             0.20             0.21
mbdx               0.60             0.64
nf                 0.27             0.32
protein            0.97             1.07
rnflow             1.24             1.38
test_fpu           1.03             1.04
tfft               0.19             0.20

_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.





More information about the llvm-dev mailing list