; RUN: llc -global-isel -stop-after irtranslator -mtriple aarch64-apple-ios %s -o - | FileCheck %s ; We use to incorrectly use the store size instead of the alloc size when ; creating the stack slot for allocas. This shows on aarch64 only when ; we allocated weirdly sized type. For instance, in that case, we used ; to allocate a slot of size 24-bit (19 rounded up to the next byte), ; whereas we really want to use a full 32-bit slot for this type. ; CHECK-LABEL: foo ; Check that the stack slot is 4-byte wide instead of the previously ; wrongly 3-byte sized slot. ; CHECK: stack: ; CHECK-NEXT: - { id: 0, name: stack_slot, type: default, offset: 0, size: 4, alignment: 4 define void @foo() { %stack_slot = alloca i19 call void @bar(i19* %stack_slot) ret void } declare void @bar(i19* %a)