<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Mar 2, 2016 at 11:35 AM, Dragomir Daniel <span dir="ltr">&lt;<a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    Hi Andrei,<div><div class="h5"><br>
    <br>
    <div>On 03/02/2016 02:17 AM, Andrei Gherzan
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div class="gmail_extra">Hi Daniel,<br>
          <br>
          <div class="gmail_quote">On Sat, Feb 27, 2016 at 1:44 PM,
            Daniel Dragomir <span dir="ltr">&lt;<a href="mailto:daniel.dragomir@windriver.com" target="_blank"></a><a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This
              patch adds tunes for 32-bit armv8 platforms. The user can
              select<br>
              the vector floating-point instruction set: vfpv3, vfpv4 or
              fp-armv8<br>
              and the Neon, crc and crypto extensions.<br>
              <br>
              Also, fix some parsing failures for armv7a*-neon-vfpv4
              tunes.<br>
              <br>
              Signed-off-by: Daniel Dragomir &lt;<a href="mailto:daniel.dragomir@windriver.com" target="_blank"></a><a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>&gt;<br>
              Signed-off-by: Cristian Bercaru &lt;cristian.bercaru at <a href="http://windriver.com" rel="noreferrer" target="_blank">windriver.com</a>&gt;<br>
              ---<br>
               meta/conf/machine/include/arm/arch-armv7a.inc |  4 +-<br>
               meta/conf/machine/include/arm/arch-armv8a.inc | 75
              +++++++++++++++++++++++++++<br>
               2 files changed, 77 insertions(+), 2 deletions(-)<br>
               create mode 100644
              meta/conf/machine/include/arm/arch-armv8a.inc<br>
              <br>
              diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc
              b/meta/conf/machine/include/arm/arch-armv7a.inc<br>
              index d3b6f64..ff6bc29 100644<br>
              --- a/meta/conf/machine/include/arm/arch-armv7a.inc<br>
              +++ b/meta/conf/machine/include/arm/arch-armv7a.inc<br>
              @@ -65,8 +65,8 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3
              = &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-v<br>
               PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16}
              armv7ahf-vfp-vfpv3d16-vfpv3 armv7at2hf-vfp-vfpv3d16-vfpv3&quot;<br>
               PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon&quot;<br>
               PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfp-neon
              armv7at2hf-vfp-neon&quot;<br>
              -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}
              armv7ahf-vfp-neon-vfpv4&quot;<br>
              -PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon}
              armv7ahf-vfp-neon-vfpv4 armv7at2hf-vfp-neon-vfpv4&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}
              armv7ahf-vfp-vfpv4-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon}
              armv7ahf-vfp-vfpv4-neon armv7at2hf-vfp-neon-vfpv4&quot;<br>
              <br>
               # Big Endian<br>
               AVAILTUNES += &quot;armv7ab armv7atb armv7ab-vfpv3d16
              armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3
              armv7ab-neon armv7atb-neon&quot;<br>
              diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc
              b/meta/conf/machine/include/arm/arch-armv8a.inc<br>
              new file mode 100644<br>
              index 0000000..2d8dd73<br>
              --- /dev/null<br>
              +++ b/meta/conf/machine/include/arm/arch-armv8a.inc<br>
              @@ -0,0 +1,75 @@<br>
              +DEFAULTTUNE ?= &quot;armv8a&quot;<br>
              +<br>
              +TUNEVALID[armv8a] = &quot;Enable instructions for ARMv8-a&quot;<br>
              +TUNECONFLICTS[armv8a] = &quot;armv4 armv5 armv6 armv7 armv7a&quot;<br>
              +<br>
              +TUNEVALID[crc] = &quot;Enable CRC instrucitons for ARMv8-a&quot;<br>
            </blockquote>
            <div><br>
            </div>
            <div>Small typo here: instrucitons .</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    Thanks! Didn&#39;t noticed :)<div><div class="h5"><br></div></div></div></blockquote><div><br></div><div>Welcome.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div><div class="h5">
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">+ARMPKGSFX_FPU
              .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;, &quot;crc&quot;, &quot;-crc&quot;,
              &quot;&quot;, d)}&quot;<br>
              +<br>
              +TUNEVALID[crypto] = &quot;Enable ARMv8 crypto extension.&quot;<br>
              +ARMPKGSFX_FPU .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;,
              &quot;crypto&quot;, &quot;-crypto&quot;, &quot;&quot;, d)}&quot;<br>
              +<br>
              +TUNEVALID[fp-armv8] = &quot;Enable ARMv8 Vector Floating Point
              unit.&quot;<br>
              +ARMPKGSFX_FPU .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;,
              &quot;fp-armv8&quot;, &quot;-fp-armv8&quot;, &quot;&quot;, d)}&quot;<br>
              +<br>
              +TUNE_CCARGS .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;,
              &quot;armv8a&quot;, bb.utils.contains(&quot;TUNE_FEATURES&quot;, &quot;crc&quot;, &quot;
              -march=armv8-a+crc&quot;, &quot; -march=armv8-a&quot;, d), &quot;&quot;, d)}&quot;<br>
              +<br>
              +TUNE_CCARGS .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;,
              &quot;fp-armv8&quot;, bb.utils.contains(&quot;TUNE_FEATURES&quot;, &quot;neon&quot;,
              bb.utils.contains(&quot;TUNE_FEATURES&quot;, &quot;crypto&quot;, &quot;
              -mfpu=crypto-neon-fp-armv8&quot;, &quot; -mfpu=neon-fp-armv8&quot;, d), &quot;
              -mfpu=fp-armv8&quot;, d), &quot;&quot;, d)}&quot;<br>
              +<br>
              +MACHINEOVERRIDES =.
              <a href="mailto:$%7B@bb.utils.contains(" target="_blank">&quot;${@bb.utils.contains(&quot;</a>TUNE_FEATURES&quot;, &quot;armv8a&quot;,
              &quot;armv8a:&quot;, &quot;&quot; ,d)}&quot;<br>
              +<br>
              +require conf/machine/include/arm/arch-armv7a.inc<br>
              +<br>
              +# Little Endian base configs<br>
              +AVAILTUNES += &quot;armv8a armv8a-vfpv3 armv8a-neon
              armv8a-vfpv4 armv8a-vfpv4-neon armv8a-fp-armv8
              armv8a-fp-armv8-neon armv8a-crypto-fp-armv8-neon&quot;<br>
              +ARMPKGARCH_tune-armv8a ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-vfpv3 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-vfpv4 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-vfpv4-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-fp-armv8 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-fp-armv8-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crypto-fp-armv8-neon ?= &quot;armv8a&quot;<br>
              +TUNE_FEATURES_tune-armv8a ?= &quot;arm armv8a vfp&quot;<br>
              +TUNE_FEATURES_tune-armv8a-vfpv3 ?=
              &quot;${TUNE_FEATURES_tune-armv8a} vfpv3&quot;<br>
              +TUNE_FEATURES_tune-armv8a-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a} neon&quot;<br>
              +TUNE_FEATURES_tune-armv8a-vfpv4 ?=
              &quot;${TUNE_FEATURES_tune-armv8a} vfpv4&quot;<br>
              +TUNE_FEATURES_tune-armv8a-vfpv4-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a} neon vfpv4&quot;<br>
              +TUNE_FEATURES_tune-armv8a-fp-armv8 ?=
              &quot;${TUNE_FEATURES_tune-armv8a} fp-armv8&quot;<br>
              +TUNE_FEATURES_tune-armv8a-fp-armv8-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a} neon fp-armv8&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a} crypto neon fp-armv8&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv8a armv8a-vfp&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-vfp-vfpv3&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3} armv8a-vfp-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3}
              armv8a-vfp-vfpv4&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4} armv8a-vfp-neon
              armv8a-vfp-vfpv4-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-fp-armv8-vfp&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8}
              armv8a-vfp-neon armv8a-fp-armv8-vfp-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto-fp-armv8-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon}
              armv8a-crypto-fp-armv8-vfp-neon&quot;<br>
              +<br>
              +# CRC configs<br>
              +AVAILTUNES += &quot;armv8a-crc armv8a-crc-vfpv3
              armv8a-crc-neon armv8a-crc-vfpv4 armv8a-crc-vfpv4-neon
              armv8a-crc-fp-armv8 armv8a-crc-fp-armv8-neon
              armv8a-crc-crypto-fp-armv8-neon&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-vfpv3 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-vfpv4 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-vfpv4-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-fp-armv8 ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-fp-armv8-neon ?= &quot;armv8a&quot;<br>
              +ARMPKGARCH_tune-armv8a-crc-crypto-fp-armv8-neon ?=
              &quot;armv8a&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc ?=
              &quot;${TUNE_FEATURES_tune-armv8a} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-vfpv3 ?=
              &quot;${TUNE_FEATURES_tune-armv8a-vfpv3} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a-neon} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-vfpv4 ?=
              &quot;${TUNE_FEATURES_tune-armv8a-vfpv4} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-vfpv4-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a-vfpv4-neon} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-fp-armv8 ?=
              &quot;${TUNE_FEATURES_tune-armv8a-fp-armv8} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-fp-armv8-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a-fp-armv8-neon} crc&quot;<br>
              +TUNE_FEATURES_tune-armv8a-crc-crypto-fp-armv8-neon ?=
              &quot;${TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon} crc&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc-vfp&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} armv8a-vfp-vfpv3
              armv8a-crc-vfp-vfpv3&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3}
              armv8a-vfp-neon armv8a-crc-vfp-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3}
              armv8a-vfp-vfpv4 armv8a-crc-vfp-vfpv4&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4}
              armv8a-vfp-neon armv8a-crc-vfp-neon armv8a-vfp-vfpv4-neon
              armv8a-crc-vfp-vfpv4-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8 =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc}
              armv8a-vfp-fp-armv8 armv8a-crc-fp-armv8-vfp&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8-neon =
              &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8}
              armv8a-vfp-neon armv8a-vfp-neon-fp-armv8
              armv8a-crc-fp-armv8-vfp-neon&quot;<br>
              +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto-fp-armv8-neon
              = &quot;${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8-neon}
              armv8a-vfp-crypto-neon-fp-armv8
              armv8a-crc-crypto-fp-armv8-vfp-neon&quot;<br>
              <span><font color="#888888"><br>
                </font></span></blockquote>
            <div><br>
            </div>
            <div>Any plans for 64 bit version?</div>
            <div><br>
            </div>
            <div>Andrei </div>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    Yes, we have plans to add specific tunes for armv8 64bit too, but
    after we finish for 32bit.<br>
    For the moment, for 64bit, we simply include arch-armv8.inc witch
    only require arch-arm64.inc.<br><br></div></blockquote><div><br></div><div>I am aware of those tunes but they don&#39;t include all the features. Thanks for the heads up. I was about to look into these but I&#39;ll wait for you to push it and will review. </div><div><br></div><div>Cheers!</div></div><br></div></div>