bitcast.ll
436 Bytes
; RUN: opt -licm -mtriple=amdgcn -S -o - %s | FileCheck %s
; CHECK-LABEL: foo
; CHECK: ret
define void @foo(i8* %d, <1 x i32>* %s, i32 %idx) {
entry:
br label %for.body
for.body:
%v0 = load <1 x i32>, <1 x i32>* %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, i8* %d
br i1 false, label %for.exit, label %for.body
for.exit:
ret void
}