| ; 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 } |