Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Side by Side Diff: source/row_gcc.cc

Issue 2451503002: use __OPTIMIZE__ macro to determine debug vs release. (Closed)
Patch Set: allow clang-cl to use ssse3 version Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/libyuv/version.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // VERSION 2 1 // VERSION 2
2 /* 2 /*
3 * Copyright 2011 The LibYuv Project Authors. All rights reserved. 3 * Copyright 2011 The LibYuv Project Authors. All rights reserved.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license 5 * Use of this source code is governed by a BSD-style license
6 * that can be found in the LICENSE file in the root of the source 6 * that can be found in the LICENSE file in the root of the source
7 * tree. An additional intellectual property rights grant can be found 7 * tree. An additional intellectual property rights grant can be found
8 * in the file PATENTS. All contributing project authors may 8 * in the file PATENTS. All contributing project authors may
9 * be found in the AUTHORS file in the root of the source tree. 9 * be found in the AUTHORS file in the root of the source tree.
10 */ 10 */
(...skipping 1690 matching lines...) Expand 10 before | Expand all | Expand 10 after
1701 "palignr $0xc,%%xmm0,%%xmm1 \n" 1701 "palignr $0xc,%%xmm0,%%xmm1 \n"
1702 "movq %%xmm0," MEMACCESS([dst_rgb24]) "\n" 1702 "movq %%xmm0," MEMACCESS([dst_rgb24]) "\n"
1703 "movdqu %%xmm1," MEMACCESS2(0x8,[dst_rgb24]) "\n" 1703 "movdqu %%xmm1," MEMACCESS2(0x8,[dst_rgb24]) "\n"
1704 "lea " MEMLEA(0x18,[dst_rgb24]) ",%[dst_rgb24] \n" 1704 "lea " MEMLEA(0x18,[dst_rgb24]) ",%[dst_rgb24] \n"
1705 "subl $0x8,%[width] \n" 1705 "subl $0x8,%[width] \n"
1706 "jg 1b \n" 1706 "jg 1b \n"
1707 : [y_buf]"+r"(y_buf), // %[y_buf] 1707 : [y_buf]"+r"(y_buf), // %[y_buf]
1708 [u_buf]"+r"(u_buf), // %[u_buf] 1708 [u_buf]"+r"(u_buf), // %[u_buf]
1709 [v_buf]"+r"(v_buf), // %[v_buf] 1709 [v_buf]"+r"(v_buf), // %[v_buf]
1710 [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24] 1710 [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24]
1711 #if defined(__i386__) && defined(__pic__) 1711 #if defined(__i386__)
1712 [width]"+m"(width) // %[width] 1712 [width]"+m"(width) // %[width]
1713 #else 1713 #else
1714 [width]"+rm"(width) // %[width] 1714 [width]"+rm"(width) // %[width]
1715 #endif 1715 #endif
1716 : [yuvconstants]"r"(yuvconstants), // %[yuvconstants] 1716 : [yuvconstants]"r"(yuvconstants), // %[yuvconstants]
1717 [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0), 1717 [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0),
1718 [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24) 1718 [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24)
1719 : "memory", "cc", NACL_R14 YUVTORGB_REGS 1719 : "memory", "cc", NACL_R14 YUVTORGB_REGS
1720 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6" 1720 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
1721 ); 1721 );
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 READYUVA422 1765 READYUVA422
1766 YUVTORGB(yuvconstants) 1766 YUVTORGB(yuvconstants)
1767 STOREARGB 1767 STOREARGB
1768 "subl $0x8,%[width] \n" 1768 "subl $0x8,%[width] \n"
1769 "jg 1b \n" 1769 "jg 1b \n"
1770 : [y_buf]"+r"(y_buf), // %[y_buf] 1770 : [y_buf]"+r"(y_buf), // %[y_buf]
1771 [u_buf]"+r"(u_buf), // %[u_buf] 1771 [u_buf]"+r"(u_buf), // %[u_buf]
1772 [v_buf]"+r"(v_buf), // %[v_buf] 1772 [v_buf]"+r"(v_buf), // %[v_buf]
1773 [a_buf]"+r"(a_buf), // %[a_buf] 1773 [a_buf]"+r"(a_buf), // %[a_buf]
1774 [dst_argb]"+r"(dst_argb), // %[dst_argb] 1774 [dst_argb]"+r"(dst_argb), // %[dst_argb]
1775 #if defined(__i386__) && defined(__pic__) 1775 #if defined(__i386__)
1776 [width]"+m"(width) // %[width] 1776 [width]"+m"(width) // %[width]
1777 #else 1777 #else
1778 [width]"+rm"(width) // %[width] 1778 [width]"+rm"(width) // %[width]
1779 #endif 1779 #endif
1780 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] 1780 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
1781 : "memory", "cc", NACL_R14 YUVTORGB_REGS 1781 : "memory", "cc", NACL_R14 YUVTORGB_REGS
1782 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" 1782 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
1783 ); 1783 );
1784 } 1784 }
1785 #endif // HAS_I422ALPHATOARGBROW_SSSE3 1785 #endif // HAS_I422ALPHATOARGBROW_SSSE3
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
2145 YUVTORGB_AVX2(yuvconstants) 2145 YUVTORGB_AVX2(yuvconstants)
2146 STOREARGB_AVX2 2146 STOREARGB_AVX2
2147 "subl $0x10,%[width] \n" 2147 "subl $0x10,%[width] \n"
2148 "jg 1b \n" 2148 "jg 1b \n"
2149 "vzeroupper \n" 2149 "vzeroupper \n"
2150 : [y_buf]"+r"(y_buf), // %[y_buf] 2150 : [y_buf]"+r"(y_buf), // %[y_buf]
2151 [u_buf]"+r"(u_buf), // %[u_buf] 2151 [u_buf]"+r"(u_buf), // %[u_buf]
2152 [v_buf]"+r"(v_buf), // %[v_buf] 2152 [v_buf]"+r"(v_buf), // %[v_buf]
2153 [a_buf]"+r"(a_buf), // %[a_buf] 2153 [a_buf]"+r"(a_buf), // %[a_buf]
2154 [dst_argb]"+r"(dst_argb), // %[dst_argb] 2154 [dst_argb]"+r"(dst_argb), // %[dst_argb]
2155 #if defined(__i386__) && defined(__pic__) 2155 #if defined(__i386__)
2156 [width]"+m"(width) // %[width] 2156 [width]"+m"(width) // %[width]
2157 #else 2157 #else
2158 [width]"+rm"(width) // %[width] 2158 [width]"+rm"(width) // %[width]
2159 #endif 2159 #endif
2160 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] 2160 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
2161 : "memory", "cc", NACL_R14 YUVTORGB_REGS_AVX2 2161 : "memory", "cc", NACL_R14 YUVTORGB_REGS_AVX2
2162 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" 2162 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
2163 ); 2163 );
2164 } 2164 }
2165 #endif // HAS_I422ALPHATOARGBROW_AVX2 2165 #endif // HAS_I422ALPHATOARGBROW_AVX2
(...skipping 3433 matching lines...) Expand 10 before | Expand all | Expand 10 after
5599 ); 5599 );
5600 } 5600 }
5601 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 5601 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3
5602 5602
5603 #endif // defined(__x86_64__) || defined(__i386__) 5603 #endif // defined(__x86_64__) || defined(__i386__)
5604 5604
5605 #ifdef __cplusplus 5605 #ifdef __cplusplus
5606 } // extern "C" 5606 } // extern "C"
5607 } // namespace libyuv 5607 } // namespace libyuv
5608 #endif 5608 #endif
OLDNEW
« no previous file with comments | « include/libyuv/version.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698