<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <br>
    <div class="moz-cite-prefix">On 12/11/2015 01:29 PM, James Y Knight
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAA2zVHrkLv72AWhFMrvijA=rnymd6x+Hi_e9Ubshfz5kbbO0gA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">
          <div class="gmail_quote">On Fri, Dec 11, 2015 at 3:05 PM,
            Philip Reames via llvm-dev <span dir="ltr"><<a
                moz-do-not-send="true"
                href="mailto:llvm-dev@lists.llvm.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>></span>
            wrote:
            <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">
              <div text="#000000" bgcolor="#FFFFFF"><span>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div class="gmail_extra">
                        <div class="gmail_quote">
                          <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">One

                            open question I don't know the answer to:
                            Are there any special semantics required
                            from floating point stores which aren't met
                            by simply bitcasting their result to i32
                            (float) or i64 (double) and storing the
                            result?  In particular, I'm unsure of the
                            semantics around canonicalization here.  Are
                            there any? Same for loads?<br>
                          </blockquote>
                          <div><br>
                          </div>
                          <div>I'd go a bit further: should you also
                            support basic FP operations atomically? The
                            above C++ paper adds add/sub, and we've
                            discussed adding FMA as well.</div>
                        </div>
                      </div>
                    </div>
                  </blockquote>
                </span> Just to be clear, I assume you mean extending
                the atomicrmw, and cmpxchg instructions right?  I agree
                this is worth doing, but I'm purposely separating that
                into a possible later proposal.  I don't need this right
                now and keeping the work scoped reasonably is key to
                making progress.  </div>
            </blockquote>
            <div><br>
            </div>
            <div class="gmail_extra">It seems a unfortunate, and
              potentially problematic if llvm doesn't support, at least,
              "atomicrmw xchg" and "cmpxchg". If you support just those
              two additionally to load/store, it'll cover everything the
              C frontend actually needs to be able to do *now* with
              floating point atomics.</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">Atomic floating point math isn't
              actually a supported operation in C now, so it seems
              reasonable to leave the rest of the atomicrmw ops for a
              future design.</div>
          </div>
        </div>
      </div>
    </blockquote>
    I'm really not sure what you're trying to say here.  Your two
    paragraphs seem to contradict each other?<br>
    <br>
    For the record, I actually don't care about the C frontend at all. 
    If my work helps the clang, great, but that's not my goal.  Others
    can step up to push the changes through clang if they want to see
    the benefit there.  <br>
    <br>
    Philip<br>
    <br>
  </body>
</html>