<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - [SystemZ] Backend emits an STRL to an unaligned address"
   href="https://bugs.llvm.org/show_bug.cgi?id=44405">44405</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[SystemZ]  Backend emits an STRL to an unaligned address
          </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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Backend: SystemZ
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>paulsson@linux.vnet.ibm.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=22970" name="attach_22970" title="reduced testcase">attachment 22970</a> <a href="attachment.cgi?id=22970&action=edit" title="reduced testcase">[details]</a></span>
reduced testcase

%0 = type <{ i16, i32 }>
@0 = global %0 <{ i16 0, i32 0 }>
define void @main()  {
bb:
  store i32 0, i32* getelementptr inbounds (%0, %0* @0, i64 0, i32 1)
  ret void
}

llc -O3 -mcpu=z10 ./tc_strl_unaligned.ll -o tc.s

=>

        .text
        .file   "tc_strl_unaligned.ll"
        .globl  main                    # -- Begin function main
        .p2align        4
        .type   main,@function
main:                                   # @main
        .cfi_startproc
# %bb.0:                                # %bb
        lhi     %r0, 0
        strl    %r0, __unnamed_1+2
        br      %r14
.Lfunc_end0:
        .size   main, .Lfunc_end0-main
        .cfi_endproc
                                        # -- End function
        .type   __unnamed_1,@object     # @0
        .section        .bss,"aw",@nobits
        .globl  __unnamed_1
        .p2align        1
__unnamed_1:
        .space  6
        .size   __unnamed_1, 6

This results in "Illegal instruction" if assembled and run. The STRL is not
aligned on a word boundary, which is the problem, right?</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>