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
}