Open
Description
This is a minimal test case that demonstrates the issue:
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv-vulkan1.3-unknown %s -o - | FileCheck %s
@bar = external addrspace(2) externally_initialized global i32
define void @foo() {
%load = load <4 x i8>, ptr addrspace(2) @bar, align 4
ret void
}
Loads (and probably stores) that are effectively the same size as the target variable require intermediate bitcasts.