From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by sourceware.org (Postfix) with ESMTPS id 554303858D38 for ; Sun, 30 Jul 2023 20:13:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 554303858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-31758eb5db8so4078393f8f.2 for ; Sun, 30 Jul 2023 13:13:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690747985; x=1691352785; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=hEFsfNFMV4fLrHpDs7THUT47ijJVlRNTr0G/CJjRpis=; b=mJPzrc5+KxwpFptOQtp05b1MW3nq8bd+PPz9xXyCtA3cSBnKmy/yzod/GIWa8scHxT nnlLte1ThUxHdXh3QabGHFzpptWIKwXdg+aU7npiMltXVc7om1HFrNz1z+qpLYGh5a4a Mzeu7EPcYFwf/1t+JtJb/GyvRv9j0AgSxtaD9us1f8U0i/NsJEgEvQjwq9WKh4ykiycv kcZ7hjaPGgcpQqtUue7oQuoHt9cdej2u/wkMSAVXxNK+2V7oCk6Z9MbH6LQobnmD0BMG 7n0n3xSSmqGVKyMMeyNqoywCm+q8mOpmIhI2ECIAWhvYBnvN+Z4LGqqm/uQCuf+Jz/IJ gc7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690747985; x=1691352785; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hEFsfNFMV4fLrHpDs7THUT47ijJVlRNTr0G/CJjRpis=; b=kP0tLgHKZmlH+urfb7dIGoEVzg+HnZyo3phzjT193QePzzRmF7Cp/xSeCNowXtUaQC uxivYgOyUJ2wXBjdUdU2InaY97nZKqCk1jO16ugeFOwaLY5y2gBgr5yX7gc4Ev16wAlJ b7ZpyOafe3WuVtyK5KjI6o1FxB2WoEKUfDwFXyfUnNKVu/GPBjdqm8F6UZQKNa7l+63p rsQyc3umqZomnLBsby+havihjbASsk7dYfu9DdySZ4MMkQWS9si5aDN6RTFrLCdYaAk7 I86aD1bzeaoIcyIVYPL5K2Bz0l+R+V7z78wrovuJKUglftaOur19L4YSCkdLITv/PMSz V6Xw== X-Gm-Message-State: ABy/qLY9+k7f+QEzUPOJRCzrM/e9f0gUI1Tt1Cg04nNWA0EgwaJE88Q/ UEfx3x30ZD35xi+p39d/lgbHXfLvCQCZFpJLZO+WhjLxCEpxQw== X-Google-Smtp-Source: APBJJlEam/bcxdczcMvlsE5nY0B5eteLSogMGbIPTbanmLdWDZEPhFEg5cmD7tbezLC0l0Lj5UBv7dx/pORDuJWLSaE= X-Received: by 2002:adf:db44:0:b0:313:df08:7b7e with SMTP id f4-20020adfdb44000000b00313df087b7emr5539391wrj.14.1690747984410; Sun, 30 Jul 2023 13:13:04 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Sun, 30 Jul 2023 22:12:53 +0200 Message-ID: Subject: [RFC PATCH] i386: Do not sanitize upper part of V2SFmode reg with -fno-trapping-math [PR110832] To: "gcc-patches@gcc.gnu.org" Cc: Richard Biener , Jan Hubicka , Hongtao Liu Content-Type: multipart/mixed; boundary="000000000000043d2d0601b9f190" X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000043d2d0601b9f190 Content-Type: text/plain; charset="UTF-8" Also introduce -m[no-]mmxfp-with-sse option to disable trapping V2SF named patterns in order to avoid generation of partial vector V4SFmode trapping instructions. The new option is enabled by default, because even with sanitization, a small but consistent speed up of 2 to 3% with Polyhedron capacita benchmark can be achieved vs. scalar code. Using -fno-trapping-math improves Polyhedron capacita runtime 8 to 9% vs. scalar code. This is what clang does by default, as it defaults to -fno-trapping-math. PR target/110832 gcc/ChangeLog: * config/i386/i386.h (TARGET_MMXFP_WITH_SSE): New macro. * config/i386/i386/opt (mmmxfp-with-sse): New option. * config/i386/mmx.md (movq__to_sse): Do not sanitize upper part of V2SFmode register with -fno-trapping-math. (v2sf3): Enable for TARGET_MMXFP_WITH_SSE. (divv2sf3): Ditto. (v2sf3): Ditto. (sqrtv2sf2): Ditto. (*mmx_haddv2sf3_low): Ditto. (*mmx_hsubv2sf3_low): Ditto. (vec_addsubv2sf3): Ditto. (vec_cmpv2sfv2si): Ditto. (vcondv2sf): Ditto. (fmav2sf4): Ditto. (fmsv2sf4): Ditto. (fnmav2sf4): Ditto. (fnmsv2sf4): Ditto. (fix_truncv2sfv2si2): Ditto. (fixuns_truncv2sfv2si2): Ditto. (floatv2siv2sf2): Ditto. (floatunsv2siv2sf2): Ditto. (nearbyintv2sf2): Ditto. (rintv2sf2): Ditto. (lrintv2sfv2si2): Ditto. (ceilv2sf2): Ditto. (lceilv2sfv2si2): Ditto. (floorv2sf2): Ditto. (lfloorv2sfv2si2): Ditto. (btruncv2sf2): Ditto. (roundv2sf2): Ditto. (lroundv2sfv2si2): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Uros. --000000000000043d2d0601b9f190 Content-Type: text/plain; charset="US-ASCII"; name="r.diff.txt" Content-Disposition: attachment; filename="r.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lkpvofmr0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmggYi9nY2MvY29uZmlnL2kzODYvaTM4 Ni5oCmluZGV4IGVmMzQyZmNlZTliLi5hZjcyYjZjNDhhOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9pMzg2L2kzODYuaAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5oCkBAIC01MCw2ICs1MCw3 IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZl bHkuICBJZiBub3QsIHNlZQogI2RlZmluZSBUQVJHRVRfMTZCSVRfUCh4KQlUQVJHRVRfQ09ERTE2 X1AoeCkKIAogI2RlZmluZSBUQVJHRVRfTU1YX1dJVEhfU1NFCShUQVJHRVRfNjRCSVQgJiYgVEFS R0VUX1NTRTIpCisjZGVmaW5lIFRBUkdFVF9NTVhGUF9XSVRIX1NTRQkoVEFSR0VUX01NWF9XSVRI X1NTRSAmJiBpeDg2X21teGZwX3dpdGhfc3NlKQogCiAjaW5jbHVkZSAiY29uZmlnL3Z4d29ya3Mt ZHVtbXkuaCIKIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0IGIvZ2NjL2Nv bmZpZy9pMzg2L2kzODYub3B0CmluZGV4IDFjYzg1NjM0NzdhLi4xYjY1ZmVkNWRhZiAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0CisrKyBiL2djYy9jb25maWcvaTM4Ni9pMzg2 Lm9wdApAQCAtNjcwLDYgKzY3MCwxMCBAQCBtM2Rub3dhCiBUYXJnZXQgTWFzayhJU0FfM0ROT1df QSkgVmFyKGl4ODZfaXNhX2ZsYWdzKSBTYXZlCiBTdXBwb3J0IEF0aGxvbiAzRG5vdyEgYnVpbHQt aW4gZnVuY3Rpb25zLgogCittbW14ZnAtd2l0aC1zc2UKK1RhcmdldCBWYXIoaXg4Nl9tbXhmcF93 aXRoX3NzZSkgSW5pdCgxKQorRW5hYmxlIE1NWCBmbG9hdGluZyBwb2ludCB2ZWN0b3JzIGluIFNT RSByZWdpc3RlcnMKKwogbXNzZQogVGFyZ2V0IE1hc2soSVNBX1NTRSkgVmFyKGl4ODZfaXNhX2Zs YWdzKSBTYXZlCiBTdXBwb3J0IE1NWCBhbmQgU1NFIGJ1aWx0LWluIGZ1bmN0aW9ucyBhbmQgY29k ZSBnZW5lcmF0aW9uLgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L21teC5tZCBiL2djYy9j b25maWcvaTM4Ni9tbXgubWQKaW5kZXggODk2YWY3NmEzM2YuLjA1NTVkYTkwMjJiIDEwMDY0NAot LS0gYS9nY2MvY29uZmlnL2kzODYvbW14Lm1kCisrKyBiL2djYy9jb25maWcvaTM4Ni9tbXgubWQK QEAgLTU5Nyw3ICs1OTcsMTggQEAgKGRlZmluZV9leHBhbmQgIm1vdnFfPG1vZGU+X3RvX3NzZSIK IAkgIChtYXRjaF9vcGVyYW5kOlYyRkkgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiKQogCSAgKG1h dGNoX2R1cCAyKSkpXQogICAiVEFSR0VUX1NTRTIiCi0gICJvcGVyYW5kc1syXSA9IENPTlNUMF9S VFggKDxNT0RFPm1vZGUpOyIpCit7CisgIGlmICg8TU9ERT5tb2RlID09IFYyU0Ztb2RlCisgICAg ICAmJiAhZmxhZ190cmFwcGluZ19tYXRoKQorICAgIHsKKyAgICAgIHJ0eCBvcDEgPSBmb3JjZV9y ZWcgKDxNT0RFPm1vZGUsIG9wZXJhbmRzWzFdKTsKKyAgICAgIGVtaXRfbW92ZV9pbnNuIChvcGVy YW5kc1swXSwgbG93cGFydF9zdWJyZWcgKDxtbXhkb3VibGV2ZWNtb2RlPm1vZGUsCisJCQkJCQkg ICBvcDEsIDxNT0RFPm1vZGUpKTsKKyAgICAgIERPTkU7CisgICAgfQorCisgIG9wZXJhbmRzWzJd ID0gQ09OU1QwX1JUWCAoPE1PREU+bW9kZSk7Cit9KQogCiA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIDs7CkBAIC02 NTAsNyArNjYxLDcgQEAgKGRlZmluZV9leHBhbmQgIjxpbnNuPnYyc2YzIgogCShwbHVzbWludXNt dWx0OlYyU0YKIAkgIChtYXRjaF9vcGVyYW5kOlYyU0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQi KQogCSAgKG1hdGNoX29wZXJhbmQ6VjJTRiAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIpKSldCi0g ICJUQVJHRVRfTU1YX1dJVEhfU1NFIgorICAiVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBy dHggb3AyID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMSA9IGdlbl9yZWdfcnR4 IChWNFNGbW9kZSk7CkBAIC03MjgsNyArNzM5LDcgQEAgKGRlZmluZV9leHBhbmQgImRpdnYyc2Yz IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMlNGIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCShk aXY6VjJTRiAobWF0Y2hfb3BlcmFuZDpWMlNGIDEgInJlZ2lzdGVyX29wZXJhbmQiKQogCQkgICht YXRjaF9vcGVyYW5kOlYyU0YgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKSldCi0gICJUQVJHRVRfTU1Y X1dJVEhfU1NFIgorICAiVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AyID0gZ2Vu X3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMSA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7 CkBAIC03NTAsNyArNzYxLDcgQEAgKGRlZmluZV9leHBhbmQgIjxjb2RlPnYyc2YzIgogICAgICAg ICAoc21heG1pbjpWMlNGCiAJICAobWF0Y2hfb3BlcmFuZDpWMlNGIDEgInJlZ2lzdGVyX29wZXJh bmQiKQogCSAgKG1hdGNoX29wZXJhbmQ6VjJTRiAyICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0KLSAg IlRBUkdFVF9NTVhfV0lUSF9TU0UiCisgICJUQVJHRVRfTU1YRlBfV0lUSF9TU0UiCiB7CiAgIHJ0 eCBvcDIgPSBnZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwogICBydHggb3AxID0gZ2VuX3JlZ19ydHgg KFY0U0Ztb2RlKTsKQEAgLTg1Miw3ICs4NjMsNyBAQCAoZGVmaW5lX2luc24gIm1teF9yY3BpdDJ2 MnNmMyIKIChkZWZpbmVfZXhwYW5kICJzcXJ0djJzZjIiCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5k OlYyU0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHNxcnQ6VjJTRiAobWF0Y2hfb3BlcmFuZDpW MlNGIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIikpKV0KLSAgIlRBUkdFVF9NTVhfV0lUSF9TU0Ui CisgICJUQVJHRVRfTU1YRlBfV0lUSF9TU0UiCiB7CiAgIHJ0eCBvcDEgPSBnZW5fcmVnX3J0eCAo VjRTRm1vZGUpOwogICBydHggb3AwID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKQEAgLTkzMyw3 ICs5NDQsNyBAQCAoZGVmaW5lX2luc25fYW5kX3NwbGl0ICIqbW14X2hhZGR2MnNmM19sb3ciCiAJ ICAodmVjX3NlbGVjdDpTRgogCSAgICAobWF0Y2hfZHVwIDEpCiAJICAgIChwYXJhbGxlbCBbKG1h dGNoX29wZXJhbmQ6U0kgMyAiY29uc3RfMF90b18xX29wZXJhbmQiKV0pKSkpXQotICAiVEFSR0VU X1NTRTMgJiYgVEFSR0VUX01NWF9XSVRIX1NTRQorICAiVEFSR0VUX1NTRTMgJiYgVEFSR0VUX01N WEZQX1dJVEhfU1NFCiAgICAmJiBJTlRWQUwgKG9wZXJhbmRzWzJdKSAhPSBJTlRWQUwgKG9wZXJh bmRzWzNdKQogICAgJiYgaXg4Nl9wcmVfcmVsb2FkX3NwbGl0ICgpIgogICAiIyIKQEAgLTk3OSw3 ICs5OTAsNyBAQCAoZGVmaW5lX2luc25fYW5kX3NwbGl0ICIqbW14X2hzdWJ2MnNmM19sb3ciCiAJ ICAodmVjX3NlbGVjdDpTRgogCSAgICAobWF0Y2hfZHVwIDEpCiAJICAgIChwYXJhbGxlbCBbKGNv bnN0X2ludCAxKV0pKSkpXQotICAiVEFSR0VUX1NTRTMgJiYgVEFSR0VUX01NWF9XSVRIX1NTRQor ICAiVEFSR0VUX1NTRTMgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFCiAgICAmJiBpeDg2X3ByZV9y ZWxvYWRfc3BsaXQgKCkiCiAgICIjIgogICAiJiYgMSIKQEAgLTEwNDEsNyArMTA1Miw3IEBAIChk ZWZpbmVfZXhwYW5kICJ2ZWNfYWRkc3VidjJzZjMiCiAJICAgIChtYXRjaF9vcGVyYW5kOlYyU0Yg MiAibm9uaW1tZWRpYXRlX29wZXJhbmQiKSkKIAkgIChwbHVzOlYyU0YgKG1hdGNoX2R1cCAxKSAo bWF0Y2hfZHVwIDIpKQogCSAgKGNvbnN0X2ludCAxKSkpXQotICAiVEFSR0VUX1NTRTMgJiYgVEFS R0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0UzICYmIFRBUkdFVF9NTVhGUF9XSVRIX1NT RSIKIHsKICAgcnR4IG9wMiA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CiAgIHJ0eCBvcDEgPSBn ZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwpAQCAtMTEwNCw3ICsxMTE1LDcgQEAgKGRlZmluZV9leHBh bmQgInZlY19jbXB2MnNmdjJzaSIKIAkobWF0Y2hfb3BlcmF0b3I6VjJTSSAxICIiCiAJICBbKG1h dGNoX29wZXJhbmQ6VjJTRiAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIpCiAJICAgKG1hdGNoX29w ZXJhbmQ6VjJTRiAzICJub25pbW1lZGlhdGVfb3BlcmFuZCIpXSkpXQotICAiVEFSR0VUX01NWF9X SVRIX1NTRSIKKyAgIlRBUkdFVF9NTVhGUF9XSVRIX1NTRSIKIHsKICAgcnR4IG9wc1s0XTsKICAg b3BzWzNdID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKQEAgLTExMzAsNyArMTE0MSw3IEBAIChk ZWZpbmVfZXhwYW5kICJ2Y29uZDxtb2RlPnYyc2YiCiAJICAgICAobWF0Y2hfb3BlcmFuZDpWMlNG IDUgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIildKQogCSAgKG1hdGNoX29wZXJhbmQ6VjJGSSAxICJn ZW5lcmFsX29wZXJhbmQiKQogCSAgKG1hdGNoX29wZXJhbmQ6VjJGSSAyICJnZW5lcmFsX29wZXJh bmQiKSkpXQotICAiVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9NTVhGUF9XSVRIX1NT RSIKIHsKICAgcnR4IG9wc1s2XTsKICAgb3BzWzVdID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsK QEAgLTEzMjAsNyArMTMzMSw3IEBAIChkZWZpbmVfZXhwYW5kICJmbWF2MnNmNCIKIAkgIChtYXRj aF9vcGVyYW5kOlYyU0YgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiKQogCSAgKG1hdGNoX29wZXJh bmQ6VjJTRiAzICJub25pbW1lZGlhdGVfb3BlcmFuZCIpKSldCiAgICIoVEFSR0VUX0ZNQSB8fCBU QVJHRVRfRk1BNCB8fCBUQVJHRVRfQVZYNTEyVkwpCi0gICAmJiBUQVJHRVRfTU1YX1dJVEhfU1NF IgorICAgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AzID0gZ2VuX3JlZ19y dHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMiA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CkBAIC0x MzQ1LDcgKzEzNTYsNyBAQCAoZGVmaW5lX2V4cGFuZCAiZm1zdjJzZjQiCiAJICAobmVnOlYyU0YK IAkgICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAzICJub25pbW1lZGlhdGVfb3BlcmFuZCIpKSkpXQog ICAiKFRBUkdFVF9GTUEgfHwgVEFSR0VUX0ZNQTQgfHwgVEFSR0VUX0FWWDUxMlZMKQotICAgJiYg VEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgICYmIFRBUkdFVF9NTVhGUF9XSVRIX1NTRSIKIHsKICAg cnR4IG9wMyA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CiAgIHJ0eCBvcDIgPSBnZW5fcmVnX3J0 eCAoVjRTRm1vZGUpOwpAQCAtMTM3MCw3ICsxMzgxLDcgQEAgKGRlZmluZV9leHBhbmQgImZubWF2 MnNmNCIKIAkgIChtYXRjaF9vcGVyYW5kOlYyU0YgICAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIp CiAJICAobWF0Y2hfb3BlcmFuZDpWMlNGICAgMyAibm9uaW1tZWRpYXRlX29wZXJhbmQiKSkpXQog ICAiKFRBUkdFVF9GTUEgfHwgVEFSR0VUX0ZNQTQgfHwgVEFSR0VUX0FWWDUxMlZMKQotICAgJiYg VEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgICYmIFRBUkdFVF9NTVhGUF9XSVRIX1NTRSIKIHsKICAg cnR4IG9wMyA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CiAgIHJ0eCBvcDIgPSBnZW5fcmVnX3J0 eCAoVjRTRm1vZGUpOwpAQCAtMTM5Niw3ICsxNDA3LDcgQEAgKGRlZmluZV9leHBhbmQgImZubXN2 MnNmNCIKIAkgIChuZWc6VjJTRgogCSAgICAobWF0Y2hfb3BlcmFuZDpWMlNGIDMgIm5vbmltbWVk aWF0ZV9vcGVyYW5kIikpKSldCiAgICIoVEFSR0VUX0ZNQSB8fCBUQVJHRVRfRk1BNCB8fCBUQVJH RVRfQVZYNTEyVkwpCi0gICAmJiBUQVJHRVRfTU1YX1dJVEhfU1NFIgorICAgJiYgVEFSR0VUX01N WEZQX1dJVEhfU1NFIgogewogICBydHggb3AzID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAg cnR4IG9wMiA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CkBAIC0xNDIyLDcgKzE0MzMsNyBAQCAo ZGVmaW5lX2V4cGFuZCAiZm5tc3Yyc2Y0IgogKGRlZmluZV9leHBhbmQgImZpeF90cnVuY3Yyc2Z2 MnNpMiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjJTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikK IAkoZml4OlYyU0kgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJub25pbW1lZGlhdGVfb3BlcmFuZCIp KSldCi0gICJUQVJHRVRfTU1YX1dJVEhfU1NFIgorICAiVEFSR0VUX01NWEZQX1dJVEhfU1NFIgog ewogICBydHggb3AxID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9y ZWdfcnR4IChWNFNJbW9kZSk7CkBAIC0xNDM4LDcgKzE0NDksNyBAQCAoZGVmaW5lX2V4cGFuZCAi Zml4X3RydW5jdjJzZnYyc2kyIgogKGRlZmluZV9leHBhbmQgImZpeHVuc190cnVuY3Yyc2Z2MnNp MiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjJTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKIAko dW5zaWduZWRfZml4OlYyU0kgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJub25pbW1lZGlhdGVfb3Bl cmFuZCIpKSldCi0gICJUQVJHRVRfQVZYNTEyVkwgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAg IlRBUkdFVF9BVlg1MTJWTCAmJiBUQVJHRVRfTU1YRlBfV0lUSF9TU0UiCiB7CiAgIHJ0eCBvcDEg PSBnZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwogICBydHggb3AwID0gZ2VuX3JlZ19ydHggKFY0U0lt b2RlKTsKQEAgLTE0NjMsNyArMTQ3NCw3IEBAIChkZWZpbmVfaW5zbiAibW14X2ZpeF90cnVuY3Yy c2Z2MnNpMiIKIChkZWZpbmVfZXhwYW5kICJmbG9hdHYyc2l2MnNmMiIKICAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VjJTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkoZmxvYXQ6VjJTRiAobWF0Y2hf b3BlcmFuZDpWMlNJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIikpKV0KLSAgIlRBUkdFVF9NTVhf V0lUSF9TU0UiCisgICJUQVJHRVRfTU1YRlBfV0lUSF9TU0UiCiB7CiAgIHJ0eCBvcDEgPSBnZW5f cmVnX3J0eCAoVjRTSW1vZGUpOwogICBydHggb3AwID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsK QEAgLTE0NzksNyArMTQ5MCw3IEBAIChkZWZpbmVfZXhwYW5kICJmbG9hdHYyc2l2MnNmMiIKIChk ZWZpbmVfZXhwYW5kICJmbG9hdHVuc3Yyc2l2MnNmMiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VjJTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkodW5zaWduZWRfZmxvYXQ6VjJTRiAobWF0Y2hf b3BlcmFuZDpWMlNJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIikpKV0KLSAgIlRBUkdFVF9BVlg1 MTJWTCAmJiBUQVJHRVRfTU1YX1dJVEhfU1NFIgorICAiVEFSR0VUX0FWWDUxMlZMICYmIFRBUkdF VF9NTVhGUF9XSVRIX1NTRSIKIHsKICAgcnR4IG9wMSA9IGdlbl9yZWdfcnR4IChWNFNJbW9kZSk7 CiAgIHJ0eCBvcDAgPSBnZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwpAQCAtMTc1Niw3ICsxNzY3LDcg QEAgKGRlZmluZV9leHBhbmQgInZlY19pbml0djJzZnNmIgogKGRlZmluZV9leHBhbmQgIm5lYXJi eWludHYyc2YyIgogICBbKG1hdGNoX29wZXJhbmQ6VjJTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikK ICAgIChtYXRjaF9vcGVyYW5kOlYyU0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiKV0KLSAgIlRB UkdFVF9TU0U0XzEgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0U0XzEgJiYg VEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AxID0gZ2VuX3JlZ19ydHggKFY0U0Zt b2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CkBAIC0xNzcyLDcgKzE3 ODMsNyBAQCAoZGVmaW5lX2V4cGFuZCAibmVhcmJ5aW50djJzZjIiCiAoZGVmaW5lX2V4cGFuZCAi cmludHYyc2YyIgogICBbKG1hdGNoX29wZXJhbmQ6VjJTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikK ICAgIChtYXRjaF9vcGVyYW5kOlYyU0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiKV0KLSAgIlRB UkdFVF9TU0U0XzEgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0U0XzEgJiYg VEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AxID0gZ2VuX3JlZ19ydHggKFY0U0Zt b2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CkBAIC0xNzg4LDggKzE3 OTksOCBAQCAoZGVmaW5lX2V4cGFuZCAicmludHYyc2YyIgogKGRlZmluZV9leHBhbmQgImxyaW50 djJzZnYyc2kyIgogICBbKG1hdGNoX29wZXJhbmQ6VjJTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikK ICAgIChtYXRjaF9vcGVyYW5kOlYyU0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiKV0KLSAiVEFS R0VUX1NTRTRfMSAmJiAhZmxhZ190cmFwcGluZ19tYXRoCi0gICYmIFRBUkdFVF9NTVhfV0lUSF9T U0UiCisgICJUQVJHRVRfU1NFNF8xICYmICFmbGFnX3RyYXBwaW5nX21hdGgKKyAgICYmIFRBUkdF VF9NTVhGUF9XSVRIX1NTRSIKIHsKICAgcnR4IG9wMSA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7 CiAgIHJ0eCBvcDAgPSBnZW5fcmVnX3J0eCAoVjRTSW1vZGUpOwpAQCAtMTgwNiw3ICsxODE3LDcg QEAgKGRlZmluZV9leHBhbmQgImNlaWx2MnNmMiIKICAgWyhtYXRjaF9vcGVyYW5kOlYyU0YgMCAi cmVnaXN0ZXJfb3BlcmFuZCIpCiAgICAobWF0Y2hfb3BlcmFuZDpWMlNGIDEgIm5vbmltbWVkaWF0 ZV9vcGVyYW5kIildCiAgICJUQVJHRVRfU1NFNF8xICYmICFmbGFnX3RyYXBwaW5nX21hdGgKLSAg ICYmIFRBUkdFVF9NTVhfV0lUSF9TU0UiCisgICAmJiBUQVJHRVRfTU1YRlBfV0lUSF9TU0UiCiB7 CiAgIHJ0eCBvcDEgPSBnZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwogICBydHggb3AwID0gZ2VuX3Jl Z19ydHggKFY0U0Ztb2RlKTsKQEAgLTE4MjIsOCArMTgzMyw4IEBAIChkZWZpbmVfZXhwYW5kICJj ZWlsdjJzZjIiCiAoZGVmaW5lX2V4cGFuZCAibGNlaWx2MnNmdjJzaTIiCiAgIFsobWF0Y2hfb3Bl cmFuZDpWMlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAx ICJub25pbW1lZGlhdGVfb3BlcmFuZCIpXQotICJUQVJHRVRfU1NFNF8xICYmICFmbGFnX3RyYXBw aW5nX21hdGgKLSAgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0U0XzEgJiYg IWZsYWdfdHJhcHBpbmdfbWF0aAorICAgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBy dHggb3AxID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4 IChWNFNJbW9kZSk7CkBAIC0xODQwLDcgKzE4NTEsNyBAQCAoZGVmaW5lX2V4cGFuZCAiZmxvb3J2 MnNmMiIKICAgWyhtYXRjaF9vcGVyYW5kOlYyU0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAgICAo bWF0Y2hfb3BlcmFuZDpWMlNGIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIildCiAgICJUQVJHRVRf U1NFNF8xICYmICFmbGFnX3RyYXBwaW5nX21hdGgKLSAgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIK KyAgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AxID0gZ2VuX3JlZ19ydHgg KFY0U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CkBAIC0xODU2 LDggKzE4NjcsOCBAQCAoZGVmaW5lX2V4cGFuZCAiZmxvb3J2MnNmMiIKIChkZWZpbmVfZXhwYW5k ICJsZmxvb3J2MnNmdjJzaTIiCiAgIFsobWF0Y2hfb3BlcmFuZDpWMlNJIDAgInJlZ2lzdGVyX29w ZXJhbmQiKQogICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJub25pbW1lZGlhdGVfb3BlcmFuZCIp XQotICJUQVJHRVRfU1NFNF8xICYmICFmbGFnX3RyYXBwaW5nX21hdGgKLSAgJiYgVEFSR0VUX01N WF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0U0XzEgJiYgIWZsYWdfdHJhcHBpbmdfbWF0aAorICAg JiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AxID0gZ2VuX3JlZ19ydHggKFY0 U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNJbW9kZSk7CkBAIC0xODc0LDcg KzE4ODUsNyBAQCAoZGVmaW5lX2V4cGFuZCAiYnRydW5jdjJzZjIiCiAgIFsobWF0Y2hfb3BlcmFu ZDpWMlNGIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJu b25pbW1lZGlhdGVfb3BlcmFuZCIpXQogICAiVEFSR0VUX1NTRTRfMSAmJiAhZmxhZ190cmFwcGlu Z19tYXRoCi0gICYmIFRBUkdFVF9NTVhfV0lUSF9TU0UiCisgICYmIFRBUkdFVF9NTVhGUF9XSVRI X1NTRSIKIHsKICAgcnR4IG9wMSA9IGdlbl9yZWdfcnR4IChWNFNGbW9kZSk7CiAgIHJ0eCBvcDAg PSBnZW5fcmVnX3J0eCAoVjRTRm1vZGUpOwpAQCAtMTg5MSw3ICsxOTAyLDcgQEAgKGRlZmluZV9l eHBhbmQgInJvdW5kdjJzZjIiCiAgIFsobWF0Y2hfb3BlcmFuZDpWMlNGIDAgInJlZ2lzdGVyX29w ZXJhbmQiKQogICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJub25pbW1lZGlhdGVfb3BlcmFuZCIp XQogICAiVEFSR0VUX1NTRTRfMSAmJiAhZmxhZ190cmFwcGluZ19tYXRoCi0gICAmJiBUQVJHRVRf TU1YX1dJVEhfU1NFIgorICAgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3Ax ID0gZ2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNG bW9kZSk7CkBAIC0xOTA3LDggKzE5MTgsOCBAQCAoZGVmaW5lX2V4cGFuZCAicm91bmR2MnNmMiIK IChkZWZpbmVfZXhwYW5kICJscm91bmR2MnNmdjJzaTIiCiAgIFsobWF0Y2hfb3BlcmFuZDpWMlNJ IDAgInJlZ2lzdGVyX29wZXJhbmQiKQogICAgKG1hdGNoX29wZXJhbmQ6VjJTRiAxICJub25pbW1l ZGlhdGVfb3BlcmFuZCIpXQotICJUQVJHRVRfU1NFNF8xICYmICFmbGFnX3RyYXBwaW5nX21hdGgK LSAgJiYgVEFSR0VUX01NWF9XSVRIX1NTRSIKKyAgIlRBUkdFVF9TU0U0XzEgJiYgIWZsYWdfdHJh cHBpbmdfbWF0aAorICAgJiYgVEFSR0VUX01NWEZQX1dJVEhfU1NFIgogewogICBydHggb3AxID0g Z2VuX3JlZ19ydHggKFY0U0Ztb2RlKTsKICAgcnR4IG9wMCA9IGdlbl9yZWdfcnR4IChWNFNJbW9k ZSk7Cg== --000000000000043d2d0601b9f190--