https://bugs.llvm.org/show_bug.cgi?id=44405
Bug ID: 44405
Summary: [SystemZ] Backend emits an STRL to an unaligned
address
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: SystemZ
Assignee: unassignedb...@nondot.org
Reporter: pauls...@linux.vnet.ibm.com
CC: llvm-bugs@lists.llvm.org
Created attachment 22970
--> https://bugs.llvm.org/attachment.cgi?id=22970&action=edit
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?
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs