From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31959 invoked by alias); 8 Jul 2004 12:23:56 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 31938 invoked from network); 8 Jul 2004 12:23:48 -0000 Received: from unknown (HELO emea1-mh.id2.novell.com) (195.33.99.129) by sourceware.org with SMTP; 8 Jul 2004 12:23:48 -0000 Received: from EMEA1-MTA by emea1-mh.id2.novell.com with Novell_GroupWise; Thu, 08 Jul 2004 13:23:48 +0200 Message-Id: Date: Thu, 08 Jul 2004 13:38:00 -0000 From: "Jan Beulich" To: Subject: x86 MMX/SSE testsuite additions/modifications Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part0120A1F8.0__=" X-SW-Source: 2004-07/txt/msg00775.txt.bz2 This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part0120A1F8.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 5845 This adds validation tests for the inline functions for SSE2/SSE3 and verification that no undefined builtin functions are referenced by the respective MMX/SSE tests. I would have (to uncover more problems) changed the "dg-do compile" to "dg-do assemble" (to also cover the case of bad assembly generated) if I wasn't told not to modify pre-existing tests. This patch alone will cause various failure for ix86 and x86-64 in the modified tests, but since the fixes for these failures are independent of one another they will be subsequently submitted. Jan testsuite: 2004-07-08 Jan Beulich * gcc.dg/i386-mmx-[12].c: Force error for references to undefined builtins. * gcc.dg/i386-sse-[12].c: Dito. * gcc.dg/i386-sse2-[12].c: New tests to validate SSE2 inline functions. * gcc.dg/i386-sse3-[12].c: New tests to validate SSE3 inline functions. --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-mmx-1.c 2002-01-15 07:17:04.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-mmx-1.c 2004-06-15 15:34:49.000000000 +0200 @@ -1,5 +1,5 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -mmmx" } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -mmmx" } */ /* Test that the intrinsics compile with optimization. All of them are defined as inline functions in mmintrin.h that reference the proper --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-mmx-2.c 2002-01-15 07:17:04.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-mmx-2.c 2004-06-15 15:34:53.000000000 +0200 @@ -1,5 +1,5 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O0 -mmmx" } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -mmmx" } */ /* Test that the intrinsics compile without optimization. All of them are defined as inline functions in mmintrin.h that reference the proper --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse-1.c 2002-01-15 07:17:04.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse-1.c 2004-06-15 15:35:15.000000000 +0200 @@ -1,5 +1,5 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -msse" } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -msse" } */ /* Test that the intrinsics compile with optimization. All of them are defined as inline functions in mmintrin.h that reference the proper --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse-2.c 2002-01-15 07:17:04.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse-2.c 2004-06-15 15:35:21.000000000 +0200 @@ -1,5 +1,5 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O0 -msse" } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -msse" } */ /* Test that the intrinsics compile without optimization. All of them are defined as inline functions in mmintrin.h that reference the proper --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse2-1.c 1970-01-01 01:00:00.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse2-1.c 2004-06-15 15:35:28.000000000 +0200 @@ -0,0 +1,12 @@ +/* { dg-do assemble { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -msse2" } */ + +/* Test that the intrinsics compile with optimization. All of them are + defined as inline functions in mmintrin.h that reference the proper + builtin functions. Defining away "static" and "__inline" results in + all of them being compiled as proper functions. */ + +#define static +#define __inline + +#include --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse2-2.c 1970-01-01 01:00:00.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse2-2.c 2004-06-15 15:35:30.000000000 +0200 @@ -0,0 +1,12 @@ +/* { dg-do assemble { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -msse2" } */ + +/* Test that the intrinsics compile without optimization. All of them are + defined as inline functions in mmintrin.h that reference the proper + builtin functions. Defining away "static" and "__inline" results in + all of them being compiled as proper functions. */ + +#define static +#define __inline + +#include --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse3-1.c 1970-01-01 01:00:00.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse3-1.c 2004-06-15 15:35:34.000000000 +0200 @@ -0,0 +1,12 @@ +/* { dg-do assemble { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -msse3" } */ + +/* Test that the intrinsics compile with optimization. All of them are + defined as inline functions in mmintrin.h that reference the proper + builtin functions. Defining away "static" and "__inline" results in + all of them being compiled as proper functions. */ + +#define static +#define __inline + +#include --- /home/jbeulich/src/gcc/mainline/2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse3-2.c 1970-01-01 01:00:00.000000000 +0100 +++ 2004-07-05.10.09/gcc/testsuite/gcc.dg/i386-sse3-2.c 2004-06-15 15:35:37.000000000 +0200 @@ -0,0 +1,12 @@ +/* { dg-do assemble { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -msse3" } */ + +/* Test that the intrinsics compile without optimization. All of them are + defined as inline functions in mmintrin.h that reference the proper + builtin functions. Defining away "static" and "__inline" results in + all of them being compiled as proper functions. */ + +#define static +#define __inline + +#include --=__Part0120A1F8.0__= Content-Type: application/octet-stream; name="gcc-mainline-x86-mm-testsuite.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gcc-mainline-x86-mm-testsuite.patch" Content-length: 7922 VGhpcyBhZGRzIHZhbGlkYXRpb24gdGVzdHMgZm9yIHRoZSBpbmxpbmUgZnVu Y3Rpb25zIGZvciBTU0UyL1NTRTMgYW5kCnZlcmlmaWNhdGlvbiB0aGF0IG5v IHVuZGVmaW5lZCBidWlsdGluIGZ1bmN0aW9ucyBhcmUgcmVmZXJlbmNlZCBi eSB0aGUKcmVzcGVjdGl2ZSBNTVgvU1NFIHRlc3RzLiBJIHdvdWxkIGhhdmUg KHRvIHVuY292ZXIgbW9yZSBwcm9ibGVtcykgY2hhbmdlZAp0aGUgImRnLWRv IGNvbXBpbGUiIHRvICJkZy1kbyBhc3NlbWJsZSIgKHRvIGFsc28gY292ZXIg dGhlIGNhc2Ugb2YgYmFkCmFzc2VtYmx5IGdlbmVyYXRlZCkgaWYgSSB3YXNu J3QgdG9sZCBub3QgdG8gbW9kaWZ5IHByZS1leGlzdGluZyB0ZXN0cy4KClRo aXMgcGF0Y2ggYWxvbmUgd2lsbCBjYXVzZSB2YXJpb3VzIGZhaWx1cmUgZm9y IGl4ODYgYW5kIHg4Ni02NCBpbiB0aGUKbW9kaWZpZWQgdGVzdHMsIGJ1dCBz aW5jZSB0aGUgZml4ZXMgZm9yIHRoZXNlIGZhaWx1cmVzIGFyZSBpbmRlcGVu ZGVudApvZiBvbmUgYW5vdGhlciB0aGV5IHdpbGwgYmUgc3Vic2VxdWVudGx5 IHN1Ym1pdHRlZC4KCkphbgoKdGVzdHN1aXRlOgoyMDA0LTA3LTA4IEphbiBC ZXVsaWNoIDxqYmV1bGljaEBub3ZlbGwuY29tPgoKCSogZ2NjLmRnL2kzODYt bW14LVsxMl0uYzogRm9yY2UgZXJyb3IgZm9yIHJlZmVyZW5jZXMgdG8gdW5k ZWZpbmVkIGJ1aWx0aW5zLgoJKiBnY2MuZGcvaTM4Ni1zc2UtWzEyXS5jOiBE aXRvLgoJKiBnY2MuZGcvaTM4Ni1zc2UyLVsxMl0uYzogTmV3IHRlc3RzIHRv IHZhbGlkYXRlIFNTRTIgaW5saW5lIGZ1bmN0aW9ucy4KCSogZ2NjLmRnL2kz ODYtc3NlMy1bMTJdLmM6IE5ldyB0ZXN0cyB0byB2YWxpZGF0ZSBTU0UzIGlu bGluZSBmdW5jdGlvbnMuCgotLS0gL2hvbWUvamJldWxpY2gvc3JjL2djYy9t YWlubGluZS8yMDA0LTA3LTA1LjEwLjA5L2djYy90ZXN0c3VpdGUvZ2NjLmRn L2kzODYtbW14LTEuYwkyMDAyLTAxLTE1IDA3OjE3OjA0LjAwMDAwMDAwMCAr MDEwMAorKysgMjAwNC0wNy0wNS4xMC4wOS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9pMzg2LW1teC0xLmMJMjAwNC0wNi0xNSAxNTozNDo0OS4wMDAwMDAwMDAg KzAyMDAKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0 YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLS8qIHsgZGctb3B0 aW9ucyAiLU8yIC1tbW14IiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAt V2Vycm9yLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1tbW14IiB9 ICovCiAKIC8qIFRlc3QgdGhhdCB0aGUgaW50cmluc2ljcyBjb21waWxlIHdp dGggb3B0aW1pemF0aW9uLiAgQWxsIG9mIHRoZW0gYXJlCiAgICBkZWZpbmVk IGFzIGlubGluZSBmdW5jdGlvbnMgaW4gbW1pbnRyaW4uaCB0aGF0IHJlZmVy ZW5jZSB0aGUgcHJvcGVyCi0tLSAvaG9tZS9qYmV1bGljaC9zcmMvZ2NjL21h aW5saW5lLzIwMDQtMDctMDUuMTAuMDkvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv aTM4Ni1tbXgtMi5jCTIwMDItMDEtMTUgMDc6MTc6MDQuMDAwMDAwMDAwICsw MTAwCisrKyAyMDA0LTA3LTA1LjEwLjA5L2djYy90ZXN0c3VpdGUvZ2NjLmRn L2kzODYtbW14LTIuYwkyMDA0LTA2LTE1IDE1OjM0OjUzLjAwMDAwMDAwMCAr MDIwMApAQCAtMSw1ICsxLDUgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB7IHRh cmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotLyogeyBkZy1vcHRp b25zICItTzAgLW1tbXgiIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8wIC1X ZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gLW1tbXgiIH0g Ki8KIAogLyogVGVzdCB0aGF0IHRoZSBpbnRyaW5zaWNzIGNvbXBpbGUgd2l0 aG91dCBvcHRpbWl6YXRpb24uICBBbGwgb2YgdGhlbSBhcmUKICAgIGRlZmlu ZWQgYXMgaW5saW5lIGZ1bmN0aW9ucyBpbiBtbWludHJpbi5oIHRoYXQgcmVm ZXJlbmNlIHRoZSBwcm9wZXIKLS0tIC9ob21lL2piZXVsaWNoL3NyYy9nY2Mv bWFpbmxpbmUvMjAwNC0wNy0wNS4xMC4wOS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9pMzg2LXNzZS0xLmMJMjAwMi0wMS0xNSAwNzoxNzowNC4wMDAwMDAwMDAg KzAxMDAKKysrIDIwMDQtMDctMDUuMTAuMDkvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvaTM4Ni1zc2UtMS5jCTIwMDQtMDYtMTUgMTU6MzU6MTUuMDAwMDAwMDAw ICswMjAwCkBAIC0xLDUgKzEsNSBAQAogLyogeyBkZy1kbyBjb21waWxlIHsg dGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0vKiB7IGRnLW9w dGlvbnMgIi1PMiAtbXNzZSIgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIg LVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtbXNzZSIg fSAqLwogCiAvKiBUZXN0IHRoYXQgdGhlIGludHJpbnNpY3MgY29tcGlsZSB3 aXRoIG9wdGltaXphdGlvbi4gIEFsbCBvZiB0aGVtIGFyZQogICAgZGVmaW5l ZCBhcyBpbmxpbmUgZnVuY3Rpb25zIGluIG1taW50cmluLmggdGhhdCByZWZl cmVuY2UgdGhlIHByb3BlcgotLS0gL2hvbWUvamJldWxpY2gvc3JjL2djYy9t YWlubGluZS8yMDA0LTA3LTA1LjEwLjA5L2djYy90ZXN0c3VpdGUvZ2NjLmRn L2kzODYtc3NlLTIuYwkyMDAyLTAxLTE1IDA3OjE3OjA0LjAwMDAwMDAwMCAr MDEwMAorKysgMjAwNC0wNy0wNS4xMC4wOS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9pMzg2LXNzZS0yLmMJMjAwNC0wNi0xNSAxNTozNToyMS4wMDAwMDAwMDAg KzAyMDAKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0 YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLS8qIHsgZGctb3B0 aW9ucyAiLU8wIC1tc3NlIiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMCAt V2Vycm9yLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1tc3NlIiB9 ICovCiAKIC8qIFRlc3QgdGhhdCB0aGUgaW50cmluc2ljcyBjb21waWxlIHdp dGhvdXQgb3B0aW1pemF0aW9uLiAgQWxsIG9mIHRoZW0gYXJlCiAgICBkZWZp bmVkIGFzIGlubGluZSBmdW5jdGlvbnMgaW4gbW1pbnRyaW4uaCB0aGF0IHJl ZmVyZW5jZSB0aGUgcHJvcGVyCi0tLSAvaG9tZS9qYmV1bGljaC9zcmMvZ2Nj L21haW5saW5lLzIwMDQtMDctMDUuMTAuMDkvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvaTM4Ni1zc2UyLTEuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAw MCArMDEwMAorKysgMjAwNC0wNy0wNS4xMC4wOS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9pMzg2LXNzZTItMS5jCTIwMDQtMDYtMTUgMTU6MzU6MjguMDAwMDAw MDAwICswMjAwCkBAIC0wLDAgKzEsMTIgQEAKKy8qIHsgZGctZG8gYXNzZW1i bGUgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKy8qIHsg ZGctb3B0aW9ucyAiLU8yIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVj bGFyYXRpb24gLW1zc2UyIiB9ICovCisKKy8qIFRlc3QgdGhhdCB0aGUgaW50 cmluc2ljcyBjb21waWxlIHdpdGggb3B0aW1pemF0aW9uLiAgQWxsIG9mIHRo ZW0gYXJlCisgICBkZWZpbmVkIGFzIGlubGluZSBmdW5jdGlvbnMgaW4gbW1p bnRyaW4uaCB0aGF0IHJlZmVyZW5jZSB0aGUgcHJvcGVyCisgICBidWlsdGlu IGZ1bmN0aW9ucy4gIERlZmluaW5nIGF3YXkgInN0YXRpYyIgYW5kICJfX2lu bGluZSIgcmVzdWx0cyBpbgorICAgYWxsIG9mIHRoZW0gYmVpbmcgY29tcGls ZWQgYXMgcHJvcGVyIGZ1bmN0aW9ucy4gICovCisKKyNkZWZpbmUgc3RhdGlj CisjZGVmaW5lIF9faW5saW5lCisKKyNpbmNsdWRlIDxlbW1pbnRyaW4uaD4K LS0tIC9ob21lL2piZXVsaWNoL3NyYy9nY2MvbWFpbmxpbmUvMjAwNC0wNy0w NS4xMC4wOS9nY2MvdGVzdHN1aXRlL2djYy5kZy9pMzg2LXNzZTItMi5jCTE5 NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyAyMDA0LTA3 LTA1LjEwLjA5L2djYy90ZXN0c3VpdGUvZ2NjLmRnL2kzODYtc3NlMi0yLmMJ MjAwNC0wNi0xNSAxNTozNTozMC4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCAr MSwxMiBAQAorLyogeyBkZy1kbyBhc3NlbWJsZSB7IHRhcmdldCBpPzg2LSot KiB4ODZfNjQtKi0qIH0gfSAqLworLyogeyBkZy1vcHRpb25zICItTzAgLVdl cnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtbXNzZTIiIH0g Ki8KKworLyogVGVzdCB0aGF0IHRoZSBpbnRyaW5zaWNzIGNvbXBpbGUgd2l0 aG91dCBvcHRpbWl6YXRpb24uICBBbGwgb2YgdGhlbSBhcmUKKyAgIGRlZmlu ZWQgYXMgaW5saW5lIGZ1bmN0aW9ucyBpbiBtbWludHJpbi5oIHRoYXQgcmVm ZXJlbmNlIHRoZSBwcm9wZXIKKyAgIGJ1aWx0aW4gZnVuY3Rpb25zLiAgRGVm aW5pbmcgYXdheSAic3RhdGljIiBhbmQgIl9faW5saW5lIiByZXN1bHRzIGlu CisgICBhbGwgb2YgdGhlbSBiZWluZyBjb21waWxlZCBhcyBwcm9wZXIgZnVu Y3Rpb25zLiAgKi8KKworI2RlZmluZSBzdGF0aWMKKyNkZWZpbmUgX19pbmxp bmUKKworI2luY2x1ZGUgPGVtbWludHJpbi5oPgotLS0gL2hvbWUvamJldWxp Y2gvc3JjL2djYy9tYWlubGluZS8yMDA0LTA3LTA1LjEwLjA5L2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2kzODYtc3NlMy0xLmMJMTk3MC0wMS0wMSAwMTowMDow MC4wMDAwMDAwMDAgKzAxMDAKKysrIDIwMDQtMDctMDUuMTAuMDkvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvaTM4Ni1zc2UzLTEuYwkyMDA0LTA2LTE1IDE1OjM1 OjM0LjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDEyIEBACisvKiB7IGRn LWRvIGFzc2VtYmxlIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9 ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtV2Vycm9yLWltcGxpY2l0LWZ1 bmN0aW9uLWRlY2xhcmF0aW9uIC1tc3NlMyIgfSAqLworCisvKiBUZXN0IHRo YXQgdGhlIGludHJpbnNpY3MgY29tcGlsZSB3aXRoIG9wdGltaXphdGlvbi4g IEFsbCBvZiB0aGVtIGFyZQorICAgZGVmaW5lZCBhcyBpbmxpbmUgZnVuY3Rp b25zIGluIG1taW50cmluLmggdGhhdCByZWZlcmVuY2UgdGhlIHByb3Blcgor ICAgYnVpbHRpbiBmdW5jdGlvbnMuICBEZWZpbmluZyBhd2F5ICJzdGF0aWMi IGFuZCAiX19pbmxpbmUiIHJlc3VsdHMgaW4KKyAgIGFsbCBvZiB0aGVtIGJl aW5nIGNvbXBpbGVkIGFzIHByb3BlciBmdW5jdGlvbnMuICAqLworCisjZGVm aW5lIHN0YXRpYworI2RlZmluZSBfX2lubGluZQorCisjaW5jbHVkZSA8cG1t aW50cmluLmg+Ci0tLSAvaG9tZS9qYmV1bGljaC9zcmMvZ2NjL21haW5saW5l LzIwMDQtMDctMDUuMTAuMDkvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvaTM4Ni1z c2UzLTIuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysgMjAwNC0wNy0wNS4xMC4wOS9nY2MvdGVzdHN1aXRlL2djYy5kZy9pMzg2 LXNzZTMtMi5jCTIwMDQtMDYtMTUgMTU6MzU6MzcuMDAwMDAwMDAwICswMjAw CkBAIC0wLDAgKzEsMTIgQEAKKy8qIHsgZGctZG8gYXNzZW1ibGUgeyB0YXJn ZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8wIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24g LW1zc2UzIiB9ICovCisKKy8qIFRlc3QgdGhhdCB0aGUgaW50cmluc2ljcyBj b21waWxlIHdpdGhvdXQgb3B0aW1pemF0aW9uLiAgQWxsIG9mIHRoZW0gYXJl CisgICBkZWZpbmVkIGFzIGlubGluZSBmdW5jdGlvbnMgaW4gbW1pbnRyaW4u aCB0aGF0IHJlZmVyZW5jZSB0aGUgcHJvcGVyCisgICBidWlsdGluIGZ1bmN0 aW9ucy4gIERlZmluaW5nIGF3YXkgInN0YXRpYyIgYW5kICJfX2lubGluZSIg cmVzdWx0cyBpbgorICAgYWxsIG9mIHRoZW0gYmVpbmcgY29tcGlsZWQgYXMg cHJvcGVyIGZ1bmN0aW9ucy4gICovCisKKyNkZWZpbmUgc3RhdGljCisjZGVm aW5lIF9faW5saW5lCisKKyNpbmNsdWRlIDxwbW1pbnRyaW4uaD4K --=__Part0120A1F8.0__=--