Skip to content

Commit 3e0ccf9

Browse files
committed
[ARM] halfword store hits llvm_unreachable with big-endian
Summary: [ARM] halfword store hits llvm_unreachable with big-endian Provide missing case in getFixupKindContainerSizeBytes(). This stops execution reaching llvm_unreachable("Unknown fixup kind!") D83947 Reviewers: olista01, ostannard Reviewed By: ostannard Subscribers: ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83947 Change-Id: I598aa1fb51fd1c6f424c557c85d6df6d1958bc62
1 parent 1b7c9ea commit 3e0ccf9

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,6 +1010,7 @@ static unsigned getFixupKindContainerSizeBytes(unsigned Kind) {
10101010
case ARM::fixup_t2_condbranch:
10111011
case ARM::fixup_t2_uncondbranch:
10121012
case ARM::fixup_t2_pcrel_10:
1013+
case ARM::fixup_t2_pcrel_9:
10131014
case ARM::fixup_t2_adr_pcrel_12:
10141015
case ARM::fixup_arm_thumb_bl:
10151016
case ARM::fixup_arm_thumb_blx:

llvm/test/CodeGen/ARM/store_half.ll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
; RUN: llc < %s -mtriple=thumbebv8.2a-arm-none-eabi -mattr=+fullfp16 -filetype=obj -o /dev/null
2+
; RUN: llc < %s -mtriple=thumbv8.2a-arm-none-eabi -mattr=+fullfp16 -filetype=obj -o /dev/null
3+
; RUN: llc < %s -mtriple=armebv8.2a-arm-none-eabi -mattr=+fullfp16 -filetype=obj -o /dev/null
4+
; RUN: llc < %s -mtriple=armv8.2a-arm-none-eabi -mattr=+fullfp16 -filetype=obj -o /dev/null
5+
6+
define void @woah(half* %waythere) {
7+
store half 0xHE110, half* %waythere
8+
ret void
9+
}

0 commit comments

Comments
 (0)