R600: Expand i64 SELECT_CC

llvm-svn: 208430
This commit is contained in:
Tom Stellard 2014-05-09 16:42:19 +00:00
parent afa8b532b1
commit a2acad785a
2 changed files with 21 additions and 0 deletions

View File

@ -202,6 +202,8 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) :
setOperationAction(ISD::BR_CC, MVT::i1, Expand); setOperationAction(ISD::BR_CC, MVT::i1, Expand);
setOperationAction(ISD::SELECT_CC, MVT::i64, Expand);
setOperationAction(ISD::FNEG, MVT::v2f32, Expand); setOperationAction(ISD::FNEG, MVT::v2f32, Expand);
setOperationAction(ISD::FNEG, MVT::v4f32, Expand); setOperationAction(ISD::FNEG, MVT::v4f32, Expand);

View File

@ -0,0 +1,19 @@
; RUN: llc -verify-machineinstrs -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
; RUN: llc -verify-machineinstrs -march=r600 -mcpu=SI < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s
; FUNC-LABEL: @selectcc_i64
; EG: XOR_INT
; EG: XOR_INT
; EG: OR_INT
; EG: CNDE_INT
; EG: CNDE_INT
; SI: V_CMP_EQ_I64
; SI: V_CNDMASK
; SI: V_CNDMASK
define void @selectcc_i64(i64 addrspace(1) * %out, i64 %lhs, i64 %rhs, i64 %true, i64 %false) {
entry:
%0 = icmp eq i64 %lhs, %rhs
%1 = select i1 %0, i64 %true, i64 %false
store i64 %1, i64 addrspace(1)* %out
ret void
}