David Turner
b28908860d
Optimize FT_MulFix for x86_64 GCC builds.
This patch provides an optimized `FT_MulFix' implementation for
x86_64 machines when FreeType is built with GCC, or compatible
compilers like Clang.
Example:
bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
Before:
Load 4.863 us/op
Load_Advances (Normal) 4.816 us/op
Load_Advances (Fast) 0.028 us/op
Render 2.753 us/op
Get_Glyph 0.463 us/op
Get_CBox 0.077 us/op
Get_Char_Index 0.023 us/op
Iterate CMap 13.898 us/op
New_Face 12.368 us/op
Embolden 0.028 us/op
Get_BBox 0.302 us/op
After:
Load 4.617 us/op
Load_Advances (Normal) 4.645 us/op
Load_Advances (Fast) 0.027 us/op
Render 2.789 us/op
Get_Glyph 0.460 us/op
Get_CBox 0.077 us/op
Get_Char_Index 0.024 us/op
Iterate CMap 13.403 us/op
New_Face 12.278 us/op
Embolden 0.028 us/op
Get_BBox 0.301 us/op
* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
(FT_MulFix_x86_64): New function.
2013-07-16 13:19:32 +02:00
..
2013-07-16 13:19:32 +02:00
2013-06-18 09:35:34 +02:00
2013-06-25 07:48:38 +02:00
2013-06-04 07:14:55 +02:00
2013-06-19 00:25:06 +02:00
2011-04-13 00:29:41 +02:00
2009-01-11 11:45:54 +00:00
2013-05-29 11:36:18 +02:00
2010-12-31 17:47:09 +01:00
2013-05-28 22:37:10 +02:00
2013-06-26 12:22:10 +02:00
2013-05-17 13:51:07 +02:00
2009-03-11 21:39:10 +00:00
2013-04-13 18:53:28 +02:00
2013-03-14 15:49:49 +01:00
2012-01-17 02:00:24 +09:00
2013-01-12 19:17:05 -05:00
2008-06-26 19:56:51 +00:00
2008-06-26 19:56:51 +00:00
2013-05-29 11:36:18 +02:00
2010-02-13 07:53:37 +01:00
2013-03-29 19:35:39 +01:00
2010-05-22 20:03:41 +02:00
2008-06-26 19:56:51 +00:00
2008-06-26 19:56:51 +00:00
2009-01-19 08:35:45 +00:00
2013-06-09 08:48:01 +02:00
2013-03-15 08:16:25 +01:00
2008-06-26 19:56:51 +00:00
2012-12-21 16:45:27 +01:00
2009-01-19 08:47:43 +00:00
2010-12-13 20:17:26 +01:00
2009-01-19 08:35:45 +00:00
2010-02-13 07:53:37 +01:00
2013-01-12 19:17:05 -05:00
2012-06-15 06:33:46 +02:00
2010-06-26 09:24:08 +02:00
2013-01-24 09:12:56 +01:00
2013-05-17 13:51:07 +02:00
2013-03-14 15:49:49 +01:00
2013-06-25 07:48:38 +02:00
2009-08-28 09:08:00 +02:00
2011-11-15 08:17:59 +01:00
2012-11-04 17:25:29 +01:00
2012-11-04 17:25:29 +01:00
2013-05-29 11:36:18 +02:00
2006-05-12 08:00:13 +00:00