21 lines
429 B
LLVM
21 lines
429 B
LLVM
; RUN: opt -passes=licm -mtriple=amdgcn -S -o - %s | FileCheck %s
|
|
|
|
; CHECK-LABEL: foo
|
|
; CHECK: ret
|
|
define void @foo(ptr %d, ptr %s, i32 %idx) {
|
|
entry:
|
|
br label %for.body
|
|
|
|
for.body:
|
|
%v0 = load <1 x i32>, ptr %s
|
|
%v1 = bitcast <1 x i32> %v0 to <4 x i8>
|
|
br label %for.cond
|
|
|
|
for.cond:
|
|
%e0 = extractelement <4 x i8> %v1, i32 %idx
|
|
store i8 %e0, ptr %d
|
|
br i1 false, label %for.exit, label %for.body
|
|
|
|
for.exit:
|
|
ret void
|
|
}
|