mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Mark i64 SETCC as expand so it is turned into a SELECT_CC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182227 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4dc8bdf87d
commit
900622e099
@ -1300,6 +1300,8 @@ SparcTargetLowering::SparcTargetLowering(TargetMachine &TM)
|
||||
setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
|
||||
|
||||
if (Subtarget->is64Bit()) {
|
||||
setOperationAction(ISD::SELECT, MVT::i64, Expand);
|
||||
setOperationAction(ISD::SETCC, MVT::i64, Expand);
|
||||
setOperationAction(ISD::BR_CC, MVT::i64, Custom);
|
||||
setOperationAction(ISD::SELECT_CC, MVT::i64, Custom);
|
||||
}
|
||||
|
@ -191,3 +191,13 @@ entry:
|
||||
}
|
||||
|
||||
declare void @g(i8*)
|
||||
|
||||
; CHECK: expand_setcc
|
||||
; CHECK: subcc %i0, 1,
|
||||
; CHECK: movl %xcc, 1,
|
||||
define i32 @expand_setcc(i64 %a) {
|
||||
%cond = icmp sle i64 %a, 0
|
||||
%cast2 = zext i1 %cond to i32
|
||||
%RV = sub i32 1, %cast2
|
||||
ret i32 %RV
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user