mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
faff37a910
Summary: This fixes a problem where a load from global+idx generated incorrect code on <=gfx7 when the index is divergent. Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D47383 Change-Id: Ib4d177d6254b1dd3f8ec0203fdddec94bd8bc5ed llvm-svn: 338779
14 lines
516 B
LLVM
14 lines
516 B
LLVM
; RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -stop-after=isel -o - %s | FileCheck -check-prefix=GCN %s
|
|
|
|
; Type legalization for illegal FP type results was dropping invariant
|
|
; and dereferenceable flags.
|
|
|
|
; GCN: BUFFER_LOAD_USHORT{{.*}} :: (dereferenceable invariant load 2 from %ir.ptr, addrspace 4)
|
|
define half @legalize_f16_load(half addrspace(4)* dereferenceable(4) %ptr) {
|
|
%load = load half, half addrspace(4)* %ptr, !invariant.load !0
|
|
%add = fadd half %load, 1.0
|
|
ret half %add
|
|
}
|
|
|
|
!0 = !{}
|