2017-03-01 07:27:33 +08:00
|
|
|
; RUN: llc -march=hexagon -hexbit-extract=0 < %s | FileCheck %s
|
2016-08-05 01:56:19 +08:00
|
|
|
|
|
|
|
; Make sure we don't generate zxtb to transfer a predicate register into
|
|
|
|
; a general purpose register.
|
|
|
|
|
|
|
|
; CHECK: r0 = p0
|
|
|
|
; CHECK-NOT: zxtb(p
|
2017-03-01 07:27:33 +08:00
|
|
|
; CHECK-NOT: and(p
|
|
|
|
; CHECK-NOT: extract(p
|
|
|
|
; CHECK-NOT: extractu(p
|
2016-08-05 01:56:19 +08:00
|
|
|
|
|
|
|
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 }
|