forked from OSchip/llvm-project
[Hexagon] Fix type in HexagonTargetLowering::ReplaceNodeResults
llvm-svn: 371083
This commit is contained in:
parent
f9f31ce6a9
commit
0ce93194fe
|
@ -2902,7 +2902,8 @@ HexagonTargetLowering::ReplaceNodeResults(SDNode *N,
|
|||
if (N->getValueType(0) == MVT::i8) {
|
||||
SDValue P = getInstr(Hexagon::C2_tfrpr, dl, MVT::i32,
|
||||
N->getOperand(0), DAG);
|
||||
Results.push_back(P);
|
||||
SDValue T = DAG.getAnyExtOrTrunc(P, dl, MVT::i8);
|
||||
Results.push_back(T);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
; RUN: llc -march=hexagon < %s | FileCheck %s
|
||||
; REQUIRES: asserts
|
||||
|
||||
; Check that this doesn't crash.
|
||||
; CHECK-LABEL: foo:
|
||||
; CHECK: p[[P:[0-3]]] = vcmpb.eq
|
||||
; CHECK: r[[R:[0-9]+]] = p[[P]]
|
||||
; CHECK: and(r[[R]],#32)
|
||||
|
||||
define i32 @foo(<8 x i8> %a0, <8 x i8> %a1) #0 {
|
||||
%v0 = icmp eq <8 x i8> %a0, %a1
|
||||
%v1 = bitcast <8 x i1> %v0 to i8
|
||||
%v2 = and i8 %v1, 32
|
||||
%v3 = zext i8 %v2 to i32
|
||||
ret i32 %v3
|
||||
}
|
||||
|
||||
attributes #0 = { readnone nounwind }
|
Loading…
Reference in New Issue