<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Helvetica Neue";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\.PingFang TC";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.gmail-m1250487065401118837gmail-p2, li.gmail-m1250487065401118837gmail-p2, div.gmail-m1250487065401118837gmail-p2
        {mso-style-name:gmail-m_1250487065401118837gmail-p2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.gmail-m1250487065401118837gmail-p3, li.gmail-m1250487065401118837gmail-p3, div.gmail-m1250487065401118837gmail-p3
        {mso-style-name:gmail-m_1250487065401118837gmail-p3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.gmail-m1250487065401118837gmail-apple-converted-space
        {mso-style-name:gmail-m_1250487065401118837gmail-apple-converted-space;}
p.gmail-m1250487065401118837gmail-p1, li.gmail-m1250487065401118837gmail-p1, div.gmail-m1250487065401118837gmail-p1
        {mso-style-name:gmail-m_1250487065401118837gmail-p1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.gmail-m1250487065401118837gmail-s1
        {mso-style-name:gmail-m_1250487065401118837gmail-s1;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">OK, I see now. The original email did not mention VLEN, so I assumed LMUL was VLEN. This makes sense.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I guess my original point about vscale being an integer still stands though. If VLEN / ELEN is computed using integer arithmetic, then the result rounded towards 0 is 0. Unless we make floating point vscale a thing, it should be impossible
 for vscale to be fractional.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> Roger Ferrer Ibáñez <rofirrim@gmail.com> <br>
<b>Sent:</b> Tuesday, April 7, 2020 11:26 AM<br>
<b>To:</b> Chris Tetreault <ctetreau@quicinc.com><br>
<b>Cc:</b> Kai Wang <kai.wang@sifive.com>; Roger Ferrer Ibanez <roger.ferrer@bsc.es>; llvm-dev@lists.llvm.org; rengolin@gmail.co; robin.kruppe@gmail.com<br>
<b>Subject:</b> [EXT] Re: [llvm-dev] Questions about vscale<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi Chris,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">vscale is constant in RISC-V as well. It doesn't change from instruction to instruction.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">There are two implementation parameters of the RISC-V V-extension called VLEN, the number of bits of a (base) vector register, and ELEN, the maximum width in bits of an element in a vector register (i.e. if ELEN=32 one can't operate vectors
 of i64 or f64). Ideally we'd want to make the compiler as oblivious as possible to these parameters as we can. VLEN itself is not that different to the SVE situation. ELEN is a bit different because it impacts what vector types are legal in the code generator,
 this in turns impacts other parts like the loop vectorizer.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It seems reasonable to make vscale = VLEN / ELEN.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In this model, assume ELEN=64, legal types include <vscale x 1 x i64> and <vscale x 2 x i32>. As the ISA stands now, it is not efficient to operate, still in ELEN=64, a value of type <vscale x 1 x i32> so it seems reasonable not to make
 them legal. However in ELEN=32, <vscale x 1 x i32> is a sensible thing.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">LMUL is a way that the ISA provides to operate groups of registers (which is useful in a number of cases I won't go into details here). There are 32 (base) vector registers (i.e. LMUL=1). LMUL=2 means grouping them in groups of two, LMUL=4
 in groups of 4 and so on, up to LMUL=8. So, under LMUL=2, there are 16 groups, twice the length of the base vector registers, under LMUL=4 there are 8 groups, four times the length of the base registers. The ISA allows using these groups as registers so they
 can be modelled as "super registers" of the base registers (or the opposite, base registers can be seen as subregisters of group registers).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Continuing with the model above (ELEN=64), an LMUL=2 group would be able to represent IR values of <vscale x 2 x i64> and <vscale x 4 x i32>. An LMUL=4 group can represent IR values of <vscale x 4 x i64>, <vscale x 8 x i32>, and so on.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Kai original question is related to the fact that vscale depends on ELEN and this has the effect that it impacts the legal types. So one modelling option is try to get rid of such dependence on ELEN and fix it, say, to 64. Under this approach,
 legal values would always be, regardless of ELEN, <vscale x 1 x i64>, <vscale x 2 x i32>. As Hannah has pointed in an earlier answer, this may lead to nonsensical (regardless of legalization) IR types.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hope this helps.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Kind regards,<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Missatge de Chris Tetreault via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> del dia dt., 7 d’abr. 2020 a les 18:39:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    Looking at the language reference, vscale is an integer. This might pose a problem for fractional vscale. Furthermore, I believe that vscale is constant throughout the life
 of the program; so if RISC-V vscale can vary from instruction to instruction that may also be problematic unless you can just commit to one specific value of vscale.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">   Also, I had a question about your table. Based on your description of how LMUL works, I’d expect that LMUL == vscale, and that each column in your table would be the same:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p2" style="margin:0in;margin-bottom:.0001pt">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545"> </span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int64_t | vscale x 1 x i64</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int32_t | vscale x 2 x i32</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int16_t | vscale x 4 x i16</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int8_t | vscale x 8 x i8<span class="gmail-m1250487065401118837gmail-apple-converted-space"> </span></span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">… which is basically equivalent to:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int64_t | LMUL x 1 x i64</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int32_t | LMUL x 2 x i32</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int16_t | LMUL x 4 x i16</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int8_t | LMUL x 8 x i8<span class="gmail-m1250487065401118837gmail-apple-converted-space"> </span></span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">… is this not the case?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">   Chris Tetreault<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Kai Wang via llvm-dev<br>
<b>Sent:</b> Tuesday, April 7, 2020 1:31 AM<br>
<b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Cc:</b> Roger Ferrer Ibanez <<a href="mailto:roger.ferrer@bsc.es" target="_blank">roger.ferrer@bsc.es</a>>;
<a href="mailto:rengolin@gmail.co" target="_blank">rengolin@gmail.co</a>; <a href="mailto:robin.kruppe@gmail.com" target="_blank">
robin.kruppe@gmail.com</a><br>
<b>Subject:</b> [EXT] [llvm-dev] Questions about vscale<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">Hi,</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545"> </span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">In RISC-V v-extension</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 operations could operate on a group of vector registers</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">;</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 we called it LMUL. If LMUL equals 2</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 it means we could operate on 2 vector registers at the same time. So</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 we have the following combinations of types.</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p2" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;min-height:14px">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545"> </span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545">         
</span></span><span style="font-size:9.0pt;font-family:"Courier New";color:#454545">LMUL = 1
<span class="gmail-m1250487065401118837gmail-apple-converted-space">          </span>
LMUL = 2<span class="gmail-m1250487065401118837gmail-apple-converted-space">           
</span>LMUL = 4<span class="gmail-m1250487065401118837gmail-apple-converted-space">           
</span>LMUL = 8</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int64_t | vscale x 1 x i64 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>2 x i64 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>4 x i64 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>8 x i64</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int32_t | vscale x 2 x i32 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>4 x i32 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>8 x i32 | vscale x 16 x i32</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int16_t | vscale x 4 x i16 | vscale x<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>8 x i16 | vscale x 16 x i16 | vscale x 32 x i16</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p3" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span class="gmail-m1250487065401118837gmail-apple-converted-space"><span style="font-size:9.0pt;font-family:"Courier New";color:#454545"> </span></span><span style="font-size:9.0pt;font-family:"Courier New";color:#454545">int8_t | vscale x 8 x i8<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>| vscale x 16 x i8<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>| vscale x 32 x i8<span class="gmail-m1250487065401118837gmail-apple-converted-space"> 
</span>| vscale x 64 x i8</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p2" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;min-height:14px">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545"> </span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">We have another architecture parameter</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 ELEN</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545"> which means the maximum
 size of a single vector element in bits.</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">We hope the type system could be consistent under ELEN = 32 and ELEN = 64. However</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 vscale may be a fractional value under ELEN = 32 in the above type system. When ELEN = 32</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 i64 is an invalid type (we could ignore the first row for ELEN = 32) and vscale may become 1/2 on run time to fit the architecture
</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">(</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">if the vector register only has
 32 bits</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">)</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">. Is there any problem
 to assume vscale to be fractional under some circumstances? vscale should be an unknown value when compiling. So</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">,</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">
 it should have no impact on code generation and optimization. The relationship between types is correct regardless vscale</span><span class="gmail-m1250487065401118837gmail-s1"><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">’</span></span><span style="font-size:9.0pt;font-family:"Helvetica Neue",serif;color:#454545">s
 value. Is there anything I missed</span><span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">?</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;color:#454545"> </span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">Thanks!</span><o:p></o:p></p>
<p class="gmail-m1250487065401118837gmail-p1" style="margin:0in;margin-bottom:.0001pt;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal">
<span style="font-size:9.0pt;font-family:".PingFang TC",serif;color:#454545">Hsiangkai</span><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<br>
-- <o:p></o:p></p>
<div>
<p class="MsoNormal">Roger Ferrer Ibáñez<o:p></o:p></p>
</div>
</div>
</body>
</html>