Compiler projects using llvm
; RUN: llc -march=hexagon -hexbit-extract=0 < %s | FileCheck %s

; Make sure we don't generate zxtb to transfer a predicate register into
; a general purpose register.

; CHECK: r0 = p0
; CHECK-NOT: zxtb(p
; CHECK-NOT: and(p
; CHECK-NOT: extract(p
; CHECK-NOT: extractu(p

target triple = "hexagon"

; Function Attrs: nounwind
define i32 @fred() local_unnamed_addr #0 {
entry:
  %0 = tail call i32 @llvm.hexagon.C4.and.and(i32 undef, i32 undef, i32 undef)
  ret i32 %0
}

declare i32 @llvm.hexagon.C4.and.and(i32, i32, i32) #1

attributes #0 = { nounwind "target-cpu"="hexagonv5" }
attributes #1 = { nounwind readnone }