<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - WebAssembly pops a value multiple times"
   href="https://llvm.org/bugs/show_bug.cgi?id=25938">25938</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>WebAssembly pops a value multiple times
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Common Code Generator Code
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>alonzakai@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>A gcc torture test, 930930-1.c, ends up as

----
    .text
    .file   
"/b/build/slave/linux/build/src/buildbot/work/gcc/gcc/testsuite/gcc.c-torture/execute/930930-1.c"
    .globl    f
    .type    f,@function
f:                                      # @f
    .param      i32, i32, i32, i32, i32
    .result     i32
    .local      i32, i32
# BB#0:                                 # %entry
    i32.lt_u    $push1=, $3, $4
    copy_local    $6=, $0
    block       BB0_7
    br_if       $pop1, BB0_7
BB0_1:                                  # %if.end
                                        # =>This Inner Loop Header: Depth=1
    loop        BB0_5
    i32.load    $push0=, 0($3)
    i32.ge_u    $push2=, $pop0, $2
    block       BB0_4
    br_if       $pop2, BB0_4
# BB#2:                                 # %if.end
                                        #   in Loop: Header=BB0_1 Depth=1
    i32.lt_u    $push3=, $pop0, $1
    br_if       $pop3, BB0_4
# BB#3:                                 # %if.then3
                                        #   in Loop: Header=BB0_1 Depth=1
    i32.const    $5=, -4
    i32.add     $6=, $6, $5
    i32.store    $discard=, 0($6), $pop0
BB0_4:                                  # %if.end4
                                        #   in Loop: Header=BB0_1 Depth=1
    i32.const    $push4=, -4
    i32.add     $3=, $3, $pop4
    i32.ge_u    $push5=, $3, $4
    br_if       $pop5, BB0_1
BB0_5:                                  # %out
    i32.eq      $push6=, $6, $0
    br_if       $pop6, BB0_7
# BB#6:                                 # %if.then7
    call        abort
    unreachable
BB0_7:                                  # %if.end8
    return      $3
func_end0:
    .size    f, func_end0-f

    .globl    main
    .type    main,@function
main:                                   # @main
    .result     i32
    .local      i32
# BB#0:                                 # %f.exit
    i32.const    $0=, 0
    i32.const    $push0=, mem
    i32.store    $discard=, mem+396($0), $pop0
    call        exit, $0
    unreachable
func_end1:
    .size    main, func_end1-main

    .type    mem,@object             # @mem
    .bss
    .globl    mem
    .align    4
mem:
    .zero    400
    .size    mem, 400

    .type    wm_TR,@object           # @wm_TR
    .globl    wm_TR
    .align    2
wm_TR:
    .int32    0
    .size    wm_TR, 4

    .type    wm_HB,@object           # @wm_HB
    .globl    wm_HB
    .align    2
wm_HB:
    .int32    0
    .size    wm_HB, 4

    .type    wm_SPB,@object          # @wm_SPB
    .globl    wm_SPB
    .align    2
wm_SPB:
    .int32    0
    .size    wm_SPB, 4


    .ident    "clang version 3.8.0 "
    .section    ".note.GNU-stack","",@progbits
----

Note the multiple $pop0.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>